<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    內網滲透中的 Net-NTLM Relay Attack

    VSole2022-03-30 04:44:42

    漏洞原理

    在看 Net-NTLM Relay Attack 之前,需了解一下攻擊原理是怎樣實現的。

    Net-NTLM Relay 原理,它是發生在 NTLM 認證的第三步,客戶端發送使用服務端 NTLM Hash 加密的 Challenge 值,得到 Net-NTLMHash。我們就是要重放這個 Net-NTLMHash 來進行攻擊。

    所以,進行NTLM Relay攻擊的第一步我們首先要獲得這個Net-NTLMHash值。那么如何能獲得這個Net-NTLMHash值呢?思路是讓受害者把 Net-NTLMhash 自己發送給攻擊者,也就是說只要是使用 SMB、HTTP、LDAP、MSSQL 等協議來進行 NTLM 認證的程序,都可以嘗試用來向攻擊者發送 Net-NTLM hash(思路很多,實際情況靈魂運用)。

    通過 SMB 來進行 Relay Attack

    SMB 協議的 Relay攻擊,可直接 Relay 到 smb 服務器,是最直接最有效的方法。

    通過 SMB Relay Attack 我們可以在目標遠程服務器上執行命令,上傳我們的惡意 exe ,又或者到遠程服務上執行惡意代碼 ... 等等

    而 Relay Attack 有兩種場景:

    1:工作組環境

    在工作組環境里面,工作組中的機器之間相互沒有信任關系,每臺機器的賬號密碼 Hash 只是保存在自己的 SAM 文件中,這個時候 Relay 到別的機器可能性就不大,除非兩臺機器的賬號密碼一樣,不然毫無意義。

    2:域環境

    我們知道在域環境下所有域用戶的賬號密碼 Hash 都保存在域控的 ntds.dit 里面。若沒有限制域用戶登錄到某臺機子,那就可以將該域用戶 Relay 到別人的機子,或者是拿到域控的請求,將域控 Relay 到普通的機子,比如域管運維所在的機器。

    PS:域環境下域控默認開啟 smb 簽名

    下面演示在域環境下進行 Relay Attack,將會使用幾款工具在域環從域控 relay 到普通域機器執行命令等操作。

    當前環境

    目標機器IP紅隊人員VPSKali Linux192.168.0.175域控制器Windows 2008192.168.0.198域內機器Windows 7192.168.0.128

    通過 impacket 下的 smbrelayx.py 進行 Relay Attack

    1、在紅隊人員 VPS 上執行如下命令監聽 80 和 445 端口,偽造 http 和 smb 服務:

    #SMBRelay 攻擊 192.168.0.128 主機,并執行 whoami 命令
    python3 smbrelayx.py -h 192.168.0.128 -c whoami
    

    2、通過釣魚或者其他手段誘導域管理員或域用戶訪問了紅隊人員偽造的 HTTP 或 SMB 服務,訪問 http://192.168.0.175 ,并輸入賬號密碼進行認證:

    3、此時就 Relay 成功獲取到 192.168.0.128 的 system 權限(當然只是 whoami 命令,實戰中可以直接遠程加載 powershell 或者其他手段反彈 Shell 到 C2,在這里就不多闡述)

    通過 impacket 下的 ntlmrelayx.py 進行 Relay Attack

    1、在紅隊人員 VPS 上執行如下命令監聽 80 和 445 端口,偽造 http 和 smb 服務:

    # SMBRelay 攻擊 192.168.0.128 主機,并執行 whoami 命令
    python3 ntlmrelayx.py -t smb://192.168.0.128 -c whoami -smb2support
    

    2、通過釣魚或者其他手段誘導域管理員或域用戶訪問了紅隊人員偽造的 HTTP 或 SMB 服務,訪問 http://192.168.0.175 ,并輸入賬號密碼進行認證:

    或者讓域控隨便訪問一個資源使用 smb 觸發:(因為它會檢查本地 host 文件,然后檢查 DNS,如果都不存在,就會通過 LLMNR 協議進行多播,在局域網中進行搜索。此時可以在攻擊機上看到 Responder 的響應,然后受害者的 Windows 機器會向攻擊者進行身份驗證)

    3、此時就 Relay 成功獲取到 192.168.0.128 的 system 權限:

    結尾

    在內網滲透中若利用 LLMNR/NetBIOS 劫持成功并獲得了目標主機的 Net-NTLM Hash,我們可以進行爆破,但是需要有一個強大的字典,否則你很難得到明文密碼。

    由于 Net-NTLM Hash 不像 NTLM-Hash,我們不能用 Net-NTLM Hash 來進行 Pass The Hash。那么不妨試一下 NTLM Relay Attack。

    hash
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    //oldTab:引用擴容前的哈希表。//oldCap:表示擴容前的table數組的長度。//獲得舊哈希表的擴容閾值。//newThr:擴容之后下次觸發擴容的條件。//條件成立說明hashMap中的散列表已經初始化過了,
    一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入,通過散列算法,變換成固定長度的輸 出,該輸出就是散列值。
    Perfetch Hash Cracker是一款基于Rust開發的強大暴力破解工具,該工具可以幫助廣大研究人員通過爆破的形式破解prefetch哈希。
    隨著攻防演練的頻繁和?們安全意識的提升,企業內部Windows主機的?令也設置的較為復雜,經 常拿到windows 服務器的時候,獲取到了hash,但是?法解密出密碼的情況,這時候就需要?法,攻擊者不需要花費時間來懟hash進?02測試環境Windows server 2012 ?先需要獲取ntml hash,由于直接從內存讀取到的可能是密碼修改之前的hash,這?些遠程命令的執??持wmi,默認開啟,且windows 默認不會將wmi 的操作記錄到?具的原理是wmi 創建進程執?impacket 中的smbexec 程序,命令如下python3 smbexec.py -hashes
    Wavecrack是一款針對密碼安全的強大工具,該工具提供了一個用戶友好的Web接口,該工具支持預定義的配置,并能夠在多個用戶之間共享hashcat破解信息,然后使用hashcat實現密碼破解。?hashcatFlaskCelerySQLiterabbitmq-serverhashcat規則字典文件?首先,我們需要使用下列命令將該項目源碼克隆至本地:git?安裝RabbitMQ服務器和python-ldap依賴:$?開啟RabbitMQ服務器:$ sudo service rabbitmq-server start. 工具首頁添加一個待破解的哈希查看結果和其他狀態信息?本項目的開發與發布遵循GNU開源許可證協議。?
    筆者在對volatility工具進行了解后,對分析vmem文件的手法進行了一定優化,可以提升解決鎖屏問題的效率。不過官方團隊并沒有打包volatility3的可執行程序,原因寫的是打包出來的packages會被識別為惡意軟件,解決了這個問題就會出可執行程序了。過程思路一、直接在esxi中部署volatility3項目Linux環境下的esxi,這個思考很快就被證明不太可行了,volatility3需要多個系統庫和pip庫:yum install zlib &&\yum install zlib-devel &&\yum install bzip2-devel &&\yum install ncurses-devel &&\yum install sqlite-devel &&\yum install readline-devel &&\yum install gcc &&\yum install libffi &&\yum install libffi-devel &&\yum install gcc-c++\yum install openssl-devel\yum install tk-devel
    雖然加密技術新輩多出,但哈希算法(也稱“散列算法”)自誕生以來,已成為加密算法領域不可或缺的應用。 最簡單的散列算法也被用來加密存在數據庫中的密碼字符串,日常我們在各大APP中注冊時填寫的密碼均是以字符串方式保存在服務器中,用戶登陸時需要再次對輸入密碼實施哈希計算,而后將兩個密碼字符串進行碰撞驗證登陸。
    內網滲透hash竊取技巧
    2021-11-28 06:53:23
    在內網滲透的過程中,最重要的就是信息搜集,但是在極端情況下我們找不到能夠橫或者跨域的機器,那么這時候我們就可以嘗試做一個水坑,來嘗試獲取hash。當然這只是理想情況,在愈發強調對抗的當下,利用水坑釣魚也變得不是那么簡單。
    我們知道HashMap底層是由數組+鏈表/紅黑樹構成的,當我們通過put(key, value)向hashmap中添加元素時,需要通過散列函數確定元素究竟應該放置在數組中的哪個位置,當不同的元素被放置在了數據的同一個位置時,后放入的元素會以鏈表的形式,插在前一個元素的尾部,這個時候我們稱發生了hash沖突。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类