freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

渗透测试之地基免杀篇:mimikatz底层分析免杀过360
2021-01-10 20:47:13

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

Mimikatz可以说渗透人员都知道的一款获取Windows的明文密码的工具,是法国人编写的但在全球都广范围使用着,主要能够从 Windows 认证(LSASS)的进程中获取内存,并且获取明文密码和NTLM的哈希值,因此黑客可以借此横向内网环境。

这款工具这么吃香,在杀软界也是颇受关注,正常情况下杀软是百分百拦截和秒杀该工具的,而市面上很多红队或者渗透人员都对写了很多加密的方法,大部分都是加壳和混淆文件等,这里我将介绍利用Visual Studio 2012分析和演示Mimikatz工具底层源码如何修改过360等杀软的思路。

二、环境介绍

1608213735_5fdb64e7aa0655a649f8f.png!small?1608213737710

黑客(攻击者):

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 源代码下载到本地:

https://github.com/gentilkiwi/mimikatz

1610289663_5ffb11ffa1731fa5ef207.png!small?1610289664228

2、安装Visual Studio 2012

下载网盘:

https://pan.baidu.com/s/1DCfCWByBXVOJLf8-YHL9dg  密码: n1u4

下载后运行vs_ultimate.exe:

1610290046_5ffb137e4a907641efa1b.png!small?1610290046468

1610290279_5ffb14672f5e139f14b4b.png!small?1610290279559

运行后默认勾选同意下一步

1610290335_5ffb149f65c3024b57aad.png!small?1610290335674

这里视情况而定选择,Mimikatz免杀只需要勾选c ++即可,点击安装,完成安装后打开输入网盘内提供的激活码即可成功激活使用。

3、环境配置

Visual Studio 2012在默认情况下是C #开发设置环境,需要配置行时C ++开发环境:

点击导入和导出设置

1610290754_5ffb1642b8315a096ca8d.png!small?1610290755330

重置所有设置环境:

1610290781_5ffb165dd04ffd9612bb6.png!small?1610290782159

默认下一步:

1610290807_5ffb1677aa01a1be8ab72.png!small?1610290807963

选择Visual C++ 开发设置:

1610290889_5ffb16c97d49f231e2906.png!small?1610290889803

环境设置非常重要,那么这就完成了环境的设置,开始演示免杀。

四、Mimikatz源码免杀

源码免杀能了解Mimikatz底层的代码原理,只需要定位源码中的特征代码进行修改就可以达到免杀效果,接下来将演示如何定位到Mimikatz源代码、字符串,输入表上进行代码修改达到免杀360等杀软效果。

1、运行环境调试

使用Visual Studio 2012方式打开mimikatz.sln:

1610291255_5ffb18375e86ab6b58da4.png!small?1610291255975

对其中mimikatz项目右键生成exe:

1610291307_5ffb186b7941e65b6ac0d.png!small?1610291307892


1610291347_5ffb1893c7b08511ba356.png!small?1610291348845

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)工具集:

1610291545_5ffb195993355d18099d6.png!small?1610291545890

右键点击mimikatz项目选择属性

1610291589_5ffb198578240d46930ff.png!small?1610291590563

点击平台工具集选择Visual Studio 2012(v110)工具集

1610291618_5ffb19a21521a9e6bea4b.png!small?1610291618398

在右边点击C/C++ 栏目将警告视为错误栏选择否

直接执行生成是windows 32位系统环境执行的,这里按照需求修改,我修改为windows 64位的:

1610291869_5ffb1a9d134f659b08949.png!small?1610291869490

右键左上角解决方案“mimikatz”,选择属性

1610291902_5ffb1abe98370300538cd.png!small?1610291902926

将mimikatz把win32改为x64即可,到这里已经配置好基础环境了。

2、测试杀软查杀

将测试源码生成mimikatz.exe是否被杀软查杀

1610292051_5ffb1b53bc501f46fb2d3.png!small?1610292052498

直接点击生成

1610292099_5ffb1b83a2e8daae29ee0.png!small?1610292100621

看到生成的地址目录为:

