目录导航
XiebroC2 简介
一款支持多人协作的渗透测试图形化框架、支持lua插件扩展、域前置/CDN上线、自定义多个模块、自定义shellcode、文件管理、进程管理、内存加载等功能,
特点/特征
- 被控端(Client)由Golang编写,兼容WIndows、Linux、MacOS上线(未来会考虑移动端上线)
- 团队服务器(Teamserver)由.net 8.0 编写、AOT编译,内存占用低,无需安装任何依赖,几乎可以兼容全平台系统
- 控制端(Controller)支持反弹shell,文件管理、进程管理、网络流量监控、内存加载、自定义UI背景色等功能
- 支持Windows/Linux内存加载PE文件,即文件不落地执行木马,中转第三方C2/RAT
- 支持内存执行.net 程序集(execute-assembly、inline-assembly)
- 支持通过lua扩展UI控件、Session命令,载荷生成(类似于CobaltStrike的cna脚本)
- 支持自定义RDIshellcode(仅64位,32位需要手动编译client)或者用donut、Godonut生成属于自己的shellcode
- 支持Teamserver托管二进制文件、文本、图片(类似SimpleHttpServer)
- 支持团队服务器自定义配置文件,自定义Telegram的chat ID/Token上线通知
- 控制端(Controller)UI轻量级交互界面,内存占用大约是CobaltStrike的60分之一,是Metasploit的10分之一
- 与市面上的Beacon模式不同的是,被控端是Session模式,可以用netstat查看实时连接端口,并且流量通信也是实时性的
- 由于Golang的编译器的代码结构比较复杂,杀毒软件很难对Go的二进制文件进行准确的静态分析,随着时间的推移,Golang被越来越多的AV/EDR厂商标记为恶意软件其中包括(360、微软、Google、Elastic、Ikarus)
支持平台
Client(Session)
Windows(x86_x64) | Linux(x86_x64) | MacOS |
---|---|---|
Windows11 | ubuntu | AMD64 |
Windows10 | Debian | i386 |
Windows8/8.1 | CentOS | M1 |
Windows7 | ppc64le | M2 |
Windows-XP | mips | |
Windows Server 2000-2022 | s390x |
快速使用
- 无需安装任何环境直接使用:XiebroC2
- 修改TeamServerIP和TeamServerPort为VPS的IP和端口,然后保存为profile.json
- 需要解释的几个参数:1.如果配置文件(profile.json)中的Fork为true,则在执行runpe和nps的时候会创建一个子进程,并且进行注入,这就是传统的Fork&&Run模式,如果Fork为flase,则为内联(inline)加载模式,如果在有严格AV/EDR的环境下,内联加载的方式显然更加的OPSEC2.如果你需要上线Telegram提醒,您还需要去学习,TG的机器人消息提醒,在配置文件中填上Telegram_Token和Telegram_chat_ID3.shellcode目前只支持x64位,原谅我的懒惰,我觉得x86环境是比较罕见需求,因此在这里就忽略掉了,至于rdiShellcode64是怎么生成的,您需要仔细地研究sRDI的原理,这并不是一句话能说清楚的4.windows\Session\Reverse_tcp不支持域前置,您需要添加windows\Session\Reverse_Ws监听器才能使用域前置和cdn上线。在配置文件(profile.json)中 可以自定义Route来修改websocket路由的特征。
{
"TeamServerIP": "192.168.1.250",
"TeamServerPort": "8880",
"Password": "123456",
"StagerPort": "4050",
"Telegram_Token": "",
"Telegram_chat_ID": "",
"Fork": false,
"Route": "www",
"Process64": "C:\\windows\\system32\\notepad.exe",
"Process86": "C:\\Windows\\SysWOW64\\notepad.exe",
"WebServers": [],
"listeners": [],
"rdiShellcode32": "",
"rdiShellcode64": "",
}
服务端:
Teamserver.exe -c profile.json
上线演示
命令列表
命令 | 用法 | 描述 |
---|---|---|
nps | nps “powershell 命令” | 在内存中运行非托管的powershell |
Inline-assembly | inline-assembly “文件路径” “参数” | 内联执行.net程序集 |
execute-assembly | execute-assembly “文件路径” ”参数” | Fork子进程执行loader .net程序集 |
runpe | runpe “文件路径” “参数” | 在windows的内存中加载C/ c++ PE |
shell | shell “cmd 命令” | 执行命令 |
powershell | powershell “powershell 命令” | 执行powershell命令 |
checkAV | checkAV | 检测AV/EDR进程 |
upload | upload “远程目录” “文件路径” | 上传文件到目标 |
memfd | memfd “文件路径” “参数” | Linux内存中的PE加载程序 |
help | help | 查看命令列表 |
cls | cls | 清屏 |
添加插件
拖拽式批量上传文件
插件编写
- 学习编写lua插件:Xiebro-Plugins
TODO
- 目前正反向代理和端口转发未开放,未来考虑完善和开发这个功能。
- 目前仅支持TCP/WebSocket协议的Session模式,它们是https的代替品,后续考虑开发可靠的UDP协议并且支持Beacon模式
- 考虑开发Powershell、VBscript、Hta、Jscript等载荷。
- 开放更多窗体和API接口,以便lua扩展插件
免责声明
本项目仅用于渗透测试演练的学习交流和研究,强烈不建议您用于任何的实际途径(包括黑灰产交易、非法渗透攻击、割韭菜),网络不是法外之地!如果您使用该工具则应该自觉遵守以上要求。
为了避免该工具被非法分子利用,所以本人已经将危害较大的功能删除,只留下部分功能作为渗透测试演练demo,teamserver和Controller不进行开源。
项目地址
GitHub:
https://github.com/INotGreen/XiebroC2
下载地址
截图





转载请注明出处及链接