mimikatz源码免杀初探
字数 1306 2025-08-27 12:33:31
Mimikatz源码免杀技术详解
一、环境准备
1.1 测试环境
- 操作系统:Windows 10
- 杀毒软件:
- 火绒
- 360安全卫士
- 360杀毒
1.2 开发环境
- Visual Studio
- Mimikatz源码(需从官方GitHub获取)
二、Visual Studio基础配置
-
平台工具集设置:
- 右键mimikatz项目 → 属性 → 设置平台工具集
-
运行库配置:
- C/C++ → 代码生成 → 运行库 → 选择"多线程(/MT)"
-
警告设置:
- C/C++ → 常规 → 将警告视为错误 → 选择"否"
-
解决方案配置:
- 解决方案 → 属性 → 配置 → 生成x64版本mimikatz
三、基础特征修改
3.1 版本信息修改
- 修改
mimilove.rc文件中的版本信息 - 重新生成解决方案
3.2 字符串替换(区分大小写)
- 查找范围:整个解决方案
- 替换内容:
gentilkiwi.com→google.comcreativecommons.org→google.commimilove→mamalove
3.3 作者信息修改(不区分大小写)
benjamin→hahahagentilkiwi→hahaha
3.4 图标替换
- 替换32×32像素的ICO图标文件
四、进阶免杀技术
4.1 加壳处理
- 尝试使用UPX加壳(但实际测试中可能导致被杀)
- 注意:加壳可能反而增加检测风险
4.2 资源修改
- 使用Resource Hacker工具
- 删除界面风格相关资源
- 确保之前修改的ICO和版本信息已生效
4.3 特征码修改
- 使用virtest5.0工具定位特征码
- 将特征字节修改为00
- 注意:修改
sekurlsa::logonpasswords相关特征可能导致功能失效
- 注意:修改
- 尝试将00改为01或02进行测试
4.4 关键字符串混淆
- 修改lsass.exe相关代码:
wchar_t a[10] = L"lsa";
wchar_t b[10] = L"ss.exe";
wcscat(a, b);
if(kull_m_process_getProcessIdForName(a, &processId))
五、免杀效果评估
5.1 静态检测
- 360:秒杀(基础修改后)
- 火绒:秒杀(基础修改后)
5.2 动态检测
- 360:
- 不开启自动上传:可过
- 开启自动上传:约1分钟后被云端查杀
- 火绒:基础修改后仍可检测
5.3 最终效果
- 未开启自动上传:
- 静态:360和火绒均可过
- 动态:360和火绒均可过
- 开启自动上传:
- 360会被杀
- 火绒情况不明
六、注意事项
-
360的查杀特点:
- 本地不主动查杀
- 主要依赖联网上传样本后的云端查杀
- 上传和云端响应之间存在时间窗口
-
火绒与360的区别:
- 火绒可能采用不同的检测机制
- 需要针对性的特征修改
-
功能完整性:
- 某些特征修改可能导致功能失效(如
sekurlsa::logonpasswords) - 每次修改后需测试功能是否正常
- 某些特征修改可能导致功能失效(如
七、操作建议
-
分步测试:
- 每进行一项修改后都重新生成并测试
- 确保功能正常后再进行下一项修改
-
多杀软测试:
- 不同杀毒软件采用不同检测机制
- 需要针对目标环境进行针对性免杀
-
及时更新:
- 杀毒软件特征库不断更新
- 免杀方法可能需要定期调整
通过以上系统化的修改和测试流程,可以有效提高mimikatz的免杀成功率,但需注意免杀效果的时效性和针对性。