DLLPasswordFilterImplant:一款功能带有提取功能的DLL密码过滤器

栏目: IT技术 · 发布时间: 5年前

内容简介:DLLPasswordFilterImplant是一个自定义的密码过滤器DLL,它可以帮助广大安全研究人员捕捉目标用户的凭证信息。域中的每一次密码修改事件都将会触发一次DLL注册操作,以便在活动目录中修改用户名和新密码值之前先将它们提取出来。如需了解更多关于Windows密码过滤器的内容,请参考微软的这篇【广大研究人员可以使用下列命令将该项目的源码克隆至本地:

DLLPasswordFilterImplant

DLLPasswordFilterImplant是一个自定义的密码过滤器DLL,它可以帮助广大安全研究人员捕捉目标用户的凭证信息。域中的每一次密码修改事件都将会触发一次DLL注册操作,以便在活动目录中修改用户名和新密码值之前先将它们提取出来。

如需了解更多关于Windows密码过滤器的内容,请参考微软的这篇【 官方文档 】。

工具下载

广大研究人员可以使用下列命令将该项目的源码克隆至本地:

git clone https://github.com/GoSecure/DLLPasswordFilterImplant.git

工具安装

首先,针对目标操作系统架构创建DLL文件,如果是64位系统,则需要编译64位DLL,如果是32位系统,则需要编译32位DLL。将生成的DLL文件拷贝至Windows安装目录,默认路径为“\Windows\System32”。接下来,通过更新下列注册表键来注册密码过滤器:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

如果Notification Packages这个子键已经存在的话,将DLL的名称”DLLPasswordFilterImplant”添加到现有的数据值中。记住,不要覆盖现有的值。如果子键不存在的话,创建这个子键,然后将DLL的名称”DLLPasswordFilterImplant” 写入到数据值中。这里需要注意的是,当你在Notification Packages子键中添加DLL名称时,不要将.dll后缀加进去。

然后,配置加密凭证所需的公共密钥:

KEY=key.pem
# Generate an RSA key and dump its public key. Keep the private key around for decryption
openssl genrsa -out $KEY 2048
# Prepare the Windows registry key entry.
echo 'Windows Registry Editor Version 5.00' > addKey.reg
echo >> addKey.reg
echo '[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]' >> addKey.reg
# If python2 does not exist, use `python` instead.
echo "Key=hex:$(openssl rsa -in $KEY -pubout | sed -E '/^\-/d' | base64 -d | python2 -c 'import sys; print(",".join(["{:02x}".format(ord(b)) for b in sys.stdin.read()]))')" >> addKey.reg

接下来,你可以运行addKey.reg文件来将元公共密钥追加至注册表中。注意,由于数据填充机制的存在,使用非对称加密算法将会显著增加提取出的数据文件的大小。为了减少数据方面的开销,我们可能还需要进行一些改进。

下一步,我们需要 重启系统

完成之后,我们需要为DNS提取注册相应的键以及域名。进入到下列注册表项中:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

创建一个名为“Domain”的字符串类型的子键,在这个子键中指定你域名的值,域名值必须以”.”开头,比如说“.yourdomain.com”。

数据解密

填充进去的加密数据使用的是OAEP,并且能够使用下列方法来进行数据解密:

# Convert the stitched hex string to raw bytes.
xxd -r -p exfiltrated.hex > raw.bin
# Decrypt using the private key.
openssl rsautl -decrypt -oaep -inkey $KEY -in raw.bin -out decrypted.txt

卸载过滤器

为了完整地从目标系统中移除配置的密码过滤器,我们首先需要通过更新下列注册表键来注销掉密码过滤器:

HKEY_LOCAL_MACHINE SYSTEM\CurrentControlSet\Control\Lsa

在Notification Packages这个子键中,移除子键数据值中的DLL名称,但不要移除现有的其他值,完成之后重启系统。

在Windows的安装目录中(默认路径为“\Windows\System32”),找到密码过滤器DLL-”DLLPasswordFilterImplant.DLL”,然后删除该文件。

兼容性

密码过滤器目前兼容/支持在以下系统平台中运行:

 Windows 7 Hosts (x64) 
 Windows 10 Hosts (x64) 
 Windows Server 2008 DCs (x64) 
 Windows Server 2012 DCs (x64) 
 Windows Server 2016 DCs (x64) 

调试工具

如果有需要的话,下面给出的 工具 也许可以帮助你调试生成好的DLL文件:

Process Explorer:【 点我获取

Dependency Walker:【 点我获取

项目地址

DLLPasswordFilterImplant:【 GitHub传送门

* 参考来源: GoSecure ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C#入门经典

C#入门经典

[美] Karli Watson、Christian Nagel / 齐立波、黄静 / 清华大学出版社 / 2008-12 / 118.00元

这是一本成就无数C#程序员的经典名著,厚而不“重”,可帮助您轻松掌握C#的各种编程知识,为您的职业生涯打下坚实的基础,《C#入门经典》自第1版出版以来,全球销量已经达数万册,在中国也有近8万册的销量,已经成为广大初级C#程序员首选的入门教程,也是目前国内市场上最畅销的C#专业店销书,曾两次被CSDN、《程序员》等机构和读者评选为“最受读者喜爱的十大技术开发类图书”!第4版面向C#2008和.NET......一起来看看 《C#入门经典》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试