前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Red team之Octopus(章鱼)的使用

Red team之Octopus(章鱼)的使用

作者头像
鸿鹄实验室
发布2021-04-15 13:11:45
1.5K0
发布2021-04-15 13:11:45
举报
文章被收录于专栏:鸿鹄实验室鸿鹄实验室

这款工具最早被演示于BlackHat London 2019中,Octopus是一个基于python3的开源,可操作的C2服务器,它可以通过HTTP/ S控制Octopus powershell代理。

Octopus在与C2通信时被设计为隐秘且隐蔽的,因为它在Powershell代理与C2服务器之间的加密通道默认使用AES-256。

Octopus的功能

  • 通过HTTP / S控制代理。
  • 执行系统命令。
  • 下载文件。
  • 加载外部Powershell模块。
  • 在C2和代理之间使用加密的通道(AES-256)。
  • 使用不起眼的技术执行命令并传输结果。
  • 为每个目标创建自定义侦听器和多个侦听器。
  • 生成不同类型的有效载荷。
  • 支持Powershell 2.0或更高版本的所有Windows版本。
  • 在不触摸powershell.exe进程的情况下运行Octopus Windows可执行代理。
  • 创建自定义配置文件。
  • 从端点自动收集信息(端点态势感知)功能。

工具安装:

执行以下命令:

代码语言:javascript
复制
git clone https://github.com/mhaskar/Octopus.git
sudo pip3 install -r requirement.txt

过以下命令安装`mono-devel`以在Octopus中使用C#编译功能:

代码语言:javascript
复制
apt install mono-devel

工具使用:

您可以编辑文件profile.py 以开始构建自己的配置文件,其中包含以下主要URL:

  • file_receiver_url:处理文件下载。
  • report_url:处理ESA报告。
  • command_send_url:处理将发送到目标的命令。
  • command_receiver_url:处理将在目标上执行的命令。
  • first_ping_url:处理来自目标的第一个连接。
  • server_response_header:此标头将在每个响应中显示。

您可以输入help命令来查看工具的部分帮助:

分别是一些监听器、混淆器什么的,我们来使用http(您可以通过SSL / TLS加密通道与代理进行通信,这将在与代理进行通信的同时为您提供更多功能)的方式来开启一个监听,

代码语言:javascript
复制
listen_http listen_ip port hostname interval page listener_name
  • BindIP:侦听器将使用的IP地址。
  • BindPort:要监听的端口。
  • 主机名:您将用于与之通信的主机名。
  • 时间间隔:代理在检查命令之前将等待的秒数。
  • URL:承载有效负载的页面的名称(例如:index.php)。
  • Listener_name:要使用的侦听器名称。

若是https则多出以下的选项:

  • certficate_path:有效ssl证书的路径(letesencrypt证书被称为fullchain.pem)
  • key_path:ssl证书的有效密钥的路径(letesencrypt证书称为key.pem)

您可以生成代理以通过您选择的特定侦听器与C2通信,代理可以为您执行多项任务,例如:

  • 执行系统命令。
  • 加载外部Powershell模块。
  • 从目标计算机下载文件。
  • 运行ESA模块以收集有关目标的一些非常有用的信息

我们可以使用以下方法生成并交付我们的代理:

  • Powershell单线
  • HTA单线(从APT34重复使用)
  • Windows可执行文件(exe文件)

我这里以powershell为例:

代码语言:javascript
复制
generate_powershell listener_name

其他两种也一样:

代码语言:javascript
复制
generate_hta listener_name
generate_exe listener_name output_path

注:用mono-project将C#代理编译为可执行文件,从而为您构建一个现成的Windows可执行文件(exe文件)。

目标机执行生成的powershell指令,上线:

与代理进行交互之后,您只需执行命令并等待结果,即可执行系统命令!

与代理进行交互之后,您只需执行命令并等待结果,即可执行系统命令!

您还可以将Powershell模块加载到Octopus中以在攻击过程中为您提供帮助,您只需要将要使用的模块复制到“模块”目录中,然后在与代理进行交互时执行“load module_name”以直接加载模块,您也可以使用“modules”命令显示所有可用模块。

ESA模块代表“端点态势感知”,它可以帮助攻击者获取有关端点和基础架构的一些额外信息,例如:

  • OS的构建是什么?
  • 他们正在使用哪种AV / EDR?
  • 他们启用了Sysmon吗?
  • 他们正在使用哪个SIEM收集器?
  • 以及其他一些信息

您可以使用Octopus从目标计算机上下载文件,只需执行“ download file_path”即可下载文件。

这里不再演示。

觉得不错,点个在看,谢谢大家。

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

本文分享自 鸿鹄实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档