TryHackMe-Lian_Yu
靶机难度:简单 卡了我一天的简单难度靶机?我真的菜。
信息收集
1 |
|
目录探测
emmm..因为不是php的文件,不能进行传值.要不然,我就试试传值code word了..只能进行目录探测,因为题目已经提示是四个数字的目录.所以我们需要生成一个字典文件.(另外在这个页面你需要查看源代码,,否则你会遗漏点东西)
可以看到有一个用户名在这里.
1 | crunch 4 4 -t %%%% -o num.txt |
How Oliver Queen finds his way to Lian_Yu?
我没看过绿箭侠我怎么知道..
继续查看源代码找线索
.ticket? 文件后缀名?有可能是要继续进行目录下的文件探测..
好吧,我们拿到船票了。
看起来像是base加密过的可以来这里进行解码各类解码
解码获得密码后,可以直接连接ftp看看有什么东西了。
这里只能一个一个文件下载下来看了。下载回来之后只在.other_user
找到一个小故事,里面有几个人名。其他文件都没能找到有用的线索。
下载回来的图片文件,两个png和一个jpg。
- Leave_me_alone.png
- Queen’s_Gambit.png
- aa.jpg
其中Leave_me_alone.png
是坏的,先不管。用zsteg
尝试提取Queen's_Gambit.png
,很遗憾。没有东西。
分析aa.jpg
用空密码也提取不了文件。1
2
3
4binwalk -e aa.jpg
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 JPEG image data, JFIF standard 1.01
尝试修复Leave_me_alone.png
也失败了。
我卡在这里一下午了。最后得到高人指点。。
always try password for steghide
记住了,下次遇到图片文件,都给它跑个弱密码字典提取试试。
最后会提取到一个ss.zip
解压后就是我们需要的ssh密码了。但是我们不知道用户名。结合之前,我们在.other_user
看到的小故事,用里面的第一个人名试试slade
登录成功。进来的第一件事当然是看看sudo -l
啦
提权
有相关程序能sudo?那第一件事当然是看看GTFOBins里面有没有提权姿势啦。
但是很遗憾,没有。只能去看看谷歌了。
发现有一个漏洞利用程序,而且目标机器的内核也低于5.1.17。可以尝试一下CVE-2019-13272兴高采烈的下好exploit
,结果在机器上一运行就不行了。
好吧,认真看看漏洞描述吧。loser
In the Linux kernel before 5.1.17,
ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to create a ptrace relationship,
which allows local users to obtain root access by leveraging certain scenarios with a parent-child process relationship,
where a parent drops privileges and calls execve (potentially allowing control by an attacker).
One contributing factor is an object lifetime issue (which can also cause a panic).
Another contributing factor is incorrect marking of a ptrace relationship as privileged, which is exploitable through (for example) Polkit’s pkexec helper with PTRACE_TRACEME.
NOTE: SELinux deny_ptrace might be a usable workaround in some environments.
在5.1.17之前的Linux内核中,kernel / ptrace.c中的ptrace_link错误地处理了想要创建ptrace关系的进程的凭据记录,这允许本地用户通过利用父子的某些方案来获取root访问权限 进程关系,父进程删除权限并调用execve(可能允许攻击者控制)。一个影响因素是对象寿命问题(也可能导致恐慌)。 另一个影响因素是将ptrace关系标记为特权,这可以通过(例如)Polkit的pkexec帮助程序与PTRACE_TRACEME进行利用。
注意:在某些环境中,SELinux deny_ptrace可能是一种可用的解决方法。
总结
总体来看这个漏洞的限制还是比较大的
首先要找到一个内部有减权的 suid 程序就比较难了
pkexec 是linux 桌面 freedestop 上的验证程序,也就是说非桌面版本就可能没有这个东西,要用它也只能在桌面上。
像 android ,它把 suid 程序都去除了这个漏洞就几乎造不成什么影响。
这个漏洞和之前的 usb creator 漏洞差不多,实际应用上感觉都有点鸡肋。
而我们的目标机器是没有桌面的,那这个漏洞利用就宣告彻底失败了。不过,让我们回过头来看看,我们这可以用sudo去运行啊,为什么要纠结于这个漏洞利用呢?
pkexec 可以通过 –user 参数授权特定的用户执行命令,没有指定的话默认为root权限
所以其实我们可以直接
1 | sudo pkexec --user root whoami |
好,成功了。接下来怎么做还需要我说吗?直接打开一个shell
就好啦。
总结
- always try password for steghide