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

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


本博客属于课程:《网络攻防实践》
本次做业:《第五周做业》
我在这个课程的目标:掌握知识与技能,加强能力和本领,提升悟性和水平。

1、知识点梳理与总结

上周回顾:
上周咱们学习了TCP/IP各层的网络安全基础知识,以及网络空间的常识,咱们在本身搭建的属于本身的虚拟网络中进行各类知识、技巧的学习。
同时,咱们上周对嗅探器作了全方位的学习。
接下来咱们就要开始针对重要协议的攻击展开学习。web

2、网络拓补结构

本次实验使用的网络拓扑结构如图:

3、ARP缓存欺骗攻击

1.ARP通信协议过程

因为局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输、计算机是根据mac来识别一台机器。
区域网内A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。
若是未找到,则A广播一个ARP请求报文(携带主机B的IP地址),网上全部主机包括B都收到ARP请求,但只有主机B识别本身的IP地址,因而向A主机发回一个ARP响应报文。
其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)windows

2.实践过程

首先查看一下本身攻击机的IP和mac地址,若是ifconfig命令中没有显示HWADDR字样的mac地址,则能够用nmcli device show eth0 命令来查看mac地址(其中eth0则是你的网卡编号)
在虚拟机中,经过fping命令,fping -g 192.168.220.1/24查看当前局域网还存在那些主机,以肯定要攻击的主机的ip地址,咱们发现一共四台主机在线(ubantu、theseed、Metasploitable、用户主机),本次咱们使用ubantu来篡改theseed和Measploitable的ARP表来达到双向监听的效果。(其实咱们能够在局域网内任意选择两个主机的IP来作ARP欺骗)
因为咱们对局网内的主机进行了检测,因此咱们如今的ARP表应该多的一塌糊涂,这时候咱们用组合命令来清除一下ARP表:
arp -n|awk '/^[1-9]/{system("arp -d "$1)}' 注意这条命令须要root权限
而后咱们用ping命令来检测和其余两台主机的连通性,顺便获取一下他们的MAC信息,此时的ARP表就十分清爽

缓存


如何进行ARP欺骗不被发现:
开启端口转发:echo 1 >/proc/sys/net/ipv4/ip_forward
关闭端口转发:echo 0 >/proc/sys/net/ipv4/ip_forward
查看端口转发是否成功:cat /proc/sys/net/ipv4/ip_forward 若是显示1则表示开启成功,显示0则开启失败
开启IP转发后 流量会通过kali的主机然后再去到目标因此这时开启arpspoof 那么目标就不会断网,由于流量经过了kali主机那么咱们就能够拦截相关数据。
使用netwox工具伪造tcp报文,利用netwox的80工具: 80 : Periodically send ARP replies,客户端(须要ip地址与MAC地址)与服务端(须要ip地址与MAC地址)和攻击机(须要ip地址与MAC地址) 在同一局域网内, 攻击机使用命令来向另外一台主机发送tcp报文,来修改靶机的ARP表:netwox 80 -e "攻击机MAC地址" -i "服务端ip地址"
这条命令被广播以后,其余虚拟机关于靶机的IP对应mac地址的ARP表都被修改为了攻击机的mac地址(图一),咱们接下来要作的是同时修改靶机关于网关的地址,就能够作到双向监听(图二)



安全

4、ICMP重定向攻击

ICMP重定向报文是ICMP控制报文中的一种。在特定的状况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。 ICMP虽然不是路由协议,可是有时它也能够指导数据包的流向(使数据流向正确的网关)。ICMP协议经过ICMP重定向数据包(类型五、代码0:网络重定向)达到这个目的,原理上和APR重定向很类似。服务器

使用netwox工具伪造ICMP重定向报文,利用netwox的86工具 86 : Sniff and send ICMP4/ICMP6 redirect。使用命令:netwox 86 -f "host 192.168.220.5" -g 192.168.220.4 -i 192.168.220.1
其中-f是靶机的host,-g 是指定新的网关地址(攻击机IP);-i是当前网关地址;也即攻击者冒充当前网关,通知受害者修改本身的网关IP。
在图中咱们能够看到,自己应该发往网关的报文被攻击机以网关的身份重定向到咱们的攻击机,在此咱们能够获取靶机所发出的全部报文。
cookie

5、SYN洪水攻击

