利用Dropbox中转自己的C2

0x00 前言

本来的目的呢,是利用dropbox中转自己的c2达到免杀的效果,然后可能是看了文章太久没抓住机会复现,到最后发现已经失效了,会被360拦截,所以好像也没有了太大的意义,不知道各位老哥有没有其它骚操作?

参考:https://klionsec.github.io

https://truneski.github.io/blog/2018/11/05/cobaltstrike-over-external-c2-via-dropbox/

0x01 环境准备

1、注册dropbox账号

注册地址:https://www.dropbox.com/ (需要FQ)

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

需要做的事情如下:

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

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

安装程序地址: https://github.com/Zeranoe/mingw-w64-build

安装教程:https://blog.csdn.net/jimmyleeee/article/details/83075036

备注:安装过程中可能会报错,提示缺少某些组件,缺什么就通过apt-get安装就行

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

下载地址:https://pan.baidu.com/s/1e8_Zb-GkTucYUXgrqrB-iQ (来源于圈子社区

3、32位win7系统

需要做的事情如下:

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

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

# pip install pyinstaller
# pip install dropbox

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

0x02 通过dropbox创建app获取token

访问网址:https://www.dropbox.com/developers/apps/create

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

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

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

(1)下载external_c2_framework

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

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

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

将之前通过创建app生成的token填入到以下地方:

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

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

同样将刚才填写的token再次填入此文件的指定位置,如下:

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

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

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

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

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

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

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

0x04 进入正题

通过进行前面一系列的准备工具,需要的东西也都差不多了,所以接下来就是开始进行实际的中转才c2的操作

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

  • 执行命令启动cs服务端

    ./teamserver 192.168.74.140 123456
    

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

  • 创建一个监听器

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

加载成功后团队服务器本地会起一个 2222 的端口,这个端口就是 server 和 cs 团队服务器用来互传数据用的

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

(4)启动中转的服务

python external_c2_framework/builds/server/dbox_server.py

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

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

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

(5)目标机器成功上线

来到cs管理界面,发现目标机器已经成功上线

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

利用Dropbox中转自己的C2的更多相关文章

  1. 警惕:利用Dropbox链接散播的恶意软件

    趋势科技近期发现好几起利用热门文档代管服务Dropbox的垃圾邮件.邮件的内嵌链接会下载UPATRE恶意软件变种.UPATRE下面载恶意软件而恶名昭彰,当中包含ZBOT恶意软件.CryptoLocke ...

  2. 利用dropbox备份vps数据

    在VPS的数据最好定时备份,免得服务器出了什么问题,数据就全丢了.我使用dropbox定时同步wordpress文件夹和数据库信息. 首先下载dropbox ? 1 wget -O dropbox.t ...

  3. 利用Dropbox同步Arch下一些软件的配置文件

    一些软件后要好好的配置一番才能好好为自己所用,比如vim,比如conky等等,但是万一系统真出了问题,或者硬盘跪了,要重新安装系统重新配置的时候真是一种折磨,前阵子想到如果用dropbox同步那些配置 ...

  4. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

  5. Dropbox 有哪些鲜为人知的使用技巧?

    作者:Feeng链接:http://www.zhihu.com/question/20104959/answer/13991578来源:知乎著作权归作者所有,转载请联系作者获得授权. 原文:The B ...

  6. 为什么选择使用 Dropbox 而不是其他品牌同步工具(不要加上多余的功能,要极致和专注)

    作者:吴锋链接:http://www.zhihu.com/question/19646859/answer/14707821来源:知乎著作权归作者所有,转载请联系作者获得授权. 窃以为楼主的问题,准确 ...

  7. Dropbox + Farbox高速创建免费博客小站

    创建自己的Dropbox账号(已有账号的略过) 注冊地址:Dropbox 点击链接注冊就好了,so easy: 账号注冊成功后,能够选择下载同步client(windows.Mac.ios.andro ...

  8. Dropbox Folder Sync – 让 Dropbox 同步任意文件夹

    「DropBox」可以说是目前世界上最流行的线上同步工具,非常简单的同步方式, 流畅的档桉上传下载速度,让你可以轻易的在两台.三台电脑之间同步重要资料. 而你要做的步骤只是在每一台电脑安装DropBo ...

  9. 【五】将博客从jekyll迁移到了hexo

    本系列有五篇:分别是  [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面  [二]jekyll 的使用 :主要是jekyll的配置  [三]Markdo ...

随机推荐

  1. Java XML SAX 解析注意

    版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4002738.html 什么时候可以把解析值赋给对象 一般从网 ...

  2. c# 设计模式 之:装饰模式

    一.引言 在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类).A ...

  3. ARDUINO 积木式编辑器整理

    原文地址:https://blog.everlearn.tw/arduino/arduino-%E7%A9%8D%E6%9C%A8%E5%BC%8F%E7%B7%A8%E8%BC%AF%E5%99%A ...

  4. 如何获取UITableView中cell的frame值

    如何获取UITableView中cell的frame值 这个可以用来处理UITableView弹出键盘的问题 本人视频教程系类   iOS中CALayer的使用 效果: 源码: // // ViewC ...

  5. 下拉刷新对象RefreshObject

    下拉刷新对象RefreshObject 效果 说明 1. 分离了动画实现与刷新逻辑 2. 你可以根据自己的需要,设计自己的动画效果,你的动画只需要继承协议,实现协议里面的方法即可 3. 本设计方案是用 ...

  6. Linux seq命令详解

    seq: squeue  是一个序列的缩写,主要用来输出序列化的东西 seq常见命令参数 用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 ...

  7. TreeMap:是基于红黑树的Map接口的实现

    > TreeMap:是基于红黑树的Map接口的实现. 红黑树:平衡二叉树 取出时,可以有三种方式:前序遍历,中序遍历,后序遍历 >排序: A 自然排序  --TreeMap无参构造 Tre ...

  8. Hadoop HBase概念学习系列之优秀行键设计(十六)

    我们通过行键访问HBase.尽管使用扫描过滤器可以一次性指明大量的键,但是HBase仅仅能够根据行键识别出一行. 优秀的行键设计可以保证良好的HBase性能. 1.行键存在于HBase中的每一个单元格 ...

  9. 【hibernate学习杂记】维护关系的一方和不维护关系的一方的区别与联系

    双向多对一/一对多例子 维护关系一方为User:多方 不维护关系的一方为Group:一方 以下是多方代码: package Hibernate_demo1.Demo8.Entity.OneToMany ...

  10. 【问题记录】python 函数 传入一个对象返回一个对象值得注意

    写了一个函数,这个函数接收一个参数,在函数里面判断这个参数是否为None或者不合法状态, 如果处于不合法状态,则创建一个对象返回, 如果合法直接返回 代码示例如下: def get_mq_connec ...