【域权限维持】-Hook PasswordChangeNotify

内存注入,重启恢复

1、原理

在修改域控制器密码时,LSA首先会调用PasswordFileter来检查该密码是否符合复杂性要求,如果密码符合要求,LSA会调用PasswordChangeNotify在系统中同步密码

如果攻击者Hook了该功能,则可以获取用户修改密码时输入的密码明文

函数PasswordChangeNotify存在于rassfm.dll中,该dll可以理解为Remote Access Subauthentication Dll(远程访问子系统认证),只存在于Server系统中。可以利用dumpbin查看rassfm.dll导出函数来验证

#dumpbin可以借助VS开发人员命令提示,因为只有winserver上存在该文件,需要先将dll文件导出
dumpbin /exports c:\windows\system32\rassfm.dll

在这里插入图片描述

2、生成DLL文件
项目地址: https://github.com/clymb3r/Misc-Windows-Hacking
需在项目属性中设置为 ”在静态库中使用MFC“

作用:
为PasswordChangeNotify创建一个inline Hook,将初始函数重定向到PasswordChangeNotifyHook
在PasswordChangeNotifyHook中实现记录密码的操作,然后重新将控制权交给PasswordChangeNotify

在这里插入图片描述

在这里插入图片描述

3、利用反射注入加载DLL
项目地址: https://github.com/clymb3r/PowerShell/blob/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1

Set-ExecutionPolicy bypass
Import-Module .\Invoke-ReflectivePEInjection.ps1
Invoke-ReflectivePEInjection -PEPath HookPasswordChange.dll -procname lsass

在这里插入图片描述

在这里插入图片描述

4、效果

当在被注入的机器上(此处是域控)修改密码时,所有的密码修改操作都会被记录。不管是调用Ctrl+Alt +Delete 还是使用AD用户和计算机功能修改密码
在这里插入图片描述

5、规则

sysmon文件创建,父进程是lsass
sysmon远程线程注入,注入的目的进程是lsass,且注入的是无功能无模块的

注:此文章参考了很多的网络上的其他文章!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值