系列文章
简介
渗透测试-地基篇
该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。
请注意:
本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。
名言:
你对这行的兴趣,决定你在这行的成就!
一、前言
Mimikatz可以说渗透人员都知道的一款获取Windows的明文密码的工具,是法国人编写的但在全球都广范围使用着,主要能够从 Windows 认证(LSASS)的进程中获取内存,并且获取明文密码和NTLM的哈希值,因此黑客可以借此横向内网环境。
这款工具这么吃香,在杀软界也是颇受关注,正常情况下杀软是百分百拦截和秒杀该工具的,而市面上很多红队或者渗透人员都对写了很多加密的方法,大部分都是加壳和混淆文件等,这里我将介绍利用Visual Studio 2012分析和演示Mimikatz工具底层源码如何修改过360等杀软的思路。
二、环境介绍
黑客(攻击者):
IP:192.168.175.145
系统:kali.2020.4
windows 10系统是黑客用于制作免杀Mimikatz的系统。
VPS服务器:
此次模拟环境将直接越过VPS平台,已经通过钓鱼拿到对方的shell过程!!
办公区域:
系统:windwos 10
IP:192.168.2.142
存在:360、火绒、deferencer
目前黑客通过kali系统进行攻击行为,发现漏洞后获得了windows 10 办公区域系统的权限,然后发现对方电脑上存在360、火绒、deferencer需要获取对方密码明文等信息,将演示Mimikatz工具底层源码如何修改过360等杀软的思路,并获得对方密码等明文信息的过程。
三、环境部署
攻击者windwos 10:
1、下载Mimikatz源代码
将Mimikatz 源代码下载到本地:
2、安装Visual Studio 2012
下载网盘:
https://pan.baidu.com/s/1DCfCWByBXVOJLf8-YHL9dg 密码: n1u4
下载后运行vs_ultimate.exe:
运行后默认勾选同意下一步
这里视情况而定选择,Mimikatz免杀只需要勾选c ++即可,点击安装,完成安装后打开输入网盘内提供的激活码即可成功激活使用。
3、环境配置
Visual Studio 2012在默认情况下是C #开发设置环境,需要配置行时C ++开发环境:
点击导入和导出设置
重置所有设置环境:
默认下一步:
选择Visual C++ 开发设置:
环境设置非常重要,那么这就完成了环境的设置,开始演示免杀。
四、Mimikatz源码免杀
源码免杀能了解Mimikatz底层的代码原理,只需要定位源码中的特征代码进行修改就可以达到免杀效果,接下来将演示如何定位到Mimikatz源代码、字符串,输入表上进行代码修改达到免杀360等杀软效果。
1、运行环境调试
使用Visual Studio 2012方式打开mimikatz.sln:
对其中mimikatz项目右键生成exe:
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 个 ==========
发现报错了,意思是VS 2012平台工具集选择的是v110_xp,需要修改为Visual Studio 2012(v110)工具集:
右键点击mimikatz项目选择属性
点击平台工具集选择Visual Studio 2012(v110)工具集
在右边点击C/C++ 栏目将警告视为错误栏选择否
直接执行生成是windows 32位系统环境执行的,这里按照需求修改,我修改为windows 64位的:
右键左上角解决方案“mimikatz”,选择属性
将mimikatz把win32改为x64即可,到这里已经配置好基础环境了。
2、测试杀软查杀
将测试源码生成mimikatz.exe是否被杀软查杀
直接点击生成
看到生成的地址目录为:
C:\Users\yujun\Desktop\mimikatz-master\x64\mimikatz.exe
成功生成mimikatz.exe文件
火绒直接秒杀该工具~
360没有主动秒杀该工具,双击运行后提示了阻止程序运行,这里百分之九十九的人都会点击阻止程序,接下来将演示如何修改信息,免杀过360。
3、修改源码
1)替换mimikatz替换为dayu
右键点击mimikatz-查找和替换-在文件中替换
根据图片将mimikatz全部字符替换为dayu即可
项目表也是需要全部修改为dayu名称的,这里重新生成dayu.exe还是无法过360的,继续
2)删除mimikatz注释信息
将顶部注释信息删除
继续将dayu.c的顶部注释信息也删除,这里已经可以过掉360的拦截功能了...但是继续修改!
3)修改文件详细信息
根据图片演示,双击mimikatz项目中的mimikatz.rc跳转到该图片中,然后删除详细信息板块中的信息区。
然后重新新建版本信息区
选择是,这里就创建好新的详细信息介绍了,这里虽然能过360了,但是很多杀软还是无法过,继续改
4)修改图标
前面钓鱼也讲解了图标修改的方法,这里简单提下:
https://www.easyicon.net/iconsearch/音乐ico/
http://www.bitbug.net/在线制作ico图标
下载图片,将图片按照网页转换为ico即可,根据图片提示,在文件资源打开文件夹。
替换掉图标
继续回到mimikatz项目重新生成dayu.exe后测试360杀毒和360安全卫士都免杀了。
360能免杀后,但是这里还是无法过火绒,如何进行火绒免杀,思路已经给了继续修改测试即可。
附上一张过360、火绒后成功的图,还是需要修改底层的.c核心文件源码,这里就不详细介绍了,留点东西,思路以及详细提供了。
五、总结
网上很多mimikatz的免杀思路,大部分都是利用脚本、加密工具进行套一层壳,利用.ps1脚本和套壳引用工具打开mimikatz.exe从而起到一个躲避杀软静态查杀达到免杀的效果,都是依赖于工具和脚本,如果工具和脚本失效了将无法进行免杀了...
这里我写出来的目的是,知道如何进行利用开源Visual Studio 2012逐步进行mimikatz源代码分析和修改测试免杀的过程,知道底层的信息后更好的理解如何修改免杀,这里主要讲解的是思路,其次是方法!
当然在此基础上,可以更深入的去了解底层源码的同时,查看源码了解在WDigest凭据缓存原理中,例如了解Mimikatz如何通过sekurlsa::wdigest
命令来提取并解密密码的,查看密码表如何可以写一个自己开源的截获密码工具的,这样根据专属工具进行一种新的免杀hash明文获取专属工具,引路人大余。
希望大家提高安全意识,没有网络安全就没有国家安全!
今天基础牢固就到这里,虽然基础,但是必须牢记于心。
作者:大余