PoshC2 主要是用 Python3 编写的,遵循模块化格式,使用户能够添加自己的模块和工具,从而实现可扩展且灵活的 C2 框架。开箱即用的 PoshC2 带有 PowerShell/C# 和 Python2/Python3 植入物,除了 Python2/Python3 有效负载外,还有用 PowerShell v2 和 v4、C++ 和 C# 源代码、各种可执行文件、DLL 和原始 shellcode 编写的有效负载。这些在各种设备和操作系统上启用 C2 功能,包括 Windows、*nix 和 OSX。
PoshC2 的其他显着特点包括:
您可以直接安装 PoshC2 或使用 Docker 映像,两者的说明如下。
为安装 PoshC2 提供了一个安装脚本:
*** PoshC2 Install script *** Usage: ./Install.sh -b <git branch> -p <Directory to clone PoshC2 to> 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 运行 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
创建一个新项目:
posh-project -n <project-name>
可以使用此脚本切换或列出项目:
[*] Usage: posh-project -n <new-project-name> [*] Usage: posh-project -s switch -to>[*] 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 <username>
有关 PoshC2 的完整文档,请参阅