前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >神兵利器 - C2 框架

神兵利器 - C2 框架

作者头像
Khan安全团队
发布2022-04-02 11:17:41
1.3K0
发布2022-04-02 11:17:41
举报
文章被收录于专栏:Khan安全团队Khan安全团队

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 提供了一个安装脚本:

代码语言:javascript
复制
*** PoshC2 Install script ***
Usage:
./Install.sh -b <git branch> -p <Directory to clone PoshC2 to>

Defaults are master branch to /opt/PoshC2

安装脚本执行apt更新和安装时需要提升权限。

代码语言:javascript
复制
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash

或者,可以克隆存储库并手动运行安装脚本。

代码语言:javascript
复制
sudo ./Install.sh

您可以通过将 PoshC2 安装目录作为-p参数传递给 Install.sh 脚本来手动设置它。

默认为/opt/PoshC2:

代码语言:javascript
复制
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 的主机

安装脚本:

代码语言:javascript
复制
*** PoshC2 Install script for Docker ***
Usage:
./Install-for-Docker.sh -b <git branch>

Default is the master branch
代码语言:javascript
复制
代码语言:javascript
复制
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash
代码语言:javascript
复制

在 Windows 上,导入 PoshC2.psm1 PowerShell 模块。

代码语言:javascript
复制
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

创建一个新项目:

代码语言:javascript
复制
posh-project -n <project-name>

可以使用此脚本切换或列出项目:

代码语言:javascript
复制
[*] Usage: posh-project -n <new-project-name>
[*] Usage: posh-project -s <project-to-switch-to>
[*] Usage: posh-project -l (lists projects)
[*] Usage: posh-project -d <project-to-delete>
[*] Usage: posh-project -c (shows current project)

编辑项目的配置:

代码语言:javascript
复制
posh-config

启动 PoshC2 服务器:

代码语言:javascript
复制
posh-server

或者将其作为服务启动:

代码语言:javascript
复制
posh-service

另外,运行 ImplantHandler 交互:

代码语言:javascript
复制
posh -u <username>

有关 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/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全攻防实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
    • 直接安装在 Kali 主机上
    • Docker 安装
    • 运行 PoshC2
    相关产品与服务
    容器镜像服务
    容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档