TryHackMe-Agent-sudo

靶机链接:agentsudo

本文涉及sudo漏洞,ftp密码爆破,zip密码爆破,提取图片隐藏信息

靶机难度:简单

先使用nmap探测端口.
nmap

发现了http服务,但是扫不出任何目录
gobudir

访问后出现以下页面,让我们切换代号User-Agent?
web

根据最后的署名R,猜测是字母。
caice

最终使用C时成功
通过这段话,我们获得了一个用户名字:chris,还有一个信息——该用户使用弱密码。

这个机器上有ftp,和ssh服务。先尝试ftp
ftp

登录进去后,查看文件
ftp-file

查看文件发现一段信息mess

把图片都下载下来,这里用到了图片隐写术。。

binwalk *.jpg分析文件
binwalk -e *.jpg 自动化提取

-e选项可以用来执行自动数据提取的基础上提取规则中指定的默认的extract.conf文件

binwalk

将文件提出出来后会发现以下内容,这里尝试解压后发现还需要密码..
hide

使用zip2john获得hash值,再使用john爆破
zip-passwd

password
这个密码用base64解密后会得到图片密码。
使用图片隐写术的工具取得图片密码

steghide extract -sf cute-alien.jpg

hide

ssh登录进去,拿到user.flag
user-flag

提权

查看到sudo -l的权限

sudo -l

上面的命令是能以非root的身份执行/bin/bash

sudo -v

还好能通过google搜索到exploit

这个漏洞影响到1.8.28之前的版本。
<user> ALL=(ALL:!root) NOPASSWD: ALL
这使你能够以其他用户身份执行任何命令,但是(理论上)将阻止他们以超级用户/ admin / root用户身份执行命令。 换句话说,您可以假装是任何用户,但管理员除外。

照着上面的说法,我们是不可以用sudoroot的身份执行bash的,sudo 可以用-u 指定用户身份运行。

例如 sudo -u#0 whoami
-u

但是如果,你指定一个无符号的值-1–429496725 sudo会错误的解读为0,即根用户。
但是只有在这种案例上才有用。

  • sudo版本小于1.8.28
  • 错误的配置<user> ALL=(ALL:!root) NOPASSWD: ALL

cve-2019-14287

拿到root权限。和最终flag。
root