https://github.com/kindtime/nosferatu
0x01 如何运作的?
首先,DLL被注入到lsass进程中,并将开始挂钩身份验证WinAPI调用。目标函数是MsvpPasswordValidate(),位于NtlmShared.dll。为了不被检测到,被钩住的函数会调用原函数,并允许正常的身份验证流程。只有在看到身份验证失败后,挂钩才会将实际的NTLM哈希值与后门哈希值交换出来进行比较。
0x02 用法
Nosferatu必须被编译为64位DLL,而且必须在具备SeDebugPrivilege权限的命令行下才能使用DLL注入器来注入,也可以使用MavInject来注入。
MavInject 808 /INJECTRUNNING Inject.dll
使用Impacket的登录示例:
0x03 限制
在Active Directory环境中,通过RDP、runas或锁屏进行的身份验证不能与密码一起工作。但使用SMB、WinRM和WMI进行认证仍然是可以的。
在非ad环境中,身份验证适用于所有方式。
0x04 注意
本地简单复现了一下,发现只有当前编译的这台Win10可注入成功,其他Win10和Win08/12/16等均注入失败,就这样,自己去测试下吧。
https://mp.weixin.qq.com/s/D7hhagvgI7ybjuBXCi0hHQ
本文作者:空心菜
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/179181.html