Yak.exe滥用作C2木马 免杀360火绒内存扫描
字数 1078 2025-08-29 22:41:10
Yaklang 木马开发与免杀技术研究
1. Yaklang 简介与优势
Yaklang 是一种新兴的编程语言,特别适合快速开发网络工具和渗透测试工具。其 TCP 网络连接库使用极为简便:
- 一行代码启动 TCP 服务器
- 一行代码建立 TCP 连接
- 天然支持并发处理(自动为每个新连接创建独立协程)
- 简洁的
tcp.Serve高阶函数,采用回调模式
与 Python 相比的优势:
- Python 是单线程阻塞模型,需要手动添加多线程处理并发
- Python 需要显式管理套接字生命周期
- Yaklang 更适合快速原型开发和高并发场景
2. Yaklang 作为 C2 木马的可行性
2.1 免杀特性分析
-
yak.exe 文件特性:
- 无数字签名
- 作为 Yakit 合法软件的依赖组件
- 目前测试可绕过 360 安全卫士与火绒的内存扫描
-
yak 脚本特性:
- 目前被杀毒软件检测的概率较低
- 不像其他编程语言脚本那么敏感
2.2 C2 实现原理
服务端功能:
- 启动 TCP 服务器
- 循环等待用户输入命令
- 向客户端发送命令
- 等待并接收客户端的命令执行结果
客户端功能:
- 请求建立 TCP 连接
- 循环等待服务端指令
- 执行接收到的命令
- 将执行结果返回服务端
3. 其他恶意功能实现
3.1 代理服务器功能
利用 Yaklang 高效的开发效率,可实现内网穿透:
- 使用
mimt函数库 - 外网服务器作为代理服务持续监听
- 攻击者配置对应 HTTP 代理
- 对内网 WEB 资产进行嗅探和测试
3.2 内网嗅探功能
Yaklang 还可用于实现内网嗅探等更多功能
4. 当前实现的缺陷
-
痕迹遗留问题:
- 使用 yak 编译脚本会在固定位置创建项目文件夹
- 文件夹名固定为
yakit-projects - 即使未安装 Yakit,仅上传 yak.exe 执行脚本也会创建该目录
-
规避难度:
- 目前无法规避该目录的创建
- 会留下明显的攻击痕迹
5. 实际应用场景评估
- 适合地市级护网行动等要求不严格的场景
- 不适合高对抗性环境(如国家级护网)
6. 防御建议
针对此类攻击的防御措施:
- 监控系统异常目录创建(特别是
yakit-projects) - 对 yak.exe 文件进行行为分析
- 加强网络流量监控,检测异常 TCP 通信模式
- 更新杀毒软件规则,加入对 Yaklang 恶意脚本的检测
7. 技术发展趋势
- Yaklang 因其高效开发特性可能被更多攻击者采用
- 未来可能出现更多基于 Yaklang 的攻击工具变种
- 杀毒软件可能会加强对 Yaklang 相关文件的检测