HackTheBox–Topology
本文最后更新于 521 天前,其中的信息可能已经有所发展或是发生改变。

靶机开启后正常配置,fscan 先扫一下,发现 80/22 端口开放

访问 80 端口,是一个介绍性的主页

可以发现有效的链接只有一个 LaTeX,直接访问不到,需要配置 /etc/hosts,把域名和 IP 都加进去

配置完后再次访问是个表达式生成器,按照给定的规则输进框里就会返回一张表达式图片

LaTeX 之前接触的不多,记得之前打 CTF 的时候遇到过一次,从网上找到了一些相关漏洞的文章:

尝试 \input{/etc/passwd} 读取,但是发现被拦截了,应该是关键字检测

正好文章里有其他方法,可以读取指定文件的一行

newread\file
\openin\file=/etc/passwd
\read\file to\line
\text{\line}
\closein\file

但是只读一行显然是不够的,需要能一次性读完,之前比赛的 payload 在这里也用不上

因为涉及到文件读取,又搜了下读取相关的文章,注意到有个读取代码文件的示例操作 \lstinputlisting[firstline=200, lastline=210]{../src/source.c} ,而且 \lstinputlisting{} 不会触发拦截

同时,考虑到当前有可能处在数学模式下,也就是 $eqn 的值可能被 "$" 包裹起来了,所以在构造时尝试闭合两端的 "$" 即 "$\lstinputlisting{/etc/passwd}$"

再读下源码 \lstinputlisting{../equation.php},可以看到 \begin{}\end{} 都没了,所以没办法写🐎;\write\immediate 以及 \def 也没了,没办法执行命令

接下来只能继续在文件读取上找突破点,但是读什么文件是个问题,已经知道开放了 22 端口,如果能知道一个用户的登录凭据并且连接上去,那对于后续的渗透更有利

/etc/shadow 是读不了的,需要 root 权限;再回到刚刚读到的 /etc/passwd,可以发现存在用户 vdaisley,同时用 ffuf 扫子域名的时候,发现 dev.topology.htb 是 401 状态,需要用户名密码登录

那么对于 Apache 而言,做 401 认证的时候存在一个文件 .htapasswd,但是放在哪里不知道,最后看了下别的师傅写的 wp 确定位置在 /var/www/dev

得到 Hash 值后,用 john 破解掉,得到 vdaisley:calculus20,尝试 SSH 登录 ssh vdaisley@topology.htb

想办法提权,已经有人传了 pyps64 和 linpeas.sh,直接用就行了;先是 ./linpeas.sh > 123.txt

./pspy64s > 124.txt,因为靶机是公用的,所以看着有点乱,但不难发现大家都在执行定时任务,而且和 gnuplot 有关

恰好 /opt/gnuplot 可写,cd 过去,正好也可以看到权限

所以思路其实就是写入一个 .plt 文件然后利用定时任务执行命令提权; system "chmod u+s /bin/bash",最后直接 /bin/bash -p 即可

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