AsyncRAT C2 服务端主动发现工具
1674865488254578 发表于 天津 安全工具 1184浏览 · 2024-03-27 11:30

第一次接触RAT对抗,请师傅们多多指点。
看到微步已经完成相关的拓线研究,于是便萌生开源主机发现脚本的想法。
由于学业繁重,脚本也处于能用就行的状态,望各位师傅见谅。

Github项目地址: https://github.com/g1an123/AsyncRAT_C2_Search

检测方法

TLS证书

优:命中率100%,也是各大搜索引擎最常用的。
缺:收录范围窄,有经验的apt组织在使用前都会修改证书名。

关于TLS证书的选择:
建立连接使用的证书和密钥均从win7主机生成的p12证书提取。win7主机下通信加密套件默认选择生成的TLS_RSA_WITH_AES_128_CBC_SHA 而非具有前向安全的TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(加密套件的优先级可以调整), 且其生成的p12证书没有密码保护,直接提取私钥,规避证书格式引起的问题。

以fofa为例,进行了以下验证。(实验日期3月2日)

1. 收录语法测试

  1. fofa规则app="AsyncRAT"数据量与cert.issuer="AsyncRAT"一致,共1,682条,811条ip。
  2. 反向搜索一致app="AsyncRAT" && cert.issuer!="AsyncRAT"数据量0条

2. 服务器收录方案验证

用自己的服务器配置了以下AsyncRAT服务进行验证。
验证结果:fofa仅通过是否AsyncRAT字样进行确定,没有脚本表现好。

IP:111.92.241.26

  • 4404部署0.5.3版本正常证书名
  • 5505部署0.5.3 Hacker Server
  • 8808部署0.5.8版本正常证书名
  • 9909 部署0.5.8HackerC2 Server

验证语句

app="AsyncRAT" && ip="111.92.241.26"

fofa验证结果:8808收录,而9909通过修改证书名,躲过了fofa的特征搜索。
4404收录,而5505通过修改证书名,躲过了fofa的特征搜索。




服务器部署截图

Ping包

优:稳定且准确率高

通过流量分析提取出AsyncRAT的ping包 重放进行特征识别,由于高版本对流量进行了gzip加密,所以高低版本需要分别发包验证。

client发送信息代码部分

Server服务端收到结果返回信息代码部分

JARM指纹

优:用来做辅助验证挺不错的

用JA3S 也可以,需要注意的是高低版本指纹也不一致。

对比

结果对比:fofa:1682条, 脚本:220条。

猜测1482条数据的AsyncRAT 服务已经下线。

判断依据:

  1. fofa更新时间距今较久,最近更新的数据皆可通过验证。
  2. 使用sslscan,nmap,openssl均为time out ,猜测服务已经下线
  3. 本地生成木马链接服务端,无法链接成功。

(截图懒得放了,有点多)

功能

探测识别AsyncRAT C2 工具服务端,方便安全研究人员进行apt组织追踪,情报拓线。覆盖目前官方仓库所有版本。(我也不知道咋吹了)

使用方法

  1. 检测单个端口:

    python3 AsyncRAT_C2_Seearch.py host port
    

  2. 公网检测、ip、ip段检测,查看C2公网探测.py

    # scan_ip_range("186.137.33.1", "C") # 扫描ip段,可指定C B段  
    # ip_scan("218.204.179.10")          # 扫描单个ip  
    # ip_scan("161.97.151.222",7788)     # 扫描单个端口  
    # process_target_csv("target1.csv")    # 扫描文件  
    # scan_ip_range_from_file("ip_range.txt") # 从文件中获取ip段扫描

    运行环境:Macos 12.5
    其他环境暂未测试

Github项目地址: https://github.com/g1an123/AsyncRAT_C2_Search

0 条评论
某人
表情
可输入 255