内网渗透(七十三)之后渗透密码收集之 Hook PasswordChangeNotify
Hook PasswordChangeNotify
2013年九月,安全研究员Mubix发布了一个恶意的Windows密码过滤DLL。通过安装这个密码过滤DLL,可以在用户更改密码时拦截用户输入的明文密码并保存到本地,同时不会影响该用户更改密码的正常操作流程。但是,安装此密码过滤DLL需要重新启动计算机才能生效,并且它将显示为一个自动运行和一个加载的DLL在lsass.exe进程中,有可能会被安全人员发现。
此后,安全研究员clymb3r 在此密码过滤DLL基础上进行了改进,通过DLL中写入hook函数并将其反射注入lsass.exe进程中,使得不需要重启计算机该密码过滤DLL也能生效,并且在lsass.exe过程中也没有加载可疑的DLL,也没有对注册表进行更改,在很大程度上得到了隐藏。这种攻击方式被称为Hook PasswordChangeNotify。
在活动目录中,PasswordFileter是用于执行组策略中强制密码要求的函数。当用户修改密码时,需要输入新的明文密码,然后LSA会用调用PasswordFileter函数来检查该密码是否符合复杂性的要求。如果密码符合要求,LSA会调用rassfm.dll中的PasswordChangeNotify函数在系统中同步该密码。
Hook PasswordChangeNotify的攻击流程是当用户修改密码并在系统中进行同步时,攻击者可以利用该功能获取用户修改密码时输入的密码明文并保存在本地,同时用户还可以正常更改密码。
由于需要在域控上安装此密码过滤DLL,因此该方法常被用作于后渗透密码收集。
Hook PasswordChangeNotify 攻击
执行 Hook Pa