文章目录
- 基础入门-概念名词
- 1、域名
- (1)什么是域名
- (2)域名在哪里注册
- (3)什么是二级域名多级域名
- (4)域名发现对于安全测试的意义?
- 2、DNS
- (1)什么是DNS
- (2)本地Hosts与DNS的关系?
- (3)CDN是什么?与DNS的关系?
- (4)常见的DNS安全攻击有哪些?
- 3、脚本语言
- (1)常见脚本语言有哪些?
- (2)不同脚本类型与安全漏洞的关系?
- (3)漏洞挖掘代码审计与脚本类型的关系?
- 4、后门
- (1)什么是后门?有哪些后门?
- (2)后门在安全测试中的实际意义?
- (3)关于后门需要了解那些?(玩法,免杀)
- 5、web
- (1)web的组成框架模型?
- (2) 架构漏洞安全测试的简要测试
- (3)为什么要从web界面为主
- 6、web相关漏洞
- 7、案例演示
- (1)多级域名的枚举查找
- (2) DNS解析修改后分析(本地或服务)
基础入门-概念名词
1、域名
(1)什么是域名
1、相当于网站的名字维基百科对域名的解释是:互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
2、网域名称系统(Domain Name System)有时也简称为域名(DNS),是互联网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的 IP 地址数据串。
(2)域名在哪里注册
1.Godaddy
2.Gandi
3.Hover
4.Namesilo
5.Namecheap
6.万网
7.阿里云
8.腾讯云
(3)什么是二级域名多级域名
1.顶级域名:又叫一级域名,一串字符串中间一个点隔开,例如baidu.com。顶级域名是互联网DNS等级之中的最高级的域,它保存于DNS根域的名字空间中。
2.二级域名:实际上就是一个一级域名以下的主机名,一串字符串中间两个“.”隔开,例如www.baidu.com。二级域名就是最靠近顶级域名左侧的字段。
3.三级域名:二级域名的子域名,特征是包含三个“.”,例如___.___.baidu.com...
上图中的news.baidu.com就是一级域名baidu.com下的子域名
inurl:news.baidu.com //可以通过该命令来查找url中含有news.baidu.com字符串的url来发现该域名的子域名
(4)域名发现对于安全测试的意义?
进行渗透测试时,其主域名找不到漏洞时,就可以尝试去测试收集到的子域名,有可能测试子域名网站时会有意向不到的效果,
然后可以由此横向到主网站。
上面就是一个网站的主站和其对应的子域名,主站没思路时可以考虑从旁站下手
2、DNS
(1)什么是DNS
域名系统(Domain Name System,DNS)是Internet上解决网上机器命名的一种系统。
就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,
TCP/IP中的IP地址是由四段以“.”分开的数字组成(此处以IPv4的地址为例,IPv6的地址同理),记起来总是不如名字那么方便,
所以,就采用了域名系统来管理名字和IP的对应关系。
ping www.xiaodi8.com //我们可以通过ping命令来查看域名其对应的IP地址,同时判断该网站是否在线
(2)本地Hosts与DNS的关系?
1.Hosts文件主要作用是定义IP地址和主机名的映射关系,是一个映射IP地址和主机名的规定。
2.Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
3.浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。
如何查看本地Hosts文件:
-
Win + R:打开运行输入drivers
-
输入:c:\windows\system32\drivers\etc
-
选择使用记事本或者Notepad、Vs Code 等编程软件打开
打开hosts文件后,我们修改其中IP地址与域名的对应关系为 1.2.3.4-----》 www.xiaodi8.com
这时候再用ping命令ping www.xiaodi8.com 发现其对应的解析IP发生了变化
(3)CDN是什么?与DNS的关系?
1.CDN的全称是Content DeliveryNetwork,即内容分发网络。
2.CDN的基本思路:是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
3.通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上(单纯只使用DNS解析,直接PING就会显示出自己的真实IP,如果又使用CDN,PING出来的IP就不是用户的真实IP而是CDN服务器的IP节点。需要绕过CDN后去找真实IP地址。
4.使用CDN的目的:是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
通过ping www.youku.com 发现其解析IP地址为106.11.209.3,而通过超级ping该地址发现其域名对应多个IP地址,说明该域名采用了CDN技术
通过超级ping网站https://ping.chinaz.com/youku.com就可以看到CDN的解析情况
(4)常见的DNS安全攻击有哪些?
- DDOS
DDoS攻击也叫做分布式拒绝服务攻击,可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用。攻击者可以伪造自己的DNS服务器地址,同时发送大量请求给其他服务器。其他服务器的回复会被发送到被伪造服务器的真实地址,造成该服务器无法处理请求而崩溃。攻击者同样可以通过利用DNS协议中存在的漏洞,恶意创造一个载荷过大的请求,造成目标DNS服务器崩溃。
- DNS缓存中毒:
DNS缓存中毒攻击者给DNS服务器注入非法网络域名地址,如果服务器接受这个非法地址,那说明其缓存就被攻击了,而且以后响应的域名请求将会受黑客所控。当这些非法地址进入服务器缓存,用户的浏览器或者邮件服务器就会自动跳转到DNS指定的地址。这种攻击往往被归类为域欺骗攻击(pharming attack),由此它会导致出现很多严重问题。首先,用户往往会以为登陆的是自己熟悉的网站,而它们却并不是。与钓鱼攻击采用非法URL不同的是,这种攻击使用的是合法的URL地址。
- 域名劫持(DNS重定向):
域名劫持是通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。域名劫持一方面可能影响用户的上网体验,用户被引到假冒的网站进而无法正常浏览网页,而用户量较大的网站域名被劫持后恶劣影响会不断扩大;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。
- DNS查询嗅探:
攻击者主要利用对DNS的配置信息获取网络环境的信息,为之后的攻击做好的准备。
针对这些情况,我们需要对DNS服务器需要采取特别的安全保护措施,在防火墙网络中,分开设置内部DNS服务器和外部DNS服务器,连接外部服务的外部DNS服务器上不留有对外禁止访问的内部网络系统的服务器,做到内外网络服务器分割。
- ARP欺骗:
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP病毒,则感染该ARP病毒的系统将会试图通过”ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP欺骗通常是在用户局网中,造成用户访问域名的错误指向。如果IDC机房也被ARP病毒入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,以使访问导向错误指向的情况。
- 本机劫持:
本机的计算机系统被木马或流氓软件感染后,也可能会出现部分域名的访问异常。
3、脚本语言
(1)常见脚本语言有哪些?
一种介乎于 HTML 和诸如 JAVA 、 Visual Basic 、 C++ 等编程语言之间的一种特殊的语言。
尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。
常见的脚本语言有:Python、JavaScript、Asp (逐渐淘汰,基本都是小站点在使用)、Aspx、Php (目前比较流行)javaweb、 pl、cgi等
(2)不同脚本类型与安全漏洞的关系?
- 不同的脚本语言的编写规则不一样,程序产生的漏洞自然也不一样(代码审计)。
(3)漏洞挖掘代码审计与脚本类型的关系?
- 漏洞挖掘代码审计:要熟悉相关代码和相关逻辑机制
4、后门
(1)什么是后门?有哪些后门?
在信息安全领域,后门是指绕过安全控制而获取对程序或系统访问权的方法。
后门的最主要目的就是方便以后再次秘密进入或者控制系统。
后门的分类
1.网页后门 :
此类后门程序一般都是服务器上正常 的web服务来构造自己的连接方式,比如现在非常流行的ASP、cgi脚本后门等。
2.线程插入后门:
利用系统自身的某个服务或者线程,将后门程序插入到其中,具体原理原来《黑客防线》曾具体讲解过,感兴趣的朋友可以查阅。
这也是现在最流行的一个后门技术。
3.扩展后门:
所谓的“扩展”,是指在功能上有大的提升,比普通的单一功能的后门有很强的使用性,这种后门本身就相当于一个小的安全工具包,
能实现非常多的常驻见安全功能,适合新手使用————但是,功能越强,个人觉得反而脱郭后门“隐蔽”的初衷,具体看法就看各位使用都的喜好了
4.C/S后门(客户端服务器后门):
和传统的木马程序类似的控制方法,采用“客记端/服务端”的控制方式,通过某种特定的访问方式来启动后门进而控制服务器。
(2)后门在安全测试中的实际意义?
方便下次更方便的进来。
获取到相关权限之后,后门相当于一个管道,便于操作。
即使管理员通过改变所有密码之类的方法来提高安全性,仍然能再次侵入,使再次侵入被发现的可能性减至最低。
大多数后门设法躲过日志,大多数情况下即使入侵者正在使用系统也无法显示他已在线。
(3)关于后门需要了解那些?(玩法,免杀)
玩法(创建后门之后我们可以怎么样操作?)
网站后门:便于控制网站
软件后门:用于控制
服务器后门:可以进行脱库、盗取信息
免杀技术全称为反杀毒技术Anti Anti-Virus简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。
由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。
其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
后门需要掌握的核心技能,防止杀毒软件检查到
5、web
(1)web的组成框架模型?
- WEB的组成框架模型:网站原码、操作系统、中间件(搭建平台,提供服务的)、数据库。
(2) 架构漏洞安全测试的简要测试
通信层
主要测试通信协议的安全,系统开放的端口,其中操作系统提供网络层和数据链路层协议,存在问题的可能性较小,
一般关注开源协议已存在漏洞即可,无需重点关注。应用层服务与协议一般由产品形态决定,产品中可以自定义配置相关协议与参数,
需要重点关注与测试。
应用层
应用层包含开发人员开发代码,为整个安全测试的核心模块。主要包括web安全测试,源码安全测试。其中web安全测试从web访问服务的维度,
偏向黑盒,进行安全测试。源码安全测试从代码的维度,偏向白盒,进行安全测试。
系统层
主要测试操作系统安全,数据库服务安全,web服务器安全,以及其他一些中间件的安全。
管理层
主要包括产品资料的安全测试,安全策略制定,协调各个层面的安全测试以及安全风险的整体评估。
(3)为什么要从web界面为主
因为web使用方面广 。从WEB方向先入手,一步一步的获取最高权限。
6、web相关漏洞
7、案例演示
(1)多级域名的枚举查找
直接在百度搜索框搜索该域名便可以找到该域名对应的子域名
或者采用inurl:youku.com 来搜索youku.com的子域名
或者采用现成的工具子域名挖掘机来实现多级域名的查找。附赠子域名挖掘机的下载地址:
- layer子域名探测
链接:https://pan.baidu.com/s/1YFu9V0WtdG905eaVFNFa0A
提取码:zkaq
(2) DNS解析修改后分析(本地或服务)
首先通过超级ping工具判断www.itsecgames.com网站是没有CDN服务的,只有一个唯一的解析IP
设置DNS服务器地址为114.114.114.114
然后ping www.itsecgames.com 显示的IP地址是31.3.96.40
之后将DNS服务器IP设置为8.8.8.8
运行ipconfig /flushdns 命令来刷新DNS缓存后 再次ping该网站发现解析得到的IP地址并没有发生变化
所以对于没有采用CDN服务的网站来说,不管使用怎样的DNS服务器解析得到的IP地址都会是一样的,
而对于采用了CDN服务的网站,每次解析得到的IP地址都会不同