利用Python實現字典攻擊滲透測試

2021-02-23 泉Quan網絡

實驗等級:

中級

任務場景:

【任務場景】

小王接到磐石公司的邀請,對其公司的伺服器進行滲透測試,當前需要對該伺服器運行的資料庫服務程序進行滲透測試,驗證當連接該伺服器的資料庫服務,登錄認證的時候,是否存在弱口令。

任務分析:

【任務分析】

在需要對該伺服器運行的資料庫服務程序進行滲透測試,驗證當連接該伺服器的資料庫服務,登錄認證的時候,是否存在弱口令,可以通過以下2個步驟:

1、通過工具或自行開發腳本的方式生成字典;

2、通過生成的字典對資料庫服務登錄認證是否存在弱口令進行驗證。

預備知識:

【預備知識】

在破解密碼或密鑰時,逐一嘗試用戶自定義詞典中的可能密碼(單詞或短語)的攻擊方式。與暴力破解的區別是,暴力破解會逐一嘗試所有可能的組合密碼,而字典式攻擊會使用一個預先定義好的單詞列表(可能的密碼)。

月黑風高之夜,一個小偷拿著從倉庫管理員那兒偷來的一串鑰匙,躲過崗哨摸到庫房,看著庫房大門掛著的大鎖,哪一把鑰匙才能打開門呢?顯然最直接的方法就是一把一把的試,直到打開為止,或者所有鑰匙都打不開,無功而返。

這件事兒對小偷來說略顯機械枯燥,而且時間拖久了還有被抓的危險。可這樣的重複勞動正適合計算機幹——對了,這種方法就是網絡安全領域裡「字典攻擊」的原型。

當黑客試圖進入目標系統時被告知需要提供口令,而他對此並不知曉(正如上面那位小偷並不確定鑰匙是哪一把),他可以採用這樣的方法:將收藏的備選口令集(這個口令集可能包含著成千上萬個備選口令)輸入到他的程序中,依次向目標系統發起認證請求,直到某一個口令可以通過認證——或者所有這些口令均無效,宣告此方法失敗並結束本次入侵行為(或者繼續查找系統有無別的弱點)。

 

分析上文的場景,實施一次字典攻擊需要具備兩個要素:

 

1. 黑客了解認證方式(包括認證協議以及地址、埠等信息),如同小偷需要知道庫房在哪兒,房門掛著的是大銅鎖還是密碼鎖,甚至虹膜、指紋識別?拿著一串金屬鑰匙想打開生指紋識別鎖顯然不現實。

2. 黑客擁有比較全面的口令集,包含著各類常見的弱口令,或者目標系統經常出現的組合口令,或者目標系統曾經洩露的口令集。這樣才有更多的嘗試機會。通常一次字典攻擊的實施還是很耗費時間的,特別是目標系統的口令不那麼常見。P086-Python安全滲透測試-利用Python實現字典攻擊滲透測試

任務實施:

P086-Python安全滲透測試-利用Python實現字典攻擊滲透測試

實驗環境說明:

滲透機:p10_bt5-7-1(BT5)用戶名:root 密碼:123456

靶   機:p10_win2003-7-1(Windows 2003)用戶名:administrator 密碼:123456

 

第一步,打開網絡拓撲,啟動實驗虛擬機,分別查看虛擬機IP位址:

BT5

 

Windows 2003

 

第二步,通過工具或自行開發腳本的方式生成字典

a、通過superdic工具生成字典,選擇字典中需要的字符

 

 

 

b、通過superdic工具生成字典,選擇密碼的長度

 

 

 

c、自行開發腳本的方式生成字典,以6位密碼,包含『3』『6』『9』三個字符的字典為例

 

 

 

 

第三步,通過Python腳本語言自行開發滲透測試工具,實現對資料庫服務登錄認證是否存在弱口令進行驗證,首先導入必要的Python模塊

 

 

 

第四步,定義全局變量Found = 0

 

 

第五步,定義函數mssqlconn,該函數的作用為嘗試連接伺服器的SQL服務

 

 

 

關於pymssql模塊的使用方法如下:

 

conn = pymssql.connect(server, user, password, database)

 

# server    資料庫伺服器名稱或IP

 

# user      用戶名

 

# password  密碼

 

# database  資料庫名稱

 

第六步,定義main函數,該函數的作用為參數解析以及調用函數mssqlconn

 

 

 

 

第七步,定義main函數執行的條件,確保main函數僅在模塊__main__當中執行

 

 

 

第八步,執行腳本,如果存在SQL服務登錄認證弱口令,則獲取SQL伺服器SA帳號登錄密碼

 

 

 

相關焦點

  • Python滲透測試工具合集
    支持自動化網絡測試  Ghost.py:  Python 寫的 WebKit Web 客戶端  Windmill: Web 測試工具幫助你輕鬆實現自動化調試 Web 應用  FunkLoad:Web 功能和負載測試  spynner: Python 寫的 Web瀏覽模塊支持 Javascript/AJAX  python-spidermonkey
  • Python滲透測試工具都有哪些?
    支持自動化網絡測試Ghost.py: Python 寫的 WebKit Web 客戶端Windmill: Web 測試工具幫助你輕鬆實現自動化調試 Web 應用FunkLoad: Web 功能和負載測試spynner: Python 寫的 Web瀏覽模塊支持 Javascript/AJAXpython-spidermonkey:
  • Github滲透測試工具庫-2021版
    目錄前言漏洞練習平臺花式掃描器信息搜索工具WEBwindows域滲透工具FUZZ漏洞利用及攻擊框架中間人攻擊及釣魚密碼破解二進位及代碼分析工具
  • 內網滲透測試:DCSync 攻擊技術的利用
    DCSync 就是利用的這個原理,通過Directory Replication Service(DRS) 服務的 GetNCChanges 接口向域控發起數據同步請求。DCSync 是域滲透中經常會用到的技術,其被整合在了 Mimikatz 中。在 DCSync 功能出現之前,要想獲得域用戶的哈希,需要登錄域控制器,在域控制器上執行代碼才能獲得域用戶的哈希。
  • 滲透測試必備工具
    https://github.com/lijiejie/htpwdScan漏洞利用及攻擊框架msfhttps://github.com/rapid7/metasploit-frameworkPoc調用框架,可加載Pocsuite,Tangscan,Beebeeto等https://github.com/erevus-cn/pocscanPocsuite
  • 滲透測試人 Python 工具大合集
    :通過畸形數據測試文件格式和協議的工具,基於預定義模式l  Fuzzbox:多媒體編解碼模糊測試器l  Forensic Fuzzing Tools:可生成模糊測試文件和模糊測試文件系統,文件系統中包含取證工具和測試系統l  Windows IPC Fuzzing Tools:利用Windows進程間通信機制來對應用程式進行模糊測試的工具l
  • Github滲透測試工具庫
    >8.漏洞利用及攻擊框架msf框架:https://github.com/rapid7/metasploit-frameworkpocsscan攻擊框架:https://github.com/erevus-cn/pocscanPocsuite攻擊框架:https://github.com/knownsec
  • github滲透測試工具庫
    telnet-scanner(Telnet服務密碼撞庫)https://github.com/viraintel/OWASP-Nettacker(自動化信息搜集及滲透測試工具,比較適用於IoT掃描)https://github.com/threat9/routersploit(嵌入式設備漏洞掃描及利用工具)https://github.com
  • 網絡安全與滲透測試工具導航
    /pentestEr_Fully-automatic-scanner自動化滲透測試框架:https://github.com/3xp10it/3xp10it掃描效果未驗證:https://github.com/Lcys/lcyscan滲透測試插件化並發框架:https://github.com/Xyntax/POC-TScanner in Python3.5
  • 網絡安全與滲透測試工具集合
    /pentestEr_Fully-automatic-scanner自動化滲透測試框架:https://github.com/3xp10it/3xp10it掃描效果未驗證:https://github.com/Lcys/lcyscan滲透測試插件化並發框架:https://github.com/Xyntax/POC-TScanner in Python3.5
  • 史上最全滲透測試 工具集合
    /pentestEr_Fully-automatic-scanner自動化滲透測試框架:https://github.com/3xp10it/3xp10it掃描效果未驗證:https://github.com/Lcys/lcyscan滲透測試插件化並發框架:https://github.com/Xyntax/POC-TScanner in Python3.5
  • 【收藏】最全的安全滲透測試工具整理
    : https://github.com/infobyte/faraday滲透測試集成框架,包含超過38,000+攻擊: https://github.com/juansacco/exploitpack基於鉻/歌劇插件的被動式漏洞掃描: https://github.com/swisskyrepo/DamnWebScanner支持多種網絡漏洞掃描,命令行環境使用
  • Lockdoor Framework:一套自帶大量網絡安全資源的滲透測試框架
    09/2019 :1.0 Beta-信息收集工具(21)-Web攻擊工具(15)-逆向工程工具(15)-漏洞利用工具(6)-滲透測試&安全評估發現報告模板(6)-密碼攻擊工具(4)-Shell工具+Blackarch的Webshell**(4)-滲透測試輔助工具(3)
  • Github滲透測試工具庫[轉載]
    )hxxps://github.com/scu-igroup/telnet-scanner(Telnet服務密碼撞庫)hxxps://github.com/viraintel/OWASP-Nettacker(自動化信息搜集及滲透測試工具,比較適用於IoT掃描)hxxps://github.com/threat9/routersploit(嵌入式設備漏洞掃描及利用工具)hxxps://github.com
  • Github滲透測試工具庫-2020版
    目錄前言漏洞練習平臺花式掃描器信息搜索工具WEBwindows域滲透工具FUZZ漏洞利用及攻擊框架中間人攻擊及釣魚密碼破解二進位及代碼分析工具
  • 使用Python進行網絡安全滲透—密碼攻擊測試器
    利用Python的base64模塊,我們就能夠輕鬆的進行加密和解密:返回的結果為:YWRtaW4xMjM=admin123是不是感覺很坑爹,嗯,就是的。^_^編寫Python密碼暴力測試器了解了HTTP基本認證的一些概念,下面我們繼續使用Python編寫一個滲透測試密碼暴力破解器。
  • 收藏 | 2020版 github滲透測試工具庫
    文章來源:https://www.cnblogs.com/BOHB-yunying/p/11856178.html導航1.前言2.漏洞練習平臺3.花式掃描器4.信息搜索工具5.WEB6.windows域滲透工具7.FUZZ8.漏洞利用及攻擊框架
  • 乾貨|Python滲透測試工具庫
    https://github.com/SECFORCE/spartaSNMAP密碼破解:https://github.com/SECFORCE/SNMP-BruteWEB:webshell大合集:https://github.com/tennc/webshell滲透以及web攻擊腳本:https://github.com
  • Kali Linux 滲透測試相關匯總
    為了啟動滲透測試,需要收集關於目標主機的基本信息。得到的信息越多,滲透測試成功的概率也就越高。Kali Linux 作業系統上提供了一些工具,可以幫助用戶整理和組織目標主機的數據,使用戶得到更好的後期偵察。▼漏洞掃描器是一種能夠自動在計算機、信息系統、網絡及應用軟體中尋找和發現安全弱點的程序。
  • 乾貨|滲透測試學習基礎教程大合集
    實現棧溢出攻擊及反彈shell五十四.Windows漏洞利用之基於SEH異常處理機制的棧溢出攻擊及shell提取五十五.Windows漏洞利用之構建ROP鏈繞過DEP並獲取Shell五十六.i春秋老師分享小白滲透之路及Web滲透技術總結五十七.PE文件逆向之什麼是數字籤名及Signtool籤名工具詳解(一)五十八.Windows漏洞利用之再看