部署
原靶机项目地址:https://www.vulnhub.com/,本实验环境基于灵境靶场平台。
灵境靶场项目地址:https://github.com/414aaj/LingJing
打开靶机:192.168.242.88

渗透
Ftp利用
拿到靶机 IP 后,利用 Nmap 扫描开放端口
nmap -p- -O -Pn -sV 192.168.242.88
发现开放了三个关键端口:21,80,55077。21 端口的 FTP 服务版本为:vsftp3.0.3,在网上查找到了相关漏洞。
弱口令:ftp:ftp

使用 ftp/ftp 登录,发现直接登录了,但是权限不够大。

发现有两个文件,利用 get 命令下载下来看看。

发现在 cred.txt 文件里面有一段 base64 编码,进行解码。

得到champ:password,像是账号密码,想起来 80 端口就是登录框,猜测是登录的账号密码,进行登录。成功登录!
接下来探索 Web 系统。
Web系统
点击 About Us 会下载一个压缩包,里面有一个 bmp 文件和 jpg 文件,我们接下来进行分析。

我们使用steghide来分析这两个文件。
steghide info funny.jpg
发现funny.jpg文件里面包含一个 py 脚本。分离出来看看。
steghide extract -sf funny.jpg
cat hint.py分离出来发现有一段提示:

似乎没有什么信息了,我们继续来分析另一个文件,似乎需要密码,但是我们不知道什么密码,不过发现有个文件名叫 sudo,文件里有一段内容:Did you notice the file name? Isn't is interesting?

让我们注意文件名,我们就猜测密码会不会就是文件名 sudo。尝试一下,发现成功了,发现文件里面包含着一个 txt 文件,分离出来。
steghide extract -sf funny.bmp
cat user.txt似乎是一个编码过的数据。

直接拿给 AI 解码,发现是 ROT13 编码。解码后数据:wts:this one is a simple one

这段数据也是账号和密码的形式,但是好像没有哪里需要了啊?等等,好像还有 shh 没有用上,55077 端口,虽然这一串不太像账号密码,但是连接 ssh 成功了!

现在是低权限用户,我们进行提权。

不知道密码,现看看有哪些文件吧!发现一个名为.sudo_as_admin_successful 的文件,打开看看!emmm,文件空的。看看其他文件,有个.bash_history 文件,听上去就藏着什么,我们打开!

里面记录的都是一些历史命令,还是有很多有用的东西的。

解码后是:The flag is the encoded string itself,中文意思是:flag 就是编码字符串本身,这就是第一个 flag。
找到一个 sh 脚本和一个用户。

进入相关目录,找到了用户名和密码。

切换用户
既然找到了账号密码,那我们切换到 n00b 用户看看。
s成功切换用户。

接下来进行提权。

发现 nano 有 root 权限,那么接下来用 nano 来执行命令进行提权。
sudo /bin/nano然后依次按下 Ctrl+r 和 Ctrl+x。随后输入下面的字符:
reset; sh 1>&0 2>&0然后直接回车。成功提权。

进入 root 目录,读取 root.txt。

解码这一串 base64 编码。

解码后为:Endorse me on linkedin => https://www.linkedin.com/in/deepak-aheer
靶场打到这里就结束了。
总结
总的来说,这个靶场的难度不算太难,但是要求得很细心,一不小心就容易错过一些信息,还是需要一定的经验的。