一次ARP欺骗工具arpspoof的使用

我们都知道arp是一个把ip地址解析为物理地址的TCP/IP协议, 在局域网中,百度百科:

通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC。

在我还在读大学的时候,大概在2020年,有一门网络攻防的实践课,学到了kali系统,其中自带了很多好玩的工具,arpspoof就是其中之一。

这技术已经很久的时间了,现如今大多数的企业内网都有ids入侵检测和内网络监测,我们也不能随便在网络上做这些。

欺骗开始

首先要和目标在一个局域网中 不知道ip可以拿nmap扫一下等等

arpspoof   -i   网卡   -t    目标IP    网关
也可以使用反向欺骗:
arpspoof   -i   网卡   -t    网关    目标IP
  • -i 参数用于指定一块网卡,必须显式地指定,没有默认值,若不指定,会报错为:arpspoof: couldn’t arp for host xxx.xxx.xxx.xxx。 若不清楚自己机器上都有哪些网卡,可用命令 ifconfig 查看。

  • -t 和 -r 参数与第一部分有关,-c 参数与第二部分有关。第二部分被作者称为:cleaning up,-c 中的c大概就是从这里来的。

  • -t 后可以是IP地址,也可以是域名,这里只使用IP地址。

  • -t 参数后的第一个IP地址是要欺骗的主机,第二个IP地址是你要伪装成的主机

一旦我们开始了欺骗,这时候目标主机应该是上不了网的,因为他的网关解析到了我这里,而要真正实现欺骗,还需要开启本地ipv4转发,经由我们主机转发到网关,让目标主机无任何感觉

echo 1 > /proc/sys/net/ipv4/ip_forward

arpspoof 命令的工作过程分为两部分

  1. 发送伪造的ARP请求包,修改目标主机中ARP缓存表,实施ARP欺骗;

  2. 当攻击完成后,再次发送伪造的ARP请求包,修改目标主机中ARP缓存表为正确的值,结束ARP欺骗。

在此期间,我们可以监测自己的网卡

  • driftnet -i eth0 来窃取受害者网络中传输的图片,图片以小窗口的形式显示
  • ettercap -Tq -i eth0进行账号密码嗅探
  • 也可以拿小鲨鱼wireshark来抓包并过滤,tcpdump自带的也可以