第五次作业

TCP/IP网络协议攻击

注:

​ 所属课程:网络攻防实践

​ 作业要求:第五次作业

相关概念原理

  1. X.800标准安全属性:机密性,完整性,可用性,真实性,不可抵赖性。
  2. 网络攻击基本模式:截获(被动,嗅探,机密性破坏),中断(拒绝服务,可用性破坏),篡改(中间人攻击,完整性破坏),伪造(身份欺骗,真实性背离)。
  3. 中间人攻击:攻击者需能够拦截通信双方的全部通信,注入转发或篡改后的信息。这意味着中间人需对两方都实现身份欺骗
tcp/ip各层缺陷
  • 网络接口层:以太网协议缺陷(网卡混杂模式可对网段中全部链路层数据帧进行截获;缺乏对MAC源地址的身份认证机制,易受MAC地址欺骗);PPP协议缺陷(明文传播)。

  • 互联层:ip协议缺陷(缺乏ip地址的身份认证,易受ip地址欺骗攻击;ip分片攻击,利用一些协议处理ip包的缺陷);ARP协议(ip->MAC,未对映射关系进行验证,易受ARP欺骗攻击)。ICMP协议(ICMP提供明文的出错信息,可用来重定向路由路径;ping泛洪攻击,smurf攻击(巧妙,伪造目标主机ip广播ping包,以达到使拒绝服务的目的,不过随着缺省过滤机制的实现,慢慢行不通了));动态路由协议:RIP, OSRF, BGP(不同局域网组间的路由协议,可以这样说吧)等(缺乏强有力的身份认证机制,已造成网络通信的不明重定向)。

  • 传输层:tcp(RST攻击,SYN泛洪攻击(握手缺陷));udp(udp泛洪)。

  • 应用层:如http,ftp,pop3/smtp,dns,smb大多采用明文传输。SMB会话易被中间人攻击,dns欺骗(响应包仅通过匹配查询认证)。

    第五次作业_第1张图片

  • 常用欺骗攻击(发送特制数据包,利用原始套接字)工具:netwox。

细节原理
  • ip源地址欺骗(用于掩饰身份):修改ip协议包头,伪造虚假ip身份。由于攻击者一般收不到响应包(非特定情况,如在同一局域网),而网络控制服务一般为rdt,数据包需基于如tcp协议的封装,如果收不到响应包,而又需要建立tcp连接,就需要猜出目标主机的初始序列号。系统的初始序列号一般随机选择,不好猜,但系统实现一般和时间相关,可以通过连接目标主机的某个端口,采样ISN,分析规律。

    第五次作业_第2张图片

    建立连接后进行通信。工具(Netwox 41号工具,namp -D命令(所在主机会发送SYN包探测端口,有被入侵检测风险吧))。

  • APR欺骗:主要还是利用为未受认证的声称ip进行ARP缓存更新的安全缺陷和ARP响应包多次发送。对通信双方都进行ARP欺骗后,便可进行中间人攻击(需开启ip转发服务)。

    第五次作业_第3张图片

    工具(Netwox 33号工具构造ARP数据报, 88号周期性发送应答报)。由于目标主机可接收到响应的数据包,可依次找出源主机,故进行此攻击时因先进行ip伪造。

  • ICMP路由重定向:冒充网关ip向目标主机发送ICMP包,是其将攻击主机设置为新的路由节点,之后攻击主机开启路由转发,进行网段监听。又根据最优路径选择原理,攻击机又可将原先网关重定向为目标主机的新路由。

    第五次作业_第4张图片

    工具(Netwox 86号工具)。

  • TCP RST 攻击:利用tcp会话连接重启机制的缺陷,攻击方监听通信两方链路数据,利用ip源地址欺骗技术伪装成通信的一方,发送rst置1会话包,终止通信方间的tcp连接。

    第五次作业_第5张图片

    这个图主机C发送的包好像有点问题,虽然对攻击没啥影响。

    工具(Netwox 78号工具)。

  • TCP 会话劫持:ARP欺骗进行中间人进行数据链路监听,获取序列号等标志位信息,之后RST攻击一方主机(通常为客户机,避免由停-等机制带来的ACK风暴),假冒此主机发送相关数据包,成功后可绕过应用层的身份认证(只认证一次),并可同另一方进行数据通信。

    第五次作业_第6张图片

  • TCP SYN 泛洪攻击:伪造源主机发送大量SYN包消耗目标主机的连接队列资源,使其拒绝服务。

    第五次作业_第7张图片

    工具(Netwox 76号工具)。

    局限的防范措施(syncookie,一个校验,或者说维护了一个表?应该跟普通的cookie技术思想差不多;linux的防御手段是对cookie和tcp资源分配方式做了一个综合)。

  • UDP泛洪:发送大量udp包造成网络拥塞。通过恶意代码控制僵尸网络,并利用网段中主机资源对目标网段进行udp泛洪攻击。

协议栈防范措施
  • 监测,预防,安全加固。即入侵检测,访问控制,信息加密等。
  • 安全协议:IPsec(网络层),TSL(传输层), HTTPS(应用层)。ipv6。

实践作业

  1. ARP欺骗:选取攻击机C(SEED),ip及MAC如下:

    选取目标主机A(kail)及B(linux_M),ip分别为192.168.200.7,192.168.200.125。C攻击机分别ping A,B更新arp缓存映射获取A,B的MAC:

    第五次作业_第8张图片

    利用netwox33号工具对A,B进行ARP欺骗。参照命令参数表,使用命令 netwox 33 -b [eth-dst] -g [ipsrc] -h [ethdst] -i [ipdst],即告诉eth-dst(ipdst)更新ipsrc的MAC:

    第五次作业_第9张图片

    第五次作业_第10张图片

    至此,欺骗完成。更进一步,可以双方通信链路监听或中间人攻击。如进行监听可打开C攻击机wireshark抓取数据包,使用过滤命令:(tcp or arp) and (ip.addr ip_A or ip.addrip_B );然后让A访问B的ftp服务。追踪抓取数据包的tcp流可得账号密码等信息(这里只有密码账号,只做了登录操作):

    第五次作业_第11张图片

    第五次作业_第12张图片

  2. ICMP重定向攻击:

    此次攻击使用netwox86 号工具,参数表如下:

    第五次作业_第13张图片

    选取C为攻击机,A为目标主机,网关为192.168.200.1。使用命令 netwox 86 -f "host ip_A" -g [ip_C] -i 192.168.200.1,即嗅探到ip_A的数据包便向其发送ICMP重定向消息,以网关的名义,设置自身ip为其新网关。之后工具进入监听状态:

    在此之前,为保证A的网络正常访问,开启C路由转发服务,命令 sysctl -w net.ipv4.ip_forward=1(只能保证掉电前的功能正常,可考虑修改配置文件以保证长久开启):

    使用A ping百度,发现以跳到新路由:

    wireshark抓包分析:

    第五次作业_第14张图片

    第五次作业_第15张图片

    第五次作业_第16张图片

    重定向后,主机A发送数据包给(39.156.69.79)(第143),实际发送给了攻击主机C(可从MAC中看出),然后主机C发现其非最佳路由,让其重定向,并接着转发其数据包(至百度)。

  3. SYN泛洪:

    首先让A,B进行TCP连接,这里采用ftp,连接后断开:

    第五次作业_第17张图片

    利用netwox 76 -i "ip_B" -p 21 攻击其端口:

    之后再用A连接B ftp服务,发现....可以连接,还能send目录数据:

    第五次作业_第18张图片

    行吧,访问80端口试试,还是不行。观察wireshark,在伪造ip发了超大量的SYN包后仍可访问,原因应该是主机B并未对这些SYN包作出相应的响应,或许有过滤机制:

    第五次作业_第19张图片

    第五次作业_第20张图片

    于是关掉主机B的SYNcookie服务(sysctl -w net.ipv4.tcp_syncookies=0 ,可通过正则匹配查找命令sysctl -a | grep syn ),尝试后依然白给。貌似还是都被过滤掉了。。。

  4. TCP RST攻击:首先A,B进行ftp连接,然后在攻击机中利用netwox 78号工具,输入命令 netwox 78 -i "ip_A",攻击主机A,结束连接:

    第五次作业_第21张图片

    wireshark抓包分析,RST显示由主机Bip发出,但MAC地址为网关地址,应该是攻击掩饰:

    第五次作业_第22张图片

  5. TCP会话劫持:利用C对A,B进行arp欺骗(保证C的路由转发功能以实施中间人攻击),打开wireshark并监听A,B通信。A对B进行telnet连接,并进行身份认证。打开wireshark,查看通信联通后的最后一条tcp连接数据,得到所需的序列号等数据:

    假冒A ip,给B发送伪造的数据包,并RST攻击A。这里使用netwox第40号工具包,命令为 netwox 40 -l [ip_C(本次实验未事先伪装)] -m [ip_B] -q [seq] -r [ack] -H [操作,用十六进制数据表示]具体参数意义可使用help查询:

    第五次作业_第23张图片

    此次操作为 mkdir aa。观察wireshark 抓包发现主机C与主机C已进行TCP连接(额,好像失败了,主机B没回复),追踪tcp流发现明文命令:

    第五次作业_第24张图片

问题及解决

  1. SYN泛洪攻击第一次失败:通过关闭linux SYNcookie服务也未能解决。

学习感悟

参考

  • tcp会话劫持

你可能感兴趣的:(第五次作业)