201099133 2019-2020-2 《网络攻防实践》第五周作业

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

201099133 2019-2020-2 《网络攻防实践》第五周作业

dky张森民   2020-04-01 我要评论
| 这个作业属于哪个课程 |[《网络攻防实践》](https://edu.cnblogs.com/campus/besti/19attackdefense)| |:------------------:|:-------------------------------------------------:| |这个作业的要求在哪里|[网络攻防第五周作业](https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553)| |我在这个课程的目标是|学习TCP/IP协议中网络层和传输层的攻击,包括技术原理、具体过程和防范措施| |这个作业在哪个具体方面帮助我实现目标|实践ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击和TCP会话劫持攻击| |作业正文|见作业| |其他参考文献| 见文末 | ## 一.实践内容 ### (一)网络层协议攻击 网络层主要协议如IP、ICMP和ARP都存在多种攻击方式。 ##### 1.IP源地址欺骗 是指攻击者伪造具有虚假地址的IP数据包进行发送,已达到隐藏发送者身份、假冒其他计算机的目的。 ##### 2.ARP欺骗 是指攻击者在以太网或无线网上发送伪造的ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。 (1)原理:ARP协议将主机的IP地址解析成其MAC地址,然后在局域网内通过MAC地址进行通信。 ARP协议在进行查询时存在安全缺陷,一方面采用广播请求的方式询问映射,但没有对询问的信息做安全性验证;另一方面设计了ARP缓存机制,会将主动的ARP应答作为有效信息记录。 实施ARP欺骗的过程如下图所示:源节点A会在局域网广播询问节点B的IP地址所映射的MAC地址;攻击节点C会说自己的MAC地址就对应节点B的IP地址,并源源不断发送响应包给A;源节点A就保存了错误的IP地址和MAC的映射关系;当A要再次发包给B时,它不再播询问,而是将包直接发给了C。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200330214023441-594455503.png) (2)攻击工具:Netwox中的33号工具可构造任意以太网的ARP数据包,80号工具可周期性发送ARP应答包。 (3)防范措施:静态绑定关键主机的IP地址与MAC地址的映射关系、使用ARP防范工具,加密传输数据。 ##### 3.ICMP重定向攻击 是指攻击者伪装成路由器发送虚假的ICMP路径路由控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。 - (1)ICMP路由重定向攻击技术:攻击节点利用IP源地址欺骗技术,冒充网关地址,向被攻击节点发送ICMP报文;被攻击节点选择新路由IP地址为新路由器;攻击节点可以开启路由转发,对被攻击节点全程监听。过程如下图。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200330224324468-865052638.png) - (2)工具:利用Netwox进行ICMP路由重定向攻击 - (3)防范措施:设置防火墙过滤,判断ICMP报文是否来自本地路由器等。 #### (二)传输层协议攻击 ##### 1.TCP RST攻击 是一种假冒干扰TCP通信连接的技术方法。TCP协议头中有一个“reset”比特位,绝大部分数据包该位为0,一旦该位为0,则接受数据包的主机将断开此TCP连接。如图,攻击者嗅探到A、B之间的IP地址及端口号后,即可关闭这个连接。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200330230403769-2137736406.png) - Network工具可以选择编号为78的“Rest every TCP packet”工具来实现TCP RST攻击。 ##### 2.TCP会话劫持攻击 目标是劫持通信双方的TCP会话连接,假冒其中一方的身份与另一方进行通信。 - 攻击过程如下图所示,攻击者通过ARP欺骗实施中间人攻击,可嗅探得Victim和talent之间的会话内容,然后假冒其victim的IP地址及身份,与talent会话;发送的数据包必须满足条件SVR_ACK<=CLT_SEQ<=SVR_ACK+SVR_WND。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200330230919549-2034469917.png) - 防范措施:禁用主机上的原路由,静态绑定IP-MAC映射表、引用和过滤ICMP重定向报文。 ##### 3.TCP SYN Flood拒绝服务攻击(DOS) SYN泛洪攻击利用TCP三次握手的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,从而导致目标主机连接列队资源消耗而不能提供服务。 - 攻击原理:攻击主机向受害主机发送大量报文,受害机必须要分配资源并且向源地址返回SYN/ACK包,还要等待源端返回ACK包。当半开的列队填满时,服务器就会拒绝新的连接,最终使受害主机拒绝服务。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200330233611795-254841480.png) - 工具:Netwox软件,选择编号为76的“Synflood”工具并输入目标地址,攻击机即开始执行攻击。 - 防范措施:SYN-Cookie技术;防火墙地址状态监控技术。 ## 二.实践过程 ### (一)ARP欺骗攻击 | 虚拟机 |IP地址| |:------------------:|:-------------------------------------------------:| |SEED_Ubuntu|192.168.200.3| |metasploitable| 192.168.200.5 | |密网|[192.168.200.8| 我们选用SEED_Ubuntu作为攻击机,Metasploitable2(Linux)作为靶机A和密网honey作为靶机B,通过netwox的33号工具进行改写。 - 首先在SEED里获取root权限,输入```ifconfig```查看IP地址和MAC地址为```192.168.200.3```、```00:0c:29:ea:f9:4a```。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331154631208-778587070.png) - 输入arp查看靶机A的IP地址和MAC地址:```192.168.200.5```、```00:0c:29:84:67:e8```。靶机B的IP地址为```192.168.200.3```,```00:0c:29:aa:fb:f3``` ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331155308203-319665963.png) - 在攻击机中输入```netwox 33 -b 00:0c:29:84:67:e8 -g 192.168.200.8 -h 00:0c:29:84:67:e8 -i 192.168.200.5``` ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331160511701-870780266.png) ### (二)实践ICMP重定向攻击 | 虚拟机 |IP地址| |:------------------:|:-------------------------------------------------:| |SEED_Ubuntu|192.168.200.3| |Windowsattacker|[192.168.200.4| - 首先开启IP路由转发,输入```echo 1 >/proc/sys/net/ipv4/ip_forward```。防止攻击时断网。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401115959968-1538234269.png) - 在靶机A中输入```route print```查看路由表,可以看到目前网关是```192.168.200.1``` ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401120704253-44970055.png) - 在攻击机中输入```netwox 86 -f "host 192.168.200.4 " -g 192.168.200.3 -i 192.168.200.1``` ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401121007720-1817416925.png) - 打开wireshark,可以看到攻击机冒充路由给靶机发送了大量的ICMP报文。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401121320026-20779778.png) - 点击靶机发送的一个TCP报文,可以发现在连接外网时,首先连接到了攻击机上面。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401122236115-241903359.png) ### (三)SYN Flood攻击 | 虚拟机 |IP地址| |:------------------:|:-------------------------------------------------:| |SEED_Ubuntu|192.168.200.3| | windowsXPattacker | 192.168.200.4 | - 攻击机为SEED_Ubuntu,靶机为windowsXPattacker```192.168.200.4```。 - 攻击前,靶机windowsXPattacker上网能正常反应。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331204118728-544416078.png) - 在Netwox软件中输入```netwox 76 -i "192.168.200.4" -p 23```。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401114933494-921704997.png) - 打开wireshark,发现攻击机向靶机发送大量虚拟[SYN]报文。靶机中在此上网也不能成功。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401114816985-379980803.png) ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401115123497-641822818.png) ### (四)TCP RST攻击 | 虚拟机 |IP地址| |:------------------:|:-------------------------------------------------:| |Windowsattacker|[192.168.200.4| |SEED_Ubuntu|192.168.200.3| | kali | 192.168.200.2 | - kali为攻击机,在Windowsattacker与SEED之间建立telnet通信,输入```telnet 192.168.200.3``` ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401002452717-1101759300.png) - 在kali中打开wireshark抓包,可看到两个目标是联通的。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401002926662-1282316063.png) - 然后输入命令```netwox 78 -i 192.168.200.4```,可发现连接断开了。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401004852161-269498599.png) ### (五)TCP会话劫持攻击 | 虚拟机 |IP地址| |:------------------:|:-------------------------------------------------:| |Windowsattacker|[192.168.200.4| |SEED_Ubuntu|192.168.200.3| | kali | 192.168.200.2 | - 攻击机kali,劫持Windowsattacker与SEED之间的连接;在Windowsattacker登录```telnet 192.168.200.3```,账号密码:seed、dees;kali打开wireshark可监测连接正常。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331213839826-171874232.png) - 远程提升至root权限。 - 再次回到kali的wireshark界面, 纪录192.168.200.5发送的最后一个ACK包对应的源端口、目的端口、sequence number(raw)、Acknowledgement number(raw)。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331220035417-1988404841.png) - seqnum是我发送包的序号,ACKnum是我收到包的序号。那么在构建发送包(攻击用途)的过程中,下一个包的seqnum应该是上一个数据包的seq+1;由于最后一个是[ACK]包不是数据包,直接抄下来就好。 - 构建攻击机将要发送的请求包:```netwox 40 --ip4-offsetfrag 0 --ip4-ttl (登录者TTL) --ip4-protocol 6 --ip4-src (攻击者IP) --ip4-dst (服务器IP) --tcp-src (原始端口) --tcp-dst 23 --tcp-seqnum (抓包可以看见raw seqnum) --tcp-acknum (抓包可以看见 ACK number(raw)) --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "7265626f6f740d00"```,这是我根据抓包情况制作的请求包```netwox 40 --ip4-offsetfrag 0 --ip4-ttl 128 --ip4-protocol 6 --ip4-src 192.168.200.2 --ip4-dst 192.168.200.3 --tcp-src 1063 --tcp-dst 23 --tcp-seqnum 4072602253 --tcp-acknum 4248023905 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "7265626f6f740d00"``` - 攻击机发送出去,然后观察wireshark的抓包情况。原理应该都没问题,但结果没出来,下面采取第二种方法 ***方法二:*** - 在kali中打开节点的IP转发功能 ``` cat /proc/sys/net/ipv4/ip_forward(如果结果是0继续输入下一个命令) echo 1 > /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward(此时输出的结果应该是1就算是打开成功了) ``` - 在kali中搜索Ettercap工具,并打开。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331233545495-2037670528.png) - 进入Ettercap,选择“Sniff”菜单中的“Unified Sniff”选项,选择“eth0”作为嗅探监听接口 - 在右上角houst菜单中选择“Scan for hosts”扫描局域网内攻击目标;然后在菜单“Hosts list”右键选择 WinXPtarget 192.168.200.3和WinXPAttacker 192.168.200.4分别为靶机A和靶机B ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331233957994-1901767162.png) ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331234305546-1933119088.png) - 然后选择MITM中的“ARP poisoning”进行ARP欺骗,并选择“Sniff remote connections”,检查cat /proc/sys/net/ipv4/ip_forward 已经开启了转发。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331234659474-1406907736.png) - 在靶机windows中验证ARP欺骗成功。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331234948657-1384864330.png) ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331235846096-847249231.png) - 在WinXPAttacker节点远程登录telnet到SEED节点,输入```telnet 192.168.200.3```,然后输入账号seed、密码dees。 ![](https://img2020.cnblogs.com/blog/1929301/202003/1929301-20200331235230952-833996022.png) - 打开view->connection,可以监听他们的对话。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401001543457-1512369406.png) - 在kali中打开wireshark,可以看到两个靶机之间的对话内容。 ![](https://img2020.cnblogs.com/blog/1929301/202004/1929301-20200401000259067-1084378888.png) ## 三.学习中遇到的问题及解决 - 问题1:ICMP重定向攻击时,总是抓不到包。 - 问题1解决方案:打开IP路由转发,就可以防止攻击时断网。 - 问题2:SYNflood攻击时,靶机依旧能连上网络。 - 问题2解决方案:将靶机的内存调低,攻击后稍微等一会在检测。 ## 四.实践总结 - 本次实践内容本来计划自己独立完成,在学完原理之后感觉不是很难,但是实际操作起来,要对攻击的结果进行检验,还比较缺乏经验。例如重定向攻击那里,最后找改变的路由路径花了好多时间,其实结果已经做出来了。 - 对最后的TCP会话劫持实验,参考孙启龙同学制作请求包,对wireshark的分析更能看懂了一点,但还有很多原理不是很清楚。最后只能用简单的方法做出来;不过Ettercap是真的好用! - 对于暂时不会的点,希望自己不要那么固执得想弄出来,有时候一些问题并不是自己的原因。 - 有的同学写博客很细心和认真,还是要多向其他同学学习吧,无论是学习方法或者做作业的习惯。 ## 参考资料 - [netwox网络工具集入门教程](http://c.biancheng.net/view/6378.html) - [TCP会话劫持攻击](https://blog.csdn.net/qq_45162687/articlehttps://img.qb5200.com/download-x/details/92799070) - [《网络攻防实践》](https://viewer.mosoteach.cn/viewer?token=ad90a04a3d5e2b96ab66fe54f8e53905&screenx=false&app_id=MTWEB&app_version=5.1.5&location=)

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们