免杀之:Mimikatz 免杀过杀软,思路学习
免杀之:Mimikatz 免杀过杀软
Mimikatz是一款能够从Windows认证(LSASS)的进程中获取内存,并且获取名闻密码和NTLM哈希值的工具,攻击者可以利用这种功能漫游内网。也可以通过明文密码或者hash值进行提权。这款工具机器出名所以被查杀的几率极高。可以通过Github上开放的Mimikatz源码对其源码进行免杀从而bypass AV。
对Mimikatz进行源码免杀时,源码免杀只需要定位源码中的特征代码进行修改就可以达到预期的免杀效果。一般的定位特征码分为三种:
- 定位到代码上;
- 定位到字符串上;
- 定位到输入表上。
学习下思路即可
1 环境准备
- Mimikatz源码:gentilkiwi/mimikatz: A little tool to play with Windows security (github.com)
- Visual Studio 2012:
ed2k://|file|cn_visual_studio_ultimate_2012_x86_dvd_920954.iso|1643802624|A3058CE4F2AD7035DB6E67586D07AAA5|/
2 处理过程
2.1 生成原始的Mimikatz程序
-
打开Mimikatz源码,选择:
mimikatz.sln
,使用Visual Studio 2012打开 -
右键Mimikatz对象,选择:生成[默认是生成32位程序]
-
报错如下:
1>------ 已启动生成: 项目: mimikatz, 配置: Release Win32 ------ 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v110_xp (Platform Toolset = 'v110_xp') cannot be found. To build using the v110_xp build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v110_xp to build using the v110_xp build tools. ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
-
解决方案:右键Mimikatz对象,选择:属性-->配置属性-->常规-->平台工具集:修改
v110_xp
为Visual Studio 2012 (v110)
-
-
右键点击mimikatz-->属性-->配置属性-->C/C++-->常规-->将警告等级:关闭所有警告-->将警告视为错误:选否
-
生成
x64
位的程序:右键Mimikatz对象,选择:属性-->配置管理器-->mimikatz:选择x64 -
可以看到此时WD是对Mimikatz查杀的
2.2 定位到代码或字符串上特征绕过
-
将项目内的所有的
mimikatz
字符替换为fcareykiwi
:点击编辑-->查找和替换-->填写替换的字符后选择全部替换。 -
修改项目文件名,文件夹名:
mimikatz
字符替换为fcareykiwi
-
测试下,发现仅仅只是替换代码或字符,依然会被检测到
-
替换源文件中的图标,测试免杀,依然会被检测到
-
进一步修改文件描述信息,,依然会被检测到
-
删除文档中的注释信息,还是不行
2.3 定位特征码绕过
源码的字符串替换绕过一直被杀软查杀,于是尝试定位特征码绕过,有个缺点:
- 会导致部分功能失效
2.3.1 准备软件
VirTest
- 十六进制编辑器:如
010 Editor
2.3.2 分析mimikatz程序定位特征码
- 有5个特征码
2.3.3 替换特征码
将定位的特征码替换为00
,后保存