一、域名系统(DNS)
域名系统DNS是Internet上使用的命名系统,用于将系统名称转换为人们易于使用的IP地址。域名系统是基于互联网的前身ARPANET开发的,在ARPANET时代,主机名和对应的IP地址是通过HOST.TXT文件集中管理的,但是随着网络的发展,流量负载也越来越大。方法与方法、域名冲突等问题为了解决这些问题,域名系统的作用越来越突出。域名系统实际上是一个名称系统。在互联网上与主机通信时,用户显然不愿意使用难以记住的32位二进制主机地址。即使是点分十进制IP地址也不容易获得。记住。因此,用户希望使用易于记忆的主机名。
1.DNS安全性分析
DNS协议是保证使用域名服务的用户正常通信的基础,DNS协议在设计上为了追求运行效率而忽略了协议的安全性。首先,完整的域名解析过程涉及到一组域名服务器,它们仅仅是信任关系。这是因为域名解析返回的查询结果正确性的前提是所有参与解析的域名服务器都提供正确的响应,并且所有的域名服务器都假设返回的结果是更高级别的。域名服务器正确,数据在传输过程中没有被恶意修改。其实这个简单的信任模型是非常脆弱的,所以如果在解析过程中修改了域名服务器上的信息或者域名服务器受到攻击,返回给客户端的查询结果就会不准确,这肯定会对用户造成影响。
其次,DNS协议没有正确的认证机制。 DNS协议支持UDP和TCP,端口号为53。但是,在大多数情况下,DNS数据报是通过UDP
发送的,因此不需要三向握手和连接来加速数据传输。然而,为了追求DNS数据传输速度,数据的准确性还没有得到验证。 DNS
客户端可以确定查询结果是否正确的唯一方法是比较查询数据报和响应数据报的相同序列号。如果不是,则丢弃响应数据报。这种身份验证方法非常不可靠。例如,通过监控网络上的数据,提取DNS查询请求,根据请求数据报中的序列号向客户端发送伪造的数据包,客户端判断响应数据报是否正确。所以在这种情况下,如果伪造的响应数据包在实际数据包之前到达客户端,客户端就会认为响应数据报是正确的。因此,这些DNS协议中存在的安全漏洞很容易被攻击者利用,发起DNS欺骗攻击,在攻击者预期的网站上定位用户,对用户的合法网站访问产生一定的影响。
此外,DNS协议的无状态性对DNS系统的安全构成了一定的威胁。所谓无状态是指DNS
协议没有用于事务处理的内存容量。随着客户不断查询同一个域名,DNS服务器不断响应查询请求,不会中断服务。如上所述,DNS服务器没有正确的认证机制,如果你控制了很多客户端,并使用这些客户端不断向DNS服务器发送虚假的域名查询请求,DNS服务器将继续匹配域名中的字符.快速消耗DNS服务器的可用资源,造成DNS服务器拥塞,造成严重的拒绝服务攻击,用户无法正常浏览网页。
2.DNS常见攻击方式介绍
2.1 DNS Query Flood攻击
DNS Query Flood攻击本质上是一种UDP泛洪攻击,属于拒绝服务攻击的范畴。这是因为对当前网络层的攻击得到了很好的解决。
DNS协议位于UDP协议之上,简单地说,协议越高,涉及的工作量越大,防御系统也越复杂。并且由于DNS服务器的不可替代性,一旦DNS服务器瘫痪,攻击通常很严重。因此,近期针对DNS服务器的DNS
QueryFlood攻击频繁发生。
2.2 DNS欺骗攻击
DNS查询请求数据报和响应数据报通过DNS消息中的ID标识号进行匹配,这也是DNS
数据报验证响应数据报有效的唯一方式。在域名解析过程中,客户端使用特定的标识号向DNS服务器发送域名查询请求数据报。当DNS服务器找到要解析的域名对应的IP地址时,DNS服务器将查询结果发送给具有相同ID标识号的客户端,客户端收到响应数据报后,查询数据报首先由对应的数据报标识,与的ID标识号进行比较。如果相等,则客户端接受响应数据报并进行下一步,否则客户端直接丢弃响应数据报并继续向DNS服务器发送查询请求。利用查询-
响应原理,攻击者可以监听网络上的DNS数据,从DNS查询数据报中提取ID标识号,并根据该ID标识号伪造DNS响应数据报文返回给DNS服务器。客户。只要伪造的数据报在正确的响应数据报之前到达客户端,这个技巧就可以成功。这是最简单、最有效的DNS
欺骗攻击方法。
2.3 DNS反弹服务器攻击
反弹服务器攻击原本是一种针对网络层的攻击方式,但反弹服务器攻击通过省略入侵代理主机的步骤加快了攻击速度。反弹服务器攻击使用一组反弹服务器将所有数据包反弹到攻击目标。
DNS
服务器可用作反弹服务器。由于DNS查询请求报文和响应数据报文的大小比较大,基于DNS服务器的反弹攻击流量放大效应较大。最初的协议规定UDP报文的最大长度为512字节,但随着互联网的飞速发展,为支持DNS系统的扩展,域名服务器对特殊查询请求报文返回的响应报文长度可能大于512字节,研究根据,当服务器收到请求空间服务ENDS的查询请求报文时,其生成的响应数据报文长度相应增加,如果有64字节的查询请求,则可以生成超过4000
字节消息的响应消息。由于以太网MTU的限制,响应报文被拆分为3 个IP数据包在网络上传输,流量放大率为1:73。
3.Ettercap嗅探工具
Ettercap最初是一个“拥挤”的交换局域网嗅探器,但技术的进步使Ettercap
在开发过程中获得了越来越多的功能,成功地将其转变为强大而灵活的中间人攻击工具。角色。它支持许多协议的主动和被动分析,包括加密协议,并包括用于Internet
和用户计算机分析的功能。
有两种主要的嗅探选项:
(1)UNIFIED模式(中间人嗅探):同时欺骗A和B,在两者之间发送一个数据包给第三方C分析数据包,窃取原本只从A那里获取的信息和B,然后C
将它传递给目标did。这样,C就充当了中介。
(2)BRIDGED模式(双网卡情况下嗅探两个网卡之间的数据包):比如你的电脑有两个网卡:一个无线网卡和一个有线网卡。通过将有线网卡的网络连接共享给无线网卡,电脑就变成了无线AP。来自无线网卡的所有数据流量都发送到有线网卡。所以BRIDGED
方法嗅探的是两个网卡之间的数据包。本文中描述的DNS欺骗攻击使用UNIFIED方法。
##二、 DNS欺骗攻击实战
Ettercap包含一个DNS插件,这使得它非常容易用于测试DNS欺骗。在Kali
Linux中输入ipconfig命令查看机器IP地址,进入etc/Ettercap目录,编辑etter.dns文件,在终端输入/etc/init.d/apachhe2start命令启动web服务器。然后启动ettercap图形界面,完成各种配置。最后测试一下效果。如果在指定IP电脑上输入原网址,就可以进入黑客创建的网站,随意访问其他网站。显示所有无法访问的网页。
1. 获取目标主机的 IP 地址
事实上,黑客主要是利用社会工程来获取目标主机的IP地址,这是一种利用人为弱点通过通信获取有价值信息的非技术渗透手段,是对企业安全的最大威胁之一。威胁在于隐蔽,有时在与人交流时,会暴露出一条或多条信息,例如用户名、手机号码等看似无关紧要的信息,让黑客可以通过社会工程获取互联网上的一切。有信息的痕迹。有四种主要的社会工程攻击方式。
(1) 冒名顶替:复制网址,伪装成与网站界面相同的网页,用户打开网站后即可完成预定任务。
(2) 报答真相:双方通过利益交换来交易自己的需求,骗子每次都提供更多的利润,从而诱使对方在后续的攻击中提供帮助。
(3)被异性吸引:利用情绪从诡计中获取信息。
(4)许以利益:利用人性的贪婪,诱使他们点击链接等方式获取信息。
2. 进行 Ettercap 图形界面的攻击
2.1 编辑 Ettercap 所使用的 DNS 配置文件并打开 Ettercap 图形化界面。
leafpad /etc/ettercap/etter.dns //通过Leafpad打开配置文件修改
DNS配置文件
- A 211.80.208.5 //在www.linux.org下增加一条记录,使所有网站都映射到此IP地址ettercap -G //打开Ettercap图形化界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-60l93iv1-1691583971052)(https://image.3001.net/images/20220817/1660698167_62fc3e37b5673a5732151.png!small)]
2.2 选择工作网卡
选择Sniff一栏下的Unified sniffing进行工作网卡的选择(默认选择eth0,如果有无线网卡,则可以选择wlan0)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JO2OGpTZ-1691583971053)(https://image.3001.net/images/20220817/1660698208_62fc3e600a33be513a0cf.png!small)]
2.3 扫描并显示主机列表
在Hosts下选择Scan for hosts开始扫描主机,出现5 host added to the hosts
list表示扫描出5个地址,然后选择Hosts选项下的Hosts list显示扫描主机列表。
2.4 添加目标主机 IP 地址
选择要添加的主机地址,点击 Add to Target 1 添加被攻击目标主机,显示 Host 192.168.226.137 added to
TARGET 表示添加成功。
2.5 选择APR毒化攻击
选择Mitm选项下的ARP poisoning,再在弹出的选项框中选择Sniff remote connections 进行ARP毒化攻击。
2.6 选择DNS欺骗攻击,并启动攻击
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tbGLPiwx-1691583971054)(https://image.3001.net/images/20220817/1660698228_62fc3e749d28c885e1f08.png!small)]
选择Plugins选项下的Manage the liugins,再在弹出的Pliugins界面中选择dns_spoof,点击Start选项下的Start
sniffing开始DNS欺骗攻击。
2.7 检验攻击效果
在目标主机上面访问www.baidu.com,跳转到了前面映射的网站211.80.208.5。
2.8 停止攻击
选择 Start 选项下的 Stop sniffing 停止 DNS 欺骗攻击;显示 Unified sniffing was stopped 表示已停止
DNS 欺骗攻击;停止攻击后用户上网恢复正常;ipconfig /flushdns //Windows 系统清除 DNS 缓存。
3.DNS 欺骗攻击防御方法1. 从社会工程学角度出发,不轻易相信他人,坚信天上不可能掉馅饼。2. 保护自己的网络设备,如果自己的网络设备很安全,那么就很难被木马所感染。3. 鉴于DNS欺骗攻击原理,即改变DNS服务器当中的IP地址来实现欺骗攻击,我们可以尝试绑定DNS服务器中的IP地址以及网卡的MAC地址,然后通过得到的DNS服务器应答数据来判断是否为真。
网络设备很安全,那么就很难被木马所感染。3. 鉴于DNS欺骗攻击原理,即改变DNS服务器当中的IP地址来实现欺骗攻击,我们可以尝试绑定DNS服务器中的IP地址以及网卡的MAC地址,然后通过得到的DNS服务器应答数据来判断是否为真。
最后
分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取
有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:
高清学习路线图或XMIND文件(点击下载原文件)
还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】