SYN Flood攻击
Dos(Denial of Service)拒绝服务攻击是指在特定攻击发生后,被攻击的对象不能及时提供应有的服务。从广义上说,任何致使服务器不能正常提供服务的攻击都是拒绝服务攻击。
SYN Flood是当前最流行的拒绝服务攻击之一,这是一种利用TCP协议缺陷,发送大量的伪造的TCP链接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
TCP协议是基于链接的,也就是说,为了在服务端和客户端之间传送TCP数据,必须先创建一个虚拟电路,也就是TCP链接。
创建TCP链接的标准过程是这样的:

第一步,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP链接的初始序号;
第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加1,ACK即确认(Acknowledgement);
第三步,客户端也返回一个确认报文ACK给服务器端,一样TCP序列号被加1,到此一个TCP链接完成。
以上的链接过程在TCP协议中被称为三次握手。
问题就出在TCP链接的三次握手中,假设一个用户向服务器发送了SYN报文后忽然死机或掉线,那么服务器在发出SYN+ACK应答报文后是没法收到客户端的ACK报文的(第三次握手没法完成),这种状况下服务器端通常会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的链接,这段时间的长度咱们称为SYN超时,通常来讲这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常致使服务器的一个线程等待1分钟并非什么很大的问题,但若是有一个恶意的攻击者大量模拟这种状况,服务器端将为了维护一个很是大的半链接列表而消耗很是多的资源。实际上若是服务器的TCP/IP栈不够强大,最后的结果每每是堆栈溢出崩溃——即便服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP链接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率很是之小),此时从正常客户的角度看来,服务器失去响应,这种状况咱们称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。网络

使用netwox工具伪造ICMP重定向报文,利用netwox的76工具76 : Synflood 。使用命令:netwox 76 -i 192.168.220.64 -p 80
用法:netwox 76 -i ip -p port [-s spoofip]
参数:
-i | --dst-ip ip 目标IP地址
-p | --dst-port port 目标端口号
-s | --spoofip spoofip IP欺骗初始化类型
(这里咱们也用ubantu用cpp实现了syn拒绝服务攻击,附图在后文)
使用命令:netwox 76 -i 192.168.220.64 -p 80
能够看到,咱们的靶机windows xp已经卡死了(cpu占用100%),临死前的wireshark捕获到了大量的tcp报文

并发

防护措施:
SYN cookie是抵抗SYN-Flooding的防护机制.
防护原理简介:
在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,
而是根据这个SYN包计算出一个cookie值.
在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性.
若是合法,再分配专门的数据区进行处理将来的TCP链接.tcp

6、TCP_RST攻击

使用netwox的78号工具对靶机进行TCP RST攻击,强行断开靶机的tcp连接。利用netwox的76工具78 : Reset every TCP packet netwox 。使用命令:netwox 78 -i 192.168.220.64
咱们使用上周的talent链接紫丁香社区,此时咱们的主机在和服务器之间不停的进行tcp报文的通信,若是咱们用TCP_RST,则会使连接马上断开ide

7、TCP会话劫持攻击(bouns攻击)

方法零:依据个人理解,咱们只须要使用前述ARP欺骗或ICMP欺骗使得服务器和客户端之间的通讯被咱们的攻击机劫持,在此就不过多赘述有关ARP和ICMP欺骗的过程。欺骗完成后结合方法三进行会话劫持。
方法一:在seed上使用telnet登陆msfadmin,总显示找不到连接,我回头再研究一下,T.T


方法二:使用netwox的40号工具构造一个TCP数据包,来达到TCP会话劫持的效果
咱们用wireshark来检测靶机和服务器之间的tcp会话信息如图,咱们看到了源端口51268和通讯端口23(telnet)以及发送的数据字符l
劫持命令以下:(须要配合方法一使用)
netwox 40 --ip4-dontfrag --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.220.5 --ip4-dst 192.168.220.7 --tcp-src 51268 --tcp-dst 23 --tcp-seqnum 55 --tcp-acknum 102 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "6c"
其中参数的意义以下:
attacker观察数据包,依次设置参数
IP4 tos :无需设置
IP4 id :无需设置,由于报文会设置为不容许分段
IP4 dontfrag :1(不容许分段,参考报文1)
IP4 offsetfrag :0(参考报文1)
IP4 ttl :64(参考报文1)
IP4 protocol :6(参考报文1)
IP4 src :48222(参考报文1)
IP4 dst :23(参考报文1,telnet服务默认端口)
IPv4 options :无需设置(参考报文1)
TCP src :192.168.175.140
TCP dst :192.168.175.141
TCP seqnum :1137345078(参考报文2)
TCP acknum :2543750827(参考报文2)
TCP ack :1
TCP psh :1(表示有data数据传输)
TCP window :128(笔者随意设置的)
`tcp-data :"6c"(6c是l的16进制下字符l的Ascii码)
在第四张图中,无论我怎么按键盘,个人seed都不会有反应(缘由在第五张图,产生了ack风暴)
能够看到,我门成功劫持了会话,而且和服务器创建了通讯




8、附录(netwox功能表)

1:显示网络配置 2:显示调试信息 3:显示有关IP地址或主机名的信息 4:显示有关以太网地址的信息 5:获取IP列表中计算机的以太网地址 6:显示如何访问IP地址 7:嗅 8:嗅探并显示打开的端口 9:嗅探和显示以太网地址 10:嗅探和显示网络统计信息 11:嗅探并验证校验和 12:显示要用于netbox参数的值 13:为每一个设备获取嗅探和欺骗的DLT类型 14:伪造唱片 15:显示记录的内容 16:转换记录 17:从新计算记录中数据包的校验和 18:从新组合记录的IP数据包,并从新排序TCP流 19:从记录中提取一系列数据包 20:从记录中搜索数据包中的字符串 21:转换数字 22:转换字符串 23:显示ASCII表 24:转换IP地址范围 25:测试目录是否安全 26:转储文件 27:计算文件的MD5 28:将二进制文件转换为可读和可编辑的文件 29:将可读和可编辑的文件转换为二进制文件 30:将文件从unix转换为dos 31:将文件从dos转换为unix 32:欺骗以太网数据包 33:欺骗EthernetArp包 34:欺骗以太网4数据包 35:欺骗以太网4 udp数据包 36:欺骗以太网4 TCP数据包 37:欺骗以太网4 ICMP4数据包 38:欺骗Ip4包 39:欺骗Ip4Udp数据包 40:欺骗Ip4Tcp数据包 41:欺骗Ip4Icmp4数据包 42:包样本的欺骗:片断 43:包样本欺骗:片断,ip4opt:noop 44:数据包样本欺骗:片断,ip4opt:rr 45:数据包样本欺骗:片断,ip4opt:lsrr 46:数据包样本欺骗:片断,ip4opt:ts 47:数据包样本欺骗:片断,ip4opt:ipts 48:数据包样本欺骗:片断,ip4opt:ippts 49:Ping ICMP 50:Ping ICMP(EthIP欺骗) 51:Ping TCP 52:Ping TCP(EthIp欺骗) 53:Ping-UDP 54:Ping-UDP(EthIp欺骗) 55:平ARP 56:Ping ARP(EthIp欺骗) 57:跟踪路由ICMP 58:Traceroute ICMP(EthIP欺骗) 59:跟踪路由TCP 60:Traceroute TCP(EthIp欺骗) 61:Traceroute UDP 62:Traceroute UDP(EthIp欺骗) 63:指定IP协议上的Traceroute 64:指定IP协议上的Traceroute(EthIp欺骗) 65:扫描ICMP 66:扫描ICMP(EthIP欺骗) 67:扫描TCP 68:扫描TCP(EthIp欺骗) 69:扫描UDP 70:扫描UDP(EthIp欺骗) 71:扫描ARP 72:扫描ARP(EthIp欺骗) 73:模拟多台计算机(arp和ping)的存在 74:用随机碎片淹没宿主 75:使用大量以太网数据包填充交换机表 76:综合洪水 77:检查seqnum是否可预测 78:重置每一个TCP数据包 79:确认每一个TCP SYN 80:按期发送ARP回复 81:发送ICMP4时间戳 82:嗅探并发送没法到达的ICMP4/ICMP6目标 83:超过嗅探和发送ICMP4/ICMP6时间 84:嗅探和发送ICMP4/ICMP6参数问题 85:嗅探并发送ICMP4源淬火 86:嗅探并发送ICMP4/ICMP6重定向 87:TCP客户端 88:UDP客户端 89:TCP服务器 90:UDP服务器 91:TCP服务器多客户端 92:UDP服务器多客户端 93:TCP远程管理服务器 94:TCP远程管理客户端(exec) 95:TCP远程管理客户端(获取文件) 96:TCP远程管理客户端(put文件) 97:系统日志客户端 98:用syslog消息淹没主机 99:TELNET客户端 100:TELNET客户端执行一个或多个命令 101:暴力telnet客户端 102:查询DNS服务器 103:获取绑定DNS服务器的版本 104:DNS服务器老是回答相同的值 105:嗅探并发送DNS答案 106:发送电子邮件 107:发布新闻组消息 108:列出服务器上可用的新闻组 109:下载一条或多条新闻组邮件 110:以太网网桥限制流 111:FTP列出目录 112:FTP客户端:获取文件 113:FTP客户端:放置文件 114:FTP客户端:删除文件 115:FTP client:递归获取目录 116:FTP client:递归放置目录 117:FTP客户端:递归删除目录 118:HTTP获取 119:HTTP头 120:HTTP帖子 121:HTTP输入 122:HTTP删除 123:HTTP跟踪 124:HTTP选项 125:HTTP服务器 126:HTTP远程管理服务器 127:使用异或加密/解密文件 128:将文件分红小块 129:从新组合文件块 130:暴力ftp客户端 131:暴力http客户端(站点密码) 132:强制http客户端(代理密码) 133:转换url/uri 134:在HMTL文件中获取url/uri 135:将HMTL文件中的url/uri转换为绝对url 136:Web下载(http://。。。或ftp://…) 137:建立工具138的示例配置文件 138:WebSpider(使用137工具建立的配置文件) 139:命令行上的WebSpider(彻底递归) 140:欺骗以太网6数据包 141:欺骗以太网P6UDP数据包 142:欺骗以太网P6TCP数据包 143:欺骗以太网P6ICMP6数据包 144:欺骗Ip6数据包 145:欺骗Ip6Udp数据包 146:欺骗Ip6Tcp数据包 147:欺骗Ip6Icmp6数据包 148:Ping ICMP6邻居发现 149:Ping ICMP6邻居发现(EthIp欺骗) 150:扫描ICMP6邻居发现 151:扫描ICMP6邻居发现(EthIp欺骗) 152:交互式IRC客户端 153:IRC客户端列表频道 154:IRC客户端侦听频道 155:网络性能测量:TCP服务器 156:网络性能测量:TCP客户端 157:网络性能度量:UDP服务器 158:网络性能度量:UDP客户端 159:SNMP获取 160:SNMP漫游 161:SNMP陷阱 162:SNMP Trap2 163:SNMP通知 164:SNMP集 165:TFTP客户端:获取文件 166:TFTP客户端:放置文件 167:TFTP服务器 168:FTP服务器 169:显示简单的网络配置,易于解析 170:TELNET服务器 171:DHCP客户端 172:新闻组的列表文章范围 173:下载一条或多条新闻组邮件的概述 174:FTP客户端:获取文件并检查其MD5 175:Web下载(http://。。。或ftp://…)并检查其MD5 176:TFTP客户端:获取一个文件并检查其MD5 177:检查SMTP服务器是否启动 178:检查IRC服务器是否启动 179:DHCP客户端请求通知 180:SNTP客户端获取时间 181:SNTP服务器 182:获取web文件的大小(http://。。。或ftp://…) 183:TCP中继 184:UDP中继 185:TCP多客户端中继 186:毫秒睡眠 187:显示日期和时间 188:系统日志服务器 189:SMTP服务器 190:煮咖啡 191:生成密码(英语, 法语、西班牙语) 192:包样本欺骗:片断,ip4opt:ssrr 193:IDENT client请求有关打开会话的信息 194:IDENT client建立会话并请求其信息 195:标识服务器 196:谁是客户 197:谁是客户端猜想服务器 198:SMB/CIFS客户端:列出共享 199:SMB/CIFS客户端:建立目录 200:SMB/CIFS客户端:删除目录 201:SMB/CIFS客户端:重命名目录 202:SMB/CIFS client:列出目录的内容 203:SMB/CIFS客户端:删除文件 204:SMB/CIFS客户端:重命名文件 205:SMB/CIFS客户端:获取文件 206:SMB/CIFS客户端:放置文件 207:SMB/CIFS客户端:递归获取目录 208:SMB/CIFS客户端:递归地放置目录 209:SMB/CIFS客户端:递归删除目录 210:命令行上的WebSpider(保持在同一目录中) 211:网络蜘蛛:将本地下载的文件名转换为其原始url 212:Web spider:将url转换为其本地下载的文件名 213:显示IP地址列表 214:Traceroute发现:网络拓扑图 215:Traceroute发现(EthIp欺骗) 216:哔声 217:SMB/CIFS服务器 218:netbox内部验证套件 219:计算文件的加密哈希(md五、sha等) 220:将二进制文件转换为base64编码的文件 221:将base64编码的文件转换为二进制文件 222:在HMTL文件中,禁止指向本地url的连接

相关文章
相关标签/搜索