TIER 1: Responder

TIER 1: Responder

Active Directory

Active Directory(AD)是由微软开发的目录服务,用于在网络环境中管理和组织用户、计算机、应用程序和其他资源。它是 Windows 操作系统的一部分,并提供了一种集中化的方式来管理和控制网络中的各种对象和权限。

  • NTLM 是旧的 Windows 身份验证协议,最初由微软开发用于 Windows 操作系统。它被用于验证用户的身份以及在本地网络上访问资源。NTLM 使用用户的凭据(用户名和密码的哈希值)来验证身份,并生成一个称为 NTLM 哈希的票据。尽管 NTLM 在早期版本的 Windows 中广泛使用,但它已被更安全的 Kerberos 协议所取代。
  • Kerberos 是一种网络身份验证协议,用于在计算机网络上验证用户的身份。它是一种安全且强大的身份验证系统,广泛应用于许多领域,包括 Active Directory。Kerberos 基于票据(ticket)的概念,通过使用加密的票据来验证用户的身份,并允许用户在网络上访问资源。Kerberos 使用加密技术和密钥分发来确保安全性,提供了更强的身份验证和授权机制。

NTLM 是一种挑战-响应身份验证协议,通过在登录过程中仅要求用户提供一次身份验证凭据来实现单点登录(SSO),需要注意的是与 NTLM 相关的术语有一定的混淆:

  • 哈希函数:一种将数据转换为固定大小值的单向函数。哈希函数用于通过将用户输入的哈希与存储的哈希进行比较来安全存储密码。
  • NTHash:用于在 Windows 系统的 SAM(安全账户管理器)数据库中存储密码的算法的输出。它通常被称为 NTLM 哈希。
  • NetNTLMv2:NTLM 协议用于网络身份验证的挑战-响应字符串。尽管实际上不是哈希,但通常被称为 NetNTLMv2 哈希。

尽管存在已知漏洞,但 NTLM 仍然⼴泛部署甚⾄在新系统上以保持与旧客⼾端的兼容性。在 Nmap 扫描的结果,该机器正在使⽤ Windows 作为其操作系统。两个端⼝被检测为打开,Apache 服务已经 WinRM 服务。

  • WinRM(Windows Remote Management)是一种远程管理协议,用于在 Windows 系统之间进行远程管理和执行命令。它是 Microsoft 开发的,用于替代旧的远程管理协议,如 Telnet 或 SSH 协议。

PHP 文件包含漏洞

在 80 服务上访问,会发现重定向到 http://unika.htb/ 地址,我们需要在本地对 unika.htb 做域名解析,通过 host 文件或者 DNS 服务都可以。此处,我们选择在 /etc/hosts ⽂件中为此域添加⼀个 10.129.136.91 unika.htb 条⽬。

  • http://unika.htb/index.php?page= 页面中,page 参数存在 PHP 文件包含漏洞,我们可以通过该漏洞读取服务器上的任意文件。
  • 通过 http://unika.htb/index.php?page=../../../../../../../../windows/system32/drivers/etc/hosts 读取服务器上的 hosts ⽂件。

在 PHP 中,文件包含漏洞是一种允许攻击者在服务器上执行任意代码的漏洞。它允许攻击者包含远程文件,这些文件可以是恶意的,从而允许攻击者在服务器上执行任意代码。这种漏洞通常由于未正确过滤用户输入而导致,这使得攻击者能够包含远程文件。

测试字典:https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/file_inclusion_windows.txt

这是一个有关 PHP 配置文件 php.ini 中的漏洞。默认情况下,php.ini 文件中的 allow_url_include 选项设置为 Off,表示 PHP 不会加载远程的 HTTP 或 FTP URL,以防止远程文件包含攻击。然而,即使 allow_url_includeallow_url_fopen 都设置为 Off,PHP 仍然允许加载 SMB(Server Message Block)协议的 URL 地址。

这个漏洞的原理是利用了 PHP 对 SMB URL 的处理机制,攻击者可以构造一个恶意的 SMB URL,指向包含 NTLM hash 的文件,然后利用文件包含漏洞将该文件包含到目标服务器上的 PHP 脚本中。当目标服务器尝试读取远程的 SMB URL 时,它会尝试进行 SMB 身份验证,并将 NTLM hash 发送给攻击者控制的 SMB 服务器,从而导致 NTLM hash 的泄露。

利用讲解 https://book.hacktricks.xyz/windows-hardening/ntlm/places-to-steal-ntlm-creds#lfi

Responder

Responder 是一款用于抓取 Windows 环境中的 NTLM 哈希的安全工具。它被广泛用于进行网络渗透测试和红队操作。Responder 通过伪造服务响应,欺骗目标系统上的客户端发起身份验证请求,并截获 NTLM 哈希用于后续攻击。

python Responder.py -I <网卡名称>
  • 欺骗服务:Responder 将开始监听指定的网络接口,并伪造各种网络服务的响应。例如,它可以伪造 SMB 服务、HTTP 服务等。当目标系统上的客户端尝试与伪造的服务建立连接时,Responder 将捕获其 NTLM 哈希。
  • 分析捕获的哈希:Responder 将捕获的 NTLM 哈希保存在日志文件中。你可以使用工具(如 John the Ripper 或 Hashcat)对这些哈希进行离线破解或进一步分析。

详情参考 👉 https://github.com/lgandx/Responder

john -w=/usr/share/wordlists/rockyou.txt hash.txt 其中 hash.txt 是 Responder 捕获的哈希。

在破解账号密码后,我们可以通过 Evil-WinRM 进行远程登录。使用 Powersshell 也可以,在 Kali Linux 从版本 2019.1 开始,默认包含了 Microsoft PowerShell 工具,当然现在有开源的 PowerShell Core,可以在 Linux 和 macOS 上运行。

flag 位置 C:\Users\mike\Desktop\flag.txt

posted @ 2023-05-27 21:48  sha0dow  阅读(53)  评论(0编辑  收藏  举报