C:\Users\yujun\Desktop\mimikatz-master\x64\mimikatz.exe

成功生成mimikatz.exe文件

1610292148_5ffb1bb45c2c245a5cd2f.png!small?1610292148691

火绒直接秒杀该工具~

1610292159_5ffb1bbfc4ba576d54f11.png!small?1610292161286

360没有主动秒杀该工具,双击运行后提示了阻止程序运行,这里百分之九十九的人都会点击阻止程序,接下来将演示如何修改信息,免杀过360。

3、修改源码

1)替换mimikatz替换为dayu

1610292488_5ffb1d0822d8dba321f54.png!small?1610292489586

右键点击mimikatz-查找和替换-在文件中替换

1610292556_5ffb1d4caedc7dfd3d99a.png!small?1610292557378

根据图片将mimikatz全部字符替换为dayu即可

1610292599_5ffb1d7724e2b965132ba.png!small?1610292599622

项目表也是需要全部修改为dayu名称的,这里重新生成dayu.exe还是无法过360的,继续

2)删除mimikatz注释信息

1610292666_5ffb1dba224e6b1ceb404.png!small?1610292667101

将顶部注释信息删除

1610292683_5ffb1dcb9d387fb47a571.png!small?1610292683896

继续将dayu.c的顶部注释信息也删除,这里已经可以过掉360的拦截功能了...但是继续修改!

3)修改文件详细信息

1610292715_5ffb1deb57eb1ecd8f817.png!small?1610292717074

根据图片演示,双击mimikatz项目中的mimikatz.rc跳转到该图片中,然后删除详细信息板块中的信息区。

1610292885_5ffb1e95c4f200dddab14.png!small?1610292886271

然后重新新建版本信息区

1610292899_5ffb1ea379ec50ec7d6ce.png!small?1610292899712

选择是,这里就创建好新的详细信息介绍了,这里虽然能过360了,但是很多杀软还是无法过,继续改

4)修改图标

1610292958_5ffb1edede4cdfa69c5a4.png!small?1610292960768

前面钓鱼也讲解了图标修改的方法,这里简单提下:

https://www.easyicon.net/iconsearch/音乐ico/

http://www.bitbug.net/在线制作ico图标

下载图片,将图片按照网页转换为ico即可,根据图片提示,在文件资源打开文件夹。

1610293045_5ffb1f352db1f2d76d9dd.png!small?1610293045584

替换掉图标

1610293295_5ffb202fc22bd5d11a3cb.png!small?1610293297106

继续回到mimikatz项目重新生成dayu.exe后测试360杀毒和360安全卫士都免杀了。

360能免杀后,但是这里还是无法过火绒,如何进行火绒免杀,思路已经给了继续修改测试即可。

1610296303_5ffb2bef83a6fd7d95c40.png!small?1610296304192

附上一张过360、火绒后成功的图,还是需要修改底层的.c核心文件源码,这里就不详细介绍了,留点东西,思路以及详细提供了。

五、总结

网上很多mimikatz的免杀思路,大部分都是利用脚本、加密工具进行套一层壳,利用.ps1脚本和套壳引用工具打开mimikatz.exe从而起到一个躲避杀软静态查杀达到免杀的效果,都是依赖于工具和脚本,如果工具和脚本失效了将无法进行免杀了...

这里我写出来的目的是,知道如何进行利用开源Visual Studio 2012逐步进行mimikatz源代码分析和修改测试免杀的过程,知道底层的信息后更好的理解如何修改免杀,这里主要讲解的是思路,其次是方法!

当然在此基础上,可以更深入的去了解底层源码的同时,查看源码了解在WDigest凭据缓存原理中,例如了解Mimikatz如何通过sekurlsa::wdigest命令来提取并解密密码的,查看密码表如何可以写一个自己开源的截获密码工具的,这样根据专属工具进行一种新的免杀hash明文获取专属工具,引路人大余。

希望大家提高安全意识,没有网络安全就没有国家安全!

今天基础牢固就到这里,虽然基础,但是必须牢记于心。

作者:大余

# 渗透测试 # web安全 # Mimikatz
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录