C2 框架Tools

PoshC2 主要是用 Python3 編寫的,遵循模塊化格式,使用戶能夠添加自己的模塊和工具,從而實現可擴展且靈活的 C2 框架。開箱即用的 PoshC2 帶有 PowerShell/C# 和 Python2/Python3 植入物,除了 Python2/Python3 有效負載外,還有用 PowerShell v2 和 v4、C++ 和 C# 源代碼、各種可執行文件、DLL 和原始 shellcode 編寫的有效負載。這些在各種設備和操作系統上啟用 C2 功能,包括 Windows、*nix 和 OSX。
PoshC2 的其他顯著特點包括:
- 使用 Docker 提供一致的跨平臺支持。
- 高度可配置的有效負載,包括默認信標時間、抖動、終止日期、用戶代理等。
- 大量開箱即用的有效負載經常更新。
- Shellcode 包含內置 AMSI 繞過和 ETW 修補程序,可實現高成功率和隱蔽性。
- 自動生成的 Apache Rewrite 規則用于 C2 代理,保護您的 C2 基礎架構并保持良好的操作安全性。
- 一種模塊化和可擴展的格式,允許用戶創建或編輯可以由 Implants 在內存中運行的 C#、PowerShell 或 Python3 模塊。
- 通過 Pushover 或 Slack 接收成功植入的通知。
- 全面且維護的上下文幫助和帶有上下文自動完成、歷史記錄和建議的智能提示。
- 完全加密的通信,即使在通過 HTTP 通信時也能保護 C2 流量的機密性和完整性。
- 客戶端/服務器格式允許多個團隊成員使用單個 C2 服務器。
- 廣泛的日志記錄。每個動作和響應都帶有時間戳,并與所有相關信息(例如用戶、主機、植入物編號等)一起存儲在數據庫中。除此之外,C2 服務器輸出直接記錄到單獨的文件中。
- 使用 C# 或 Python2/Python3 不使用 System.Management.Automation.dll 的無 PowerShell 植入程序。
- 使用SharpSocks的免費開源 SOCKS 代理
- 植入 HTTP(S) 和 SMB 命名管道通信與植入鏈相結合,用于訪問無法訪問互聯網的網絡。
安裝
您可以直接安裝 PoshC2 或使用 Docker 映像,兩者的說明如下。
直接安裝在 Kali 主機上
為安裝 PoshC2 提供了一個安裝腳本:
*** PoshC2 Install script *** Usage: ./Install.sh -b -p Defaults are master branch to /opt/PoshC2
安裝腳本執行apt更新和安裝時需要提升權限。
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash
或者,可以克隆存儲庫并手動運行安裝腳本。
sudo ./Install.sh
您可以通過將 PoshC2 安裝目錄作為-p參數傳遞給 Install.sh 腳本來手動設置它。
默認為/opt/PoshC2:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash -s -- -p /root/Posh
Docker 安裝
您也可以使用 Docker 運行 PoshC2,這可以讓 PoshC2 更加穩定和運行,并使 PoshC2 能夠輕松地在其他操作系統上運行。
Docker 安裝不會克隆 PoshC2,因為使用了 Docker Hub 上的 PoshC2 映像,因此只執行了一些依賴項和腳本的最小安裝。
首先,在主機上安裝 Docker,然后將 PoshC2 項目目錄作為共享目錄添加到 Docker(如果您的操作系統需要)。默認情況下,這是*nix 上的/ var/poshc2 和 Mac 上的/private/var/poshc2。
基于 Kali 的主機
安裝腳本:
*** PoshC2 Install script for Docker *** Usage: ./Install-for-Docker.sh -b Default is the master branch curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash
在 Windows 上,導入 PoshC2.psm1 PowerShell 模塊。
Import-Module -DisableNameChecking C:\PoshC2\resources\scripts\PoshC2.psm1 posh-project -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" -Arg1 "-n" -Arg2 "newproject" posh-config -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" posh-server -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" posh -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" username
運行 PoshC2
創建一個新項目:
posh-project -n
可以使用此腳本切換或列出項目:
[*] Usage: posh-project -n [*] Usage: posh-project -s [*] Usage: posh-project -l (lists projects) [*] Usage: posh-project -d [*] Usage: posh-project -c (shows current project)
編輯項目的配置:
posh-config
啟動 PoshC2 服務器:
posh-server
或者將其作為服務啟動:
posh-service
另外,運行 ImplantHandler 交互:
posh -u
有關 PoshC2 的完整文檔,請參閱https://poshc2.readthedocs.io/en/latest/
https://labs.nettitude.com/blog/introducing-poshc2-v8-0/
https://labs.nettitude.com/blog/introducing-poshc2-v8-0/