ARP欺骗工具arpspoof的用法

ARP工具

arpspoof 是一款进行arp欺骗的工具,攻击者可以通过它来毒化受害者arp缓存,将网关mac替换为攻击者mac,然后攻击者可截获受害者发送和收到的数据包,可获取受害者账户、密码等相关敏感信息。ARP欺骗,是让目标主机的流量经过主机的网卡,再从网关出去,而网关也会把原本流入目标机的流量经过我得电脑。

arpspoof是一个好用的ARP欺骗工具,Kali linux中自带了该工具,但是在ubuntu中,默认是没有这个工具的,那么安装它就只需运行命令:

sudo apt-get install dsniff

安装完成后,输入命令:arpspoof --help可以查看使用手册(自己翻译的,非官方):

名字 
       arpspoof - 截获交换局域网中的数据包

用法
       arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

描述
       arpspoof通过伪造的ARP响应包改变局域网中从目标主机(或所有主机)到另一个主机(host)的数据包转发路径。这是交换局域网中嗅探网络流量的一种极为有效的方法。
       内核IP转发(或如fragrouter这样的、用户层面的、能完成同样功能的软件)必须提前开启。

参数
       -i interface
              指定要使用的接口(即指定一块网卡)

       -c own|host|both
              指定在恢复ARP配置时使用的硬件地址;当在清理(cleaning up)时,数据包的源地址可以用自己的也可以用主机(host)的硬件地址。
              使用伪造的硬件地址可能导致某些配置下的交换网络、AP网络或桥接网络通信中断,然而它比起默认值————使用自己的硬件地址要工作地更为可靠。

       -t target
              指定一个特殊的、将被ARP毒化的主机(如果没有指定,则认为是局域网中所有主机)。重复可以指定多个主机。

       -r     毒化两个主机(目标和主机(host))以捕获两个方向的网络流量。(仅仅在和-t参数一起使用时有效)

       host   host是你想要截获数据包的主机 (通常是网关)

ARP断网攻击

在实验之前我们首先要知道ARP断网攻击是局域网攻击,我们要保证目标主机必须和自己处于一个局域网内,且自己和目标主机网络应该是通的。

首先可以使用nmap扫描局域网中存活的地址,探测到的存活地址,就是我们的目标主机:

nmap -sP 192.168.0.0/24

在这里插入图片描述
这里我本机的地址是:192.168.0.103 网关是:192.168.0.1

在这里插入图片描述
在这里插入图片描述
目标主机能ping通百度,说明目标主机的网络环境没问题,下面我们开始断网攻击,用到的是kali里面的一个工具,arpspoof

语法:

arpspoof   -i   网卡   -t    目标IP    网关
也可以使用反向欺骗:
arpspoof   -i   网卡   -t    网关    目标IP

在这里插入图片描述
在攻击之前,目标主机的网络是通的,攻击成功后,目标主机断网“请求超时”,说明断网攻击成功了。

ARP欺骗

在使用arp欺骗前先开启Kali的IP转发,使用命令:

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

/proc/sys/net/ipv4/ip_forward是配置文件,默认内容为0,表示IP转发是关闭的,,使用上述命令将该配置文件的内容改写为1,表示开启IP转发。开启IP转发后 流量会经过kali的主机而后再去到目标所以这时开启arpspoof 那么目标就不会断网,因为流量通过了kali主机那么我们就可以拦截相关数据。

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

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

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

-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地址是你要伪装成的主机,如:

arpspoof -i eth0 -t 192.168.0.103 192.168.0.107

在这里插入图片描述
执行上述命令,Kali会向Windows(192.168.0.103, 10:3d:1c:62:3d:74 )发送ARP响应包,告诉Windows 192.168.0.103的MAC地址是8:0:27:8b:dc:a9(这实际上是Kali自己的MAC地址,这是在欺骗Windows):

开始欺骗: 开启IP转发之后,同样使用断网攻击的命令进行ARP欺骗:

 arpspoof   -i   网卡   -t    目标IP    网关
 反向欺骗:
 arpspoof   -i   网卡   -t    网关    目标IP

在这里插入图片描述

这时可以看到开启IP转发之后,再进行欺骗,还是能联网,此时kali可拦截相关受害者主机相关信息,开启wireshark可以拦截受害者ping数据。

在这里插入图片描述
因为我们欺骗目标机,使目标机的流量经过自己的网卡,所以这里我们嗅探自己的网卡,可以使用driftnet -i eth0 来窃取受害者网络中传输的图片,图片以小窗口的形式显示。

ettercap -Tq -i eth0进行账号密码嗅探(该方法只能对http协议进行嗅探,这里使用http://yuncode.net/ 来做实验):

在这里插入图片描述
在这里插入图片描述
可以看到,当用户登录时成功获取到了账号和密码。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