Ⅰ 紅隊最喜歡的18 種優秀的網路安全滲透工具
Bishop labs用了兩期博客,前後各總結了9個紅隊工具,共計18個紅隊使用的優秀滲透工具,其博客文章也提及,這份清單不是決定性的,也僅用於參考。
創建者: @IAmMandatory
用途:允許 谷歌 Chrome 瀏覽器將受害者的瀏覽器變成測試代理。
優點: CursedChrome 可以很容易地在紅隊參與期間模擬惡意瀏覽器擴展。用來劫持 Chrome 瀏覽器,繞過大多數 2FA 或其他可能存在的安全保護,並利用 cookie 來訪問任何基於網路的目標。
創建者: @symbolcrash1
用途: Universal Loader 是一個 Golang 庫,可以跨多個平台(Linux、Windows 和 OSX)從內存中載入共享庫,而無需CGO。
優點: Universal Loader 可以用在新的 Apple M1 晶元上,值得一提的是,這個 Golang 庫沒有使用 memfd,這使它成為第一個這樣做的 Golang Linux 載入器。由於這兩個原因,Universal Loader 是一個相當令人印象深刻的紅隊工具。
創建者: QSecure Labs
用途: Overlord 是一個基於 Python 的控制台命令行界面,用於自動化紅隊基礎設施。
優點: 在紅隊參與期間能夠根據需要快速啟動安全基礎設施非常重要,該工具可以節省大量時間,然後可以將這些時間用於進行一些實際的黑客攻擊。
創作者: @LittleJoeTables和@rkervell
用途: Sliver是一個用 Golang 編寫的跨平台通用植入框架。
優點: 這個工具是兩位 Bishop Fox 研究人員的創意,所以我們的偏見可能會表現出來。類似於商業工具Cobalt Strike。使 Sliver 值得注意的是諸如使用每個二進制混淆的動態代碼生成、多個和可擴展的出口協議以及支持多個操作員同時控制植入物等功能。此外,它易於使用且運行速度快。
創作者: @tillson_
用途: 使用 Githound 來定位暴露的 API 密鑰和其他圍繞 GitHub 浮動的敏感信息。該工具通過模式匹配、提交 歷史 搜索和「獨特的結果評分系統」工作。
優點: 像 Githound 這樣的秘密竊取工具並不少見,但這並沒有使這個工具(或其他類似工具)的價值降低。Githound 的一些可能用例包括檢測暴露的客戶 API 密鑰以及員工 API 令牌。如果您進行漏洞賞金,此工具可用於添加書簽 - 有些人報告說,由於它,因此獲得了數千美元的賞金。
創作者: @browninfosecguy
用途: 這個工具的名字說明了一切,在 PowerShell 中輕松地為 Microsoft Active Directory 設置實驗室。
優點: 速度很快,效果很好。可以使用此工具來確保您針對 Active Directory 使用的任何漏洞利用都已完善,然後再將其引入客戶端環境。對於只想更輕松地測試 Active Directory 的滲透測試員來說非常有用。
創建者: Microsoft Azure 紅隊
用途: 可以使用 Stormspotter 更好地可視化 Azure 攻擊面;此工具可幫助您繪制 Azure 和 Azure Active Directory 對象。
優點: 類似滲透測試工具BloodHound概念類似,只是該工具是為 Azure 環境設計的。對於任何藍色或紫色團隊成員來說,從防禦的角度來看,Stormspotter 也非常有用。
創建者: @Void_Sec
用途: ECG 實際上是一種商業工具。該工具是靜態源代碼掃描器,能夠分析和檢測 TCL/ADP 源代碼中真實和復雜的安全漏洞。
優點: ECG是一種強大的工具,可以填補令人驚訝的空白。正如 VoidSec 在他們的官方文章中所指出的,TCL代碼相當普遍;所以能夠徹底分析漏洞可能會非常有幫助。沒有很多其他工具可以滿足這種獨特的需求,無論是商業的還是其他的。
創建者: @TryCatchHCF
用途: 可以使用 DumpsterFire 構建「時間觸發的分布式」安全事件來測試紅隊進攻和藍隊防守。
優點: DumpsterFire 將傳統桌面練習提升到一個新的水平,它還使用自動化來在參與期間有效地進行多任務處理(並避開一些更乏味的事情)。DumpsterFire 允許的定製程度令人印象深刻;可以真正定製模擬安全事件來滿足獨一無二的情況。
10.GhostPack
創建者: SpecterOps ( @SpecterOps )
用途: 藉助強大的後開發工具集 GhostPack,可以做各種事情;可以攻擊 KeePass 2.X 資料庫、復制鎖定的文件、篡改 Active Directory 證書等。
優點: GhostPack 是一種滿足黑客需求的「一站式商店」。包含的 13 個工具包括非常有用的 Rubeus、Seatbelt 和 SharpUp。Rubeus 是一個 C# 工具集,直接與 Active Directory 環境中的 Kerberos 協議交互,允許直接與 Kerberos 屬性(例如票證和常規身份驗證)進行通信,然後可以利用這些屬性在網路中移動。Seatbelt 是一個 C# 項目,可用於面向安全的主機「安全檢查」,而 SharpUp 是一個 C# 工具,可識別本地許可權提升路徑。這些工具被無數紅隊和網路滲透測試員使用。
創作者: Benjamin Delpy ( @gentilkiwi )
用途: Mimikatz 可以從 Windows 環境中提取密碼和其他憑據。是一種非常流行的滲透測試工具,已經存在了十多年。但 Mimikatz 會定期維護和更新,以確保仍然是最前沿的工具
優點: 將 Mimikatz 視為網路滲透測試的瑞士軍刀。帶有幾個內置工具,對 Kerberoasting、密碼轉儲很有用,你能想到的,Mimikatz 都可以做到。而且 Mimikatz 不僅適用於那裡的進攻性安全專業人員——防禦性安全團隊也可以從中受益(如果你發現自己處於紫色團隊場景中,這也是個好兆頭)。
創建者: Metasploit 項目 ( @metasploit ),由 Rapid7 與開源社區合作運營
用途: Metasploit 可以說是世界領先的滲透測試框架,由 HD Moore 於 2003 年創建。Metasploit 包括用於滲透測試幾乎每個階段的模塊,這有助於其普及。包括約 250 個後利用模塊,可用於捕獲擊鍵、收集網路信息、顯示操作系統環境變數等。
優點: Metasploit 後開發模塊非常龐大,有一個模塊最突出——Meterpreter 有效載荷。Meterpreter 允許 探索 目標系統並執行代碼,並且由於它通過內存 DLL 注入工作,因此不必冒險留下任何操作證據。Metasploit 後開發功能也非常通用,具有適用於 Windows、Linux 和 OS X 的模塊。
創作者: 阿德里安·沃爾默( @mr_mitm )
用途: 此後利用工具旨在繞過端點檢測和應用程序阻止列表。
優點: 可以使用 PowerHub 傳輸文件,而不會在測試環境中發出任何安全保護警報,這將使下一次滲透測試更加順暢和輕松。使用此工具領先於 Windows Defender。
創建者: LOLBAS 項目和亞利桑那州安全工程與研究小組
用途: LOLBAS 是一個字典,用於在 Windows 機器上使用二進制文件查找可能的許可權提升路徑。LLOLBAS 是與 LOLBAS 協同工作的攝取器。攝取器會在 Windows 機器上的 LOLBAS 列表中查找所有二進制文件,因此無需猜測或對列表進行排序以查找它們(這可能很乏味)。
優點: LOLBAS 項目可搜索機器上可能的許可權提升路徑,而 LLOLBAS 允許針對特定機器定製這些路徑。結合這兩個工具,(幾乎)在參與中勢不可擋。作為一個額外的好處,如果出現需要它們的情況,可以方便地使用離線工具。
創作者: @nil0x42
用途: PHPSploit 充當功能齊全的 C2 框架,通過單行 PHP 後門在 Web 伺服器上靜默地持久化。
優點: PHPSploit 是非安全參與時手頭上的一項了不起的工具——高效、用戶友好且運行安靜。正如其 GitHub 描述所述,PHPSploit 是「由偏執狂,為偏執狂設計的」。
創作者: 塞瓦加斯
用途: 可以使用 swap_digger 在後期開發或取證期間自動進行 Linux 交換分析。
優點: 在 Linux 交換空間中可以找到各種各樣的好東西,從密碼和電子郵件地址到 GPG 私鑰。Swap_digger 可以梳理這些交換空間並找到高影響力的獎杯,這將使評估更加成功。
創建者: RedCode 實驗室
用途: Bashark 是一個後開發工具包,顧名思義,是用編程語言 Bash 編寫的。這是一個可以產生巨大結果的簡單腳本。
優點: Bashark 工作快速而隱蔽,允許通過創建 Bash 函數來添加新命令,並清除在目標環境中使用腳本後可能留下的任何痕跡。
創作者: AlessandroZ
用途: 使用 BeRoot 項目查找可用於在 Windows、Linux 和 OS X 環境中提升許可權的常見錯誤配置。
優點: 識別常見的錯誤配置是在網路中立足的最可靠方法之一,因此找到這些錯誤配置的速度越快越好。BeRoot 項目在這方面提供了極大的幫助。
本文,旨在介紹一些紅隊工具,供大家了解和參考研究之用,不建議任何人利用網路技術從事非法工作,破壞他人計算機等行為。滲透有風險,入坑需謹慎。法網恢恢,疏而不漏。請正確理解滲透含義,正確利用滲透技術,做網路安全服務的踐行者。
Ⅱ Kali Linux 無線滲透測試入門指南 第四章 WLAN 加密缺陷
即使做了最充分的預測,未來始終是不可預測的。WLAN 委員會設計了了 WEP 和 WPA 作為最簡單的加密機制,但是,久而久之,這些機制擁有在現實世界中廣泛公布和利用的缺陷。
WLAN 加密機制易受密碼學攻擊,這有相當長的歷史了。這從 2000 年的 WEP 開始,它最後被完全破解。最近,攻擊慢慢轉向了 WPA。即使當前沒有公開攻擊方式用於在所有情況下破解 WPA,特殊情況下的攻擊還是可行的。
WLAN 在空氣中傳輸數據,所以保護數據的機密性是一種內在需求。使用加密是最佳方案。WLAN 委員會(IEEE 802.11)為數據加密指定了以下協議:
這一章中,我們會看一看每個加密協議,並演示針對它們的多種攻擊。
WEP 協議在 2000 年發現漏洞,但是,詫異的是,它仍然被使用,並且接入點仍然自帶 WEP 功能。
WEP 中有輪純明許多密碼學缺陷,它們被 Walker,Arbaugh,Fluhrer,Martin,Shamir,KoreK,以及其它人發現。密碼學立場上的評估超出了這本書的范圍,並且涉及到復雜的數學。這一節中,我們會看一看如何使用 Kali 中便捷可用的工具來破解 WEP 加密。這包含整個 aircrack-ng 工具套件 -- airmon-ng , aireplay-ng , airomp-ng , aircrack-ng ,以及其它。
WEP 的基礎缺陷是使用 RC4 和短的 IV 值,每 224 幀復用。雖然這本身是個大數,但是每 5000 個封包中還是有 50% 的幾率重用四次。為了利用這個,我們嘗試大量流量,是我們增加重用 IV 的可能性,從而比較兩個使用相同密鑰和 IV 加密的密文。
讓我們首先在測試環境中建立 WEP,並且看看如何破解。
遵循以下指南來開始:
我們在環境中建立 WEP,並成功破解了 WEP 密鑰。為了完成它,我們首先等待正常客戶端連接到接入點。之後,我們使用 aireplay-ng 工具在網路上重放 ARP 封包。這會導致網路發送 ARP 重放封包,從而增加空中發送的數據封包數量。之後我們使用 aircrack-ng 工臘告具,通過分析數據風暴的密碼學缺陷來破解 WEP 密鑰。
要注意我們也能夠使用共享密鑰驗證繞過機制,來偽造接入點的驗證,這會在後面的章節褲攔中學到。如果正常客戶端離開了網路,這可以更方便一些。這會確保我們可以偽造驗證和關聯,並且繼續將重放封包發送到網路。
在之前的練習中,如果正常客戶端突然斷開了網路,我們就不能重放封包,因為接入點會拒絕接受來自未關聯客戶端的封包。
你的挑戰就是,使用即將在後面學到的共享密鑰繞過偽造驗證和授權,使你仍然能夠將封包注入到網路中,並驗證接入點是否接受和響應它們。
WPA 或者 WPA v1 主要使用 TKIP 加密演算法。TKIP 用於改進 WEP,不需要完全新的硬體來運行。反之,WPA2 必須使用 AES-CCMP 演算法來加密,這比 TKIP 更加強大和健壯。
WPA 和 WPA2 允許 基於 WAP 的驗證,使用基於 RADIUS 伺服器(企業)和預共享密鑰(PSK)(個人)的驗證模式。
WPA/WPA2 PSK 易受字典攻擊。攻擊所需的輸入是客戶端和接入點之間的四次 WPA 握手,以及包含常用口令的單詞列表。之後,使用例如 Aircrack-ng 的工具,我們可以嘗試破解 WPA/WPA2 PSK 口令。
四次握手的演示見下面:
WPA/WPA2 PSK 的原理是它導出了會話層面的密鑰,叫做成對臨時密鑰(PTK),使用預共享密鑰和五個其它參數 -- 網路 SSID、驗證者 Nounce (ANounce)、申請者 Nounce (SNounce)、驗證著 MAC 地址(接入點 MAC)、申請者 MAC 地址(WIFI 客戶端 MAC)。密鑰之後用於加密接入點和客戶端之間的所有數據。
通過嗅探空氣來竊取整個對話的攻擊者,可以獲得前面提到的全部五個參數。它唯一不能得到的東西就是預共享密鑰。所以,預共享密鑰如何創建?它由用戶提供的 WPA-PSK 口令以及 SSID 導出。這些東西的組合通過基於密碼的密鑰推導函數(PBKDF2)來發送,它的輸出是 256 位的共享密鑰。
在典型的 WPA/WPA2 PSK 字典攻擊中,攻擊者會使用可能口令的大量字典以及攻擊工具。工具會從每個口令中導出 256 位的預共享密鑰,並和其它參數(之前提到過)一起使用來創建 PTK。PTK 用於在握手包之一中驗證信息完整性檢查(MIC)。如果匹配,從字典中猜測的口令就正確,反之就不正確。
最後,如果授權網路的口令存在於字典中,它會被識別。這就是 WPA/WPA2 PSK 破解的工作原理。下面的圖展示涉及到的步驟:
下個練習中,我們會看一看如何破解 WPA PSK 無線網路。使用 CCMP(AES)的WPA2-PSK 網路的破解步驟與之相同。
遵循以下指南來開始:
我們在接入點上設置了 WPA-PSK,使用常見口令: abcdefgh 。之後我們使用解除驗證攻擊,讓正常客戶端重新連接到接入點。當我們重新連接時,我們捕獲了客戶端和接入點之間的 WPA 四次握手。
因為 WPA-PSK 易受字典攻擊,我們向 Aircrack-ng 輸入了包含 WPA 四次握手的捕獲文件,以及常見口令的列表(以單詞列表形式)。因為口令 abcdefgh 出現在單詞列表中, Aircrack-ng 就能夠破解 WPS-PSK 共享口令。要再次注意,在基於字典的 WPA 破解中,你的水平就等於你的字典。所以在你開始之前,編譯一個大型並且詳細的字典非常重要。通過 Kali 自帶的字典,有時候可能不夠,可能需要更多單詞,尤其是考慮位置因素。
Cowpatty 是個同樣使用字典攻擊來破解 WPA-PSK 口令的工具。這個工具在 Kali 中自帶。我將其留做練習,來讓你使用 Cowpatty 破解 WPA-PSK 口令。
同樣,設置不常見的口令,它不出現在你的字典中,並再次嘗試。你現在再破解口令就不會成功了,無論使用 Aircrack-ng 還是 Cowpatty。
要注意,可以對 WPA2-PSK 網路執行相同攻擊。我推薦你自己驗證一下。
我們在上一節中看到,如果我們在字典中擁有正確的口令,破解個人 WPA 每次都會像魔法一樣。所以,為什麼我們不創建一個大型的詳細字典,包含百萬個常見密碼和片語呢?這會幫助我們很多,並且多數情況都會最終破解出口令。這聽起來不錯,但是我們錯過了一個核心組件 -- 所花費的時間。更多需要 CPU 和時間的計算之一就是使用 PSK 口令和 SSID 通過 PSKDF2 的預共享密鑰。這個函數在輸出 256 位的與共享密鑰之前,計算超過 4096 次二者組合的哈希。破解的下一步就是使用這個密鑰以及四次握手中的參數來驗證握手中的 MIC。這一步計算了非常大。同樣,握手中的參數每次都會變化,於是這一步不能預先計算。所以,為了加速破解進程,我們需要使來自口令的與共享密鑰的計算盡可能快。
我們可以通過預先計算與共享密鑰,在 802.11 標准術語中也叫作成對主密鑰(PMK)來加速。要注意,因為 SSID 也用於計算 PMK,使用相同口令和不同 SSID,我們會得到不同的 PMK。所以,PMK 取決於口令和 SSID。
下個練習中,我們會看看如何預先計算 PMK,並將其用於 WPA/WPA2 的破解。
我們可以遵循以下步驟來開始:
我們查看了多種不同工具和技巧來加速 WPA/WPA2-PSK 破解。主要原理就是對給定的 SSID 和字典中的口令列表預計算 PMK。
在所有我們做過的聯系中,我們使用多種技巧破解了 WEP 和 WPA 密鑰。我們能拿這些信息做什麼呢?第一步就是使用密鑰解密我們捕獲的數據封包。
下一個練習中,我們會在相同的我們所捕獲的記錄文件中解密 WEP 和 WPA 封包,使用我們破解得到的密鑰。
遵循以下步驟來開始:
我們剛剛看到了如何使用 Airdecap-ng 解密 WEP 和 WPA/WPA2-PSK 加密封包。要注意,我們可以使用 Wireshark 做相同的事情。我們推薦你查閱 Wireshark 的文檔來探索如何用它來完成。
我們也可以在破解網路密鑰之後連接到授權網路。這在滲透測試過程中非常方便。使用破解的密鑰登錄授權網路,是你可以提供給客戶的證明網路不安全的證據。
遵循以下步驟來開始:
我們連接到了 WEP 網路。
遵循以下步驟來開始:
默認的 WIFI 工具 iwconfig 不能用於連接 WPA/WPA2 網路。實際上的工具是 WPA_Supplicant 。這個實驗中,我們看到如何使用它來連接 WPA 網路。
Q1 哪種封包用於封包重放?
Q2 WEP 什麼時候能被破解?
Q3 WPA 什麼時候能被破解?
這一章中,我們了解了 WLAN 加密。WEP 含有缺陷,無論 WEP 密鑰是什麼,使用足夠的數據封包就能破解 WEP。WPA/WPA2 在密碼學上不可破解;但是,在特殊的場景下,例如 WPA/WP2-PSK 中使用了弱口令,它就能夠通過字典攻擊來獲得口令。
下一章中我們會看一看 WLAN 設施上的不同工具,例如偽造接入點,邪惡雙生子,位反轉攻擊,以及其它。