-
维护Client连接列表
-
下发命令(单个下发/批量下发)
-
执行系统命令
-
更新Client
-
获取系统信息
- 进程列表
- IP地址
- 系统版本
-
扫描同网段其他机器
-
DDoS
-
下载文件
-
-
保活(呼吸功能)
-
根据配置文件载入配置
-
对消息进行签名
使用证书进行双向认证
- cmd command args
- download url save_path
- update
- getinfo
- dos atk_method ipaddr/mask
- ListDir 从受感染系统返回目录列表
- ListProcesses 此命令返回在受感染系统上运行的进程列表
- 此命令会导致恶意软件针对受感染系统上运行的目标进程执行 taskkill 命令
- DownloadFile - 此命令会导致恶意软件下载文件并将其保存到命令参数指定的目标 位置
- RunCMD - 此命令使用 Go os/exec 包在受感染的系统上执行系统命令
- DLRUN - 此命令会导致恶意软件下载文件,将其保存到 %TEMP% 并执行该文件
Token 4字节
windows Linux
----------------------------------
木马
^
| 加密信息/执行指令
V
----------------------------------
^ ^ ^
| TCP信道 | DNS信道 | HTTP信道
V v V
---------------------------------
TCP agent DNS agent HTTP agent 这里可以是不同服务器上的服务
处理木马连接 ---> sqlite
处理控制端指令
--------------------------------
发送指令^ |<-----------------------------------> 集成在controller中或者通过tcp连接传输信息
| v 返回执行信息,新增/删除连接
-------------------------------- 发送指令
controller |<-------------------------->|人
-------------------------------- 返回结果
| |
redis 缓存指令队列 mongodb
缓存bot队列
参考
| https://blog.netlab.360.com/pinkbot/
Token字段,长度4字节,该字段值由服务器端指定,指定后将一直使用这个值。设置方式为:Bot启动后首先会向CC发送新生成的ECDH的公钥,此刻Token为0,当服务端接受后,会分配一个Token值给Bot,这就算指定成功了。
指令字段,长度1字节。CC发出指令后,Bot也要用相同的指令码把执行结果返回。
内容长度字段,长度2字节。当指令不包含具体内容时,设置为零,否则这里填充内容的字节长度数,并追加密文内容。
指令内容。当指令包含内容时,此处填写密文的指令内容。解密方法请继续向下阅读。