歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

淺析如何讓你的Responder更強大之修復篇

來源:本站整理 作者:佚名 時間:2020-01-22 TAG: 我要投稿

滲透圈內,Responder聲名遠揚。去年在使用中發現了一些異常,腦子抽筋,讀了smb協議和Responder源碼,進而發現了Responder在實現上存在的一些問題,然后進行了修復和完善,趁著這幾天有時間,進行了簡單整理和分析,分享出來,希望對大家有所幫助。
原標題:Make your Responder stronger
我們先看兩張圖片

圖1

圖2
圖1是我從Responder官方(其實是非官方,你懂的)GitHub(https://github.com/lgandx/Responder)上找到的一段話,大致意思:支持抓去NTLMv1,NTLMv2 Hash,并成功的在Windows 95 到Server 2012 RC等機器上測試,而且內建并支持了SMBv2。
圖2是我在responder的配置文件截的圖,大致是說:開啟CaptureMultipleCredentials,可讓Responder發送ACCOUNT_DISABLED當客戶端想向服務器認證時,然后嘗試抓去多個hash值。(這個配置從源碼上看只適用于SMB1)
大家看懂了吧,那就先別下,等我說完,然后去我GitHub上https://github.com/wreck1t/Responder下載,因為他在騙你:
1.內建的SMBv2實現存在缺陷,在與某些常用SMB客戶端交互時無法正常工作,更別提捕獲Hash了。
2.CaptureMultipleCredentials開啟,在與某些常用SMB客戶端交互時,SMBv1也只能抓到一次Hash。
由于SMB客戶端的多樣性和不同客戶端實現的復雜性,本文以net use客戶端為例,對Responder實現的SMBv1和SMBv2存在的問題進行解析,并進行修復。
作為一名醫學生——邏輯一般,文采不行,文章難免存在紕漏之處,歡迎大家批評指正。
二.背景知識
1.Responder
由Laurent Gaffie撰寫的Responder是迄今為止,在每個滲透測試人員用于竊取不同形式的憑證(包括Net-NTLM hash)的最受歡迎的工具。它通過污染LLMNR和NBT-NS等主機解析請求,從而欺騙目標主機與其實現的惡意服務器通信,從而達到設置惡意瀏覽器代理,竊取憑證等目的。當網絡上的設備嘗試用LLMNR和NBT-NS請求來解析目的地機器時,Responder就會偽裝成目的地機器。當受害者機器嘗試登陸攻擊者機器,responder就可以獲取受害者機器用戶的Net-NTLM哈希值。
2.SMB工作流程
2.1.首先客戶端發送一個SMB negotiate protocol request請求數據報,并列出它所支持的所有SMB協議版本,如圖3中No 20所示:
2.2.服務器收到請求信息后響應請求SMB2 negotiate protocol response,并列出希望使用的協議版本。如圖3中 No 24所示:(明眼的同學發現中間有幾個包略過了,別急,咱一會再說)
2.3.協議確定后,客戶端進程使用磋商好的版本向服務器發起認證以獲得訪問權限。
2.4.服務器發送一個Session setup response應答數據包允許或(附帶拒絕的原因)拒絕本次連接。
注:2.3和2.4的認證涉4步(NTLM認證的內容),講起來內容比較多,網上資料也比較多,我的任務是介紹流程,讓大家對SMB不太陌生。

圖3
3.NTLM認證(挑戰響應機制)
三.實驗環境:
Windows 7 (默認支持smb1 smb2)  ip:172.20.10.8
Windows XP (默認只支持smb1)      ip:172.20.10.7
kali (默認自帶Responder)                ip:172.20.10.6
四.實驗詳情:
1.先說SMBv1:
1.1. 同時開啟Windows XP和Kali,配置Kali中Responder配置文件,路徑:/usr/share/responder/Responder.conf。設置CaptureMultipleCredentials=On,這也是responder的默認設置,設置完成后,在終端輸入responder -I eth0,開啟responder進行Hash捕獲,
1.2. 來到XP,在cmd下輸入net use \\cfca回車(當用戶不輸入賬號密碼時,windows會使用當前的用戶的賬號密碼嘗試NTLM認證,如果認證失敗,客戶端會要求用戶輸入賬號密碼重新認證—-這是正常流程,按照正常流程,我們是會認證兩次,而responder也會捕獲兩次Hash。)
1.3 windows 提示:賬戶被禁用,然后終止,kali也只捕獲到一次hash。如圖4圖5所示

圖4

圖5
說好的捕獲多次呢,騙人。我們來看一下WireShake抓包的情況,如圖6:

就像配置文件里說的,responder返回了ACCOUNT_DISABLED”\x72\x00\x00\xc0″的響應 ,沒問題啊。
為什么會出現這種情況呢?
這要歸咎于SMB客戶端的復雜性,不同的SMB客戶端可能是由不同的團隊實現。ACCOUNT_DISABLED”\x72\x00\x00\xc0″對于某些SMB客戶端會導致客戶端重新認證,而net use實現SMB客戶端收到ACCOUNT_DISABLED”\x72\x00\x00\xc0″的數據包,會將認證狀態打印到屏幕上,然后中斷正常的再次認證流程。
經過查閱資料和實驗,我們可以將它改為PASSWORD_EXPIRED “\x71\x00\x00\xc0″,因為它有更好的兼容性(其實能改的值很多,比如LOGON_FAILURE “\x6d\x00\x00\xc0″,我們這里用PASSWORD_EXPIRED “\x71\x00\x00\xc0″),客戶端會進行再次認證。

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.650547.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        安徽快3自由的百科 股票拉升k线图 李嘉诚理财分配工资 广东36选7中奖规则及奖金 安徽快三走势图50期 p62黑龙江彩票开奖结果 多乐彩11选五 浙冮体彩6十1开奖结果 股票开户多少钱 河内5分彩被骗 4987铁算结果开奖结果小说