使用 Smbexec 破解隱藏密碼

使用 Smbexec 破解隱藏密碼

我們定期撰寫有關駭客如何利用漏洞的文章 沒有惡意程式碼的駭客方法以避免被發現。 他們字面上 “在牧場生存”,使用標準 Windows 工具,從而繞過防毒軟體和其他用於偵測惡意活動的實用程式。 身為防禦者,我們現在被迫應對這種巧妙的駭客技術所帶來的不幸後果:一個合適的員工可以使用相同的方法來秘密竊取資料(公司智慧財產權、信用卡號碼)。 如果他不著急,而是慢慢地、安靜地工作,這將是極其困難的——但如果他使用正確的方法和適當的方法,這仍然是可能的。 工具, — 識別此類活動。

另一方面,我不想妖魔化員工,因為沒有人願意在奧威爾《1984》的商業環境中工作。 幸運的是,有一些實用的步驟和生活技巧可以讓內部人士的生活變得更加困難。 我們會考慮 隱蔽攻擊方法,由具有一定技術背景的員工駭客使用。 我們將進一步討論降低此類風險的選項 - 我們將研究技術和組織選項。

PsExec 有什麼問題嗎?

無論正確與否,愛德華·斯諾登已經成為內幕資料竊取的代名詞。 順便說一句,別忘了看一下 這張紙條 關於其他也值得享有一定聲譽的內部人士。 關於史諾登所使用的方法,值得強調的一個重要點是,據我們所知,他 沒有安裝 沒有外部惡意軟體!

相反,斯諾登使用了一些社會工程,並利用他作為系統管理員的職位來收集密碼並創建憑證。 沒什麼複雜的——沒有 米米卡茲, 攻擊 人在這方面的中間人 Metasploit的.

組織員工並不總是處於斯諾登的獨特地位,但從「放牧生存」的理念中可以吸取很多教訓,要注意——不要從事任何可以檢測到的惡意活動,尤其要謹慎使用憑證。 記住這個想法。

執行程式 和他的表弟 破解圖執行程式 給無數滲透測試者、駭客和網路安全部落客留下了深刻的印象。 當與 mimikatz 結合使用時,psexec 允許攻擊者在網路內移動,而無需知道明文密碼。

Mimikatz 攔截來自 LSASS 程序的 NTLM 哈希,然後傳遞令牌或憑證 - 即所謂的。 「傳遞哈希」攻擊 – 在 psexec 中,允許攻擊者以下列身分登入另一台伺服器 另一個 用戶。 隨後每次移動到新伺服器時,攻擊者都會收集額外的憑證,從而擴大其搜尋可用內容的能力範圍。

當我第一次開始使用 psexec 時,它對我來說很神奇 - 謝謝 馬克魯西諾維奇, psexec 的傑出開發者 - 但我也知道他的 嘈雜 成分。 祂從來不隱密!

關於 psexec 的第一個有趣的事實是它使用極其複雜的 SMB網路檔案協議 來自微軟。 使用 SMB,psexec 傳輸小數據 二進位 檔案複製到目標系統,將它們放置在 C:Windows 資料夾中。

接下來,psexec 使用複製的二進位檔案建立 Windows 服務,並以極其「意外」的名稱 PSEXECSVC 運行它。 同時,您實際上可以像我一樣透過觀看遠端電腦來看到這一切(請參閱下文)。

使用 Smbexec 破解隱藏密碼

Psexec 的電話卡:「PSEXECSVC」服務。 它運行透過 SMB 放置在 C:Windows 資料夾中的二進位檔案。

最後一步,開啟複製的二進位文件 RPC連接 到目標伺服器,然後接受控制命令(預設透過 Windows cmd shell),啟動它們並將輸入和輸出重新導向到攻擊者的家庭電腦。 在這種情況下,攻擊者會看到基本的命令列 - 就像直接連接一樣。

很多組件和一個非常吵雜的過程!

psexec 的複雜內部結構解釋了幾年前第一次測試時令我困惑的消息:“正在啟動 PSEXECSVC...”,然後在命令提示字元出現之前暫停。

使用 Smbexec 破解隱藏密碼

Impacket 的 Psexec 實際上顯示了幕後發生的事情。

毫不奇怪:psexec 在幕後做了大量的工作。 如果您有興趣了解更詳細的解釋,請查看此處 通過這個 精彩的描述。

顯然,當用作系統管理工具時, 最初的目的 psexec,所有這些 Windows 機制的「嗡嗡聲」並沒有什麼問題。 然而,對於攻擊者來說,psexec 會造成麻煩,而對於像斯諾登這樣謹慎而狡猾的內部人士來說,psexec 或類似的實用程式風險太大。

然後是 Smbexec

SMB 是一種在伺服器之間傳輸檔案的巧妙而秘密的方式,幾個世紀以來駭客一直在直接滲透 SMB。 我想每個人都已經知道這是不值得的 打開 SMB 連接埠 445 和 139 連接到互聯網,對吧?

在 Defcon 2013 上,Eric Millman (布拉夫0哈克斯) 呈現 SMB執行程式,以便滲透測試人員可以嘗試秘密的 SMB 駭客攻擊。 我不知道整個故事,但後來Impacket進一步完善了smbexec。 事實上,為了進行測試,我從 Impacket in Python 下載了腳本 Github上.

與 psexec 不同,smbexec 避免 將可能偵測到的二進位檔案傳輸到目標電腦。 相反,該公用事業公司完全從牧場到發射 當地的 Windows 命令列。

它的作用如下:它透過 SMB 將命令從攻擊機器傳遞到特殊的輸入文件,然後創建並運行 Linux 用戶熟悉的複雜命令列(如 Windows 服務)。 簡而言之:它啟動本機 Windows cmd shell,將輸出重新導向到另一個文件,然後透過 SMB 將其發送回攻擊者的電腦。

理解這一點的最好方法是查看命令列,我可以從事件日誌中取得命令列(請參閱下文)。

使用 Smbexec 破解隱藏密碼

這不是重定向 I/O 的最佳方式嗎? 順便說一句,服務建立的事件 ID 為 7045。

與 psexec 一樣,它也創建一個完成所有工作的服務,但之後的服務 已刪除 – 它只使用一次來運行命令,然後就消失了! 監控受害者機器的資訊安全人員將無法偵測到 明顯的 攻擊指標:沒有啟動惡意文件,沒有安裝持久性服務,也沒有使用 RPC 的證據,因為 SMB 是唯一的資料傳輸方式。 傑出的!

從攻擊者的角度來看,可以使用“偽 shell”,在發送命令和接收回應之間存在延遲。 但這對於攻擊者(無論是內部人員還是已經站穩腳跟的外部駭客)來說已經足夠開始尋找有趣的內容了。

使用 Smbexec 破解隱藏密碼

為了將資料從目標機器輸出回攻擊者的機器,使用 客戶端。 是的,這就是同一個森巴舞 效用,但僅透過 Impacket 轉換為 Python 腳本。 事實上,smbclient 可讓您透過 SMB 秘密託管 FTP 傳輸。

讓我們退一步思考這可以為員工做些什麼。 在我虛構的場景中,假設部落客、金融分析師或高薪安全顧問可以使用個人筆記型電腦進行工作。 由於某種神奇的過程,她對公司感到不滿,並且「一切都變糟了」。 根據筆記型電腦作業系統的不同,它可以使用 Impact 的 Python 版本,也可以使用 Windows 版本的 smbexec 或 smbclient 作為 .exe 檔案。

和史諾登一樣,她要么透過回頭查看來發現另一個用戶的密碼,要么她很幸運,偶然發現了一個包含密碼的文字檔案。 在這些憑證的幫助下,她開始以新的權限等級挖掘系統。

駭客 DCC:我們不需要任何「愚蠢」的 Mimikatz

在我之前關於滲透測試的文章中,我經常使用 mimikatz。 這是攔截憑證的絕佳工具 - NTLM 雜湊值,甚至隱藏在筆記型電腦內等待使用的明文密碼。
時代變了。 監控工具在偵測和阻止 mimikatz 方面已經變得更好。 資訊安全管理員現在還有更多選擇來降低與哈希傳遞 (PtH) 攻擊相關的風險。
那麼,聰明的員工應該如何做才能在不使用 mimikatz 的情況下收集額外的憑證呢?

Impacket 的套件包括一個名為 秘密轉儲,它從網域憑證快取(簡稱 DCC)檢索憑證。 我的理解是,如果網域使用者登入伺服器但網域控制站不可用,DCC允許伺服器對使用者進行身份驗證。 無論如何,secretsdump 允許您轉儲所有這些雜湊值(如果可用)。

DCC 哈希值是 不是 NTML 哈希值 不能用於Pth攻擊.

好吧,你可以嘗試破解他們以獲取原始密碼。 然而,微軟在 DCC 方面變得更加聰明,並且 DCC 雜湊值變得極難破解。 是的,我有 hashcat,“世界上最快的密碼猜測器”,但它需要 GPU 才能有效運作。

相反,讓我們試著像斯諾登一樣思考。 員工可以進行面對面的社會工程,並可能找到有關她想要破解其密碼的人的一些資訊。 例如,查明該人的線上帳戶是否曾被駭客入侵,並檢查其明文密碼是否有任何線索。

這就是我決定採用的場景。 假設一名內部人士得知他的老闆 Cruella 在不同的網路資源上多次遭到駭客攻擊。 在分析了其中幾個密碼後,他意識到 Cruella 更喜歡使用棒球隊名稱“Yankees”後跟當前年份的格式 - “Yankees2015”。

如果您現在嘗試在家中重現此內容,那麼您可以下載一個小“C” ,它實作了DCC哈希演算法,並編譯它。 約翰開膛手對了,增加了對DCC的支持,所以也可以用。 讓我們假設一個內部人士不想費心去學習 John the Ripper 並且喜歡在遺留的 C 程式碼上執行「gcc」。

我假裝是內部人士,嘗試了幾種不同的組合,最後發現 Cruella 的密碼是「Yankees2019」(見下文)。 任務完成!

使用 Smbexec 破解隱藏密碼

一點點社會工程、一點算命和一點 Maltego,你就可以順利破解 DCC 哈希了。

我建議我們到這裡就結束了。 我們將在其他貼文中回到這個主題,並研究更慢、更隱密的攻擊方法,繼續以 Impacket 的優秀實用程式集為基礎。

來源: www.habr.com

添加評論