TryHackMe-Agent Sudo:从图片分析到权限提升的完整过程
描述
Agent Sudo是tryhackme的简单房间一道CTF题目,涉及到图片的分析,隐写术等,主要的任务目标是破解FTP、SSH、以及zip密码。并进行权限提升。
信息收集
首先开启机器后先通过nmap对目标进行枚举,发现开放了http、FTP、SSH
服务。
访问目标的80
端口,提示我们需要用自己的User-Agent
进行访问。
BurpSuite抓包使用User-Agent:R
进行访问并没有任何变化,于是尝试对User-Agent进行fuzz,将包发送到intruder
模块进行将进行爆破,再对User-Agent
的值进行标记。
在payloads模块设置payload type为Simple list
,点击Add from list...
选择添加A-Z
,最后点击strat attack
进行爆破。
爆破结束,发现字母C
的状态码与其他不同
于是尝试将User-Agent
的值换为字母C
,再次重放后点击跟随重定向。
可以看到成功定向到了agent_C_attention.php
页面,得到了agent name --chris
。
FTP爆破
通过获取到的chris使用hydra对FTP进行密码爆破,得到密码为crystal
。
hydra -l chris -P /usr/share/wordlists/rockyou.txt ftp://10.10.208.106
使用命令ftp [email protected]
登陆FTP,发现三个文件,通过get
命令将文件下载到本地。
图片分析
查看To_agent.txt发现,登陆密码被隐藏再来某一张图片中
于是使用binwalk
对两张图片进行分析,并通过命令sudo binwalk --run-as=root -e cutie.png
自动提取识别的数据,发现了一个zip压缩文件。
zip密码破解
使用unzip对文件进行解压失败,存在密码以及zip版本不支持,通过zip2john
进行密码破解。zip2john 是一个用于生成可以用 John the Ripper 破解的 ZIP 文件哈希的工具。这个工具特别用于处理加密的 ZIP 文件,允许将 ZIP 文件的加密信息转换为一个格式,这个格式可以被 John the Ripper 使用来破解密码。
生成哈希
使用 zip2john 来提取 ZIP 文件的哈希。需要指定 ZIP 文件的路径。
zip2john 8702.zip > hash.txt
这个命令会生成一个包含哈希的文件 hash.txt。
使用 John the Ripper 破解密码
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
查看破解结果
成功得到密码,alien
john --show hash.txt
由于unzip版本不支持 所以换为7z
输入刚刚得到的密码解压成功,并得到了一串base64加密的密文。
通过对base64进行解码 echo "QXJlYTUx" | base64 --decode
得到了密码
jpg图片分析
使用exiftool 工具对cute-alien.jpg 进行元数据检查 exiftool cute-alien.jpg
JPEG 文件的元数据可以包含有关相机设置、地理位置信息、日期和时间等信息。可以使用工具如 exiftool 来查看这些信息,但是并没有上面发现。
steghide隐写术检测工具对图片进行分析
steghide info
命令 这个命令用于显示关于隐写文件的信息,例如是否有数据被隐藏、用于加密数据的加密算法等。不需要提供密码就可以查看这些基本信息。
steghide extract -sf
命令 这个命令用于从含有隐写数据的文件中提取隐藏的数据。-sf
选项表示指定的隐写文件,即从哪个文件中提取数据。如果隐藏数据时设置了密码,执行此命令时会要求你输入密码以解锁并提取数据。
# 显示数据
steghide info cute-alien.jpg
# 提取数据
steghide extract -sf cute-alien.jpg
通过对提取的数据发现存在一个messsage.txt文件,查看文件发现了,james的登陆密码为hackerrules!
权限提升
使用获取到的用户名和密码成功登陆,查看 sudo
配置和版本信息,用户 james
被允许以任何用户(除了 root
)的身份运行 /bin/bash
。尝试通过 sudo
来进行权限提升。
刚刚我们已经获取了sudo的版本信息,可以通过searchsploit搜索sudo 1.8.27存在的漏洞。发现一个漏洞
通过在线漏洞库得到了CVE编号
利用 Sudo 配置中的漏洞
接再来我们使用searchsploit -m linux/local/47502.py 将POC复制,并scp命令将POC传输到目标机器,具体命令为:scp /path/poc.py uname@ip:/path/
这里需要使用绝对路径。
通过SSH连接到目标机器,发现POC已经上传成功,检查是否存在python环境,发现python环境为python 3.6.8 ,直接 通过python3 47502.py运行脚本,成功获取到具有root权限。
由于 sudo
的配置允许用户 james
以任何非 root
用户的身份运行 /bin/bash
,你可以尝试利用一个已知的漏洞(CVE-2019-14287)来绕过这一限制并以 root
权限运行命令。
该漏洞允许通过使用 -u#-1
参数来指定一个无效的用户 ID (-1
),这在大多数系统中被解析为 0
(即 root
的 ID)。即通过命令 sudo -u#-1 /bin/bash
一样可以获得root权限。
最后将Alien_antospy.jpg通过google进行搜索,确定了事件
虽然只是一道简单级别的CTF题目,但是以前接触CTF比较少,总的来说对于我这样的新手来说具有挑战性但是完成过程中收获不少,主要还得需要一定的思路。总之前路漫漫,慢慢走,星光不问赶路人。