mimikatz源码免杀初探
字数 1306 2025-08-27 12:33:31

Mimikatz源码免杀技术详解

一、环境准备

1.1 测试环境

  • 操作系统:Windows 10
  • 杀毒软件:
    • 火绒
    • 360安全卫士
    • 360杀毒

1.2 开发环境

  • Visual Studio
  • Mimikatz源码(需从官方GitHub获取)

二、Visual Studio基础配置

  1. 平台工具集设置

    • 右键mimikatz项目 → 属性 → 设置平台工具集
  2. 运行库配置

    • C/C++ → 代码生成 → 运行库 → 选择"多线程(/MT)"
  3. 警告设置

    • C/C++ → 常规 → 将警告视为错误 → 选择"否"
  4. 解决方案配置

    • 解决方案 → 属性 → 配置 → 生成x64版本mimikatz

三、基础特征修改

3.1 版本信息修改

  1. 修改mimilove.rc文件中的版本信息
  2. 重新生成解决方案

3.2 字符串替换(区分大小写)

  • 查找范围:整个解决方案
  • 替换内容:
    • gentilkiwi.comgoogle.com
    • creativecommons.orggoogle.com
    • mimilovemamalove

3.3 作者信息修改(不区分大小写)

  • benjaminhahaha
  • gentilkiwihahaha

3.4 图标替换

  • 替换32×32像素的ICO图标文件

四、进阶免杀技术

4.1 加壳处理

  • 尝试使用UPX加壳(但实际测试中可能导致被杀)
  • 注意:加壳可能反而增加检测风险

4.2 资源修改

  1. 使用Resource Hacker工具
  2. 删除界面风格相关资源
  3. 确保之前修改的ICO和版本信息已生效

4.3 特征码修改

  1. 使用virtest5.0工具定位特征码
  2. 将特征字节修改为00
    • 注意:修改sekurlsa::logonpasswords相关特征可能导致功能失效
  3. 尝试将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会被杀
    • 火绒情况不明

六、注意事项

  1. 360的查杀特点:

    • 本地不主动查杀
    • 主要依赖联网上传样本后的云端查杀
    • 上传和云端响应之间存在时间窗口
  2. 火绒与360的区别:

    • 火绒可能采用不同的检测机制
    • 需要针对性的特征修改
  3. 功能完整性:

    • 某些特征修改可能导致功能失效(如sekurlsa::logonpasswords
    • 每次修改后需测试功能是否正常

七、操作建议

  1. 分步测试:

    • 每进行一项修改后都重新生成并测试
    • 确保功能正常后再进行下一项修改
  2. 多杀软测试:

    • 不同杀毒软件采用不同检测机制
    • 需要针对目标环境进行针对性免杀
  3. 及时更新:

    • 杀毒软件特征库不断更新
    • 免杀方法可能需要定期调整

通过以上系统化的修改和测试流程,可以有效提高mimikatz的免杀成功率,但需注意免杀效果的时效性和针对性。

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.com creativecommons.org → google.com mimilove → mamalove 3.3 作者信息修改(不区分大小写) benjamin → hahaha gentilkiwi → 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相关代码: 五、免杀效果评估 5.1 静态检测 360:秒杀(基础修改后) 火绒:秒杀(基础修改后) 5.2 动态检测 360: 不开启自动上传:可过 开启自动上传:约1分钟后被云端查杀 火绒:基础修改后仍可检测 5.3 最终效果 未开启自动上传: 静态:360和火绒均可过 动态:360和火绒均可过 开启自动上传: 360会被杀 火绒情况不明 六、注意事项 360的查杀特点: 本地不主动查杀 主要依赖联网上传样本后的云端查杀 上传和云端响应之间存在时间窗口 火绒与360的区别: 火绒可能采用不同的检测机制 需要针对性的特征修改 功能完整性: 某些特征修改可能导致功能失效(如 sekurlsa::logonpasswords ) 每次修改后需测试功能是否正常 七、操作建议 分步测试: 每进行一项修改后都重新生成并测试 确保功能正常后再进行下一项修改 多杀软测试: 不同杀毒软件采用不同检测机制 需要针对目标环境进行针对性免杀 及时更新: 杀毒软件特征库不断更新 免杀方法可能需要定期调整 通过以上系统化的修改和测试流程,可以有效提高mimikatz的免杀成功率,但需注意免杀效果的时效性和针对性。