vulnhub靶场之VULNCMS: 1
准备:
攻击机:虚拟机kali、本机win10。
靶机:VulnCMS: 1,下载地址:https://download.vulnhub.com/vulncms/VulnCMS.ova,下载后直接vbox打开即可。
知识点:Joomla框架的注入漏洞、Drupal框架的命令执行漏洞、敏感信息泄露、journalctl提权。
信息收集:
通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.5.0/24,获得靶机地址:192.168.5.94。

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.5.94,显示开放了22、80、5000、8081、9001端口,开启了ssh服务、http服务。

WEB服务-80:
访问80端口的web服务并进行目录扫描,命令:gobuster dir -u http://192.168.5.94 -x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,发现index.html、about.html等页面。

访问http://192.168.5.94/about.html页面,发现一些信息疑是账户信息:mobley、elloit,但是告诉我们不要爆破,那这里先放在这。

访问:http://192.168.5.94/vulnerable/页面获得6张图片信息,使用steghide、binwalk进行了尝试读取图片文件信息,但是均是失败。

WEB服务-5000:
访问:http://192.168.5.94:5000/页面,访问hellworld进行跳转时跳转到了域名:fsociety.web,因此需要进行dns解析。win:打开C:\Windows\System32\drivers\etc\hosts文件,添加:192.168.5.94 fsociety.web,linux:修改/etc/hosts文件。emmmm,但是后续发现这里好像没啥用。

对5000端口的web服务进行目录扫描,命令:gobuster dir -u http://192.168.5.94:5000 -x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,发现wp-login.php、/rss等目录。

访问:http://fsociety.web:5000/rss/页面发现wp框架的版本信息:5.7.2。其实直接使用wappalyzer插件直接获取版本信息也行。


搜索下wordpress框架版本:5.7.2的漏洞信息,但是这个版本没搜索到有用的漏洞信息。顺带使用wpscan进行了以下扫描,但是也没发现什么信息,命令:wpscan --url http://192.168.5.94:5000 --enumerate t。

WEB服务-8081:
对8081端口的web服务进行目录扫描,命令:gobuster dir -u http://192.168.5.94:8081-x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,发现README.txt、configuration.php、robots.txt、/administrator等目录和文件。

使用joomscan进行扫描,发现Joomla系统的版本信息:3.4.4,以及一些漏洞信息。

搜索下Joomla系统版本:3.4.4的漏洞信息,发现msf中存在该利用方式,那就直接在msf获取下数据(或者看下脚本的利用过程,使用sqlmap也是一样的,可能获取的数据会更直观),获取的数据保存在:/home/kali/.msf4/loot/20230115112446_default_192.168.5.94_joomla.users_428555.txt文件,读取该文件信息获得数据库内数据,猜测是系统账户和密码信息(这里如果能注意到有个邮箱信息不一样联想到是密码,那这里就可以直接获取一个较高权限的shell,后面还是用的这个地方升级的shell权限)。


[{"activation":"0","block":"0","email":"Fluntence54@armyspy.com","id":"46","lastResetTime":"0000-00-00 00:00:00","lastvisitDate":"2021-05-31 09:14:41","name":"Super User","otep":"","otpKey":"","params":"","password":"$2y$10$EYc6SKfMLzlLE/IcD9a6XeAe2Uv7WTBFlbbqRrnpht1K0M1bLrWee","registerDate":"2021-05-29 10:08:24","requireReset":"0","resetCount":"0","sendEmail":"1","username":"joomlaCMS_admin"},{"activation":"","block":"1","email":"5T3e!_M0un7i@N","id":"47","lastResetTime":"0000-00-00 00:00:00","lastvisitDate":"0000-00-00 00:00:00","name":"elliot","otep":"","otpKey":"","params":"{\u0026quot;admin_style\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;admin_language\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;language\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;editor\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;helpsite\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;timezone\u0026quot;:\u0026quot;\u0026quot;}","password":"$2y$10$jddnEQpjriJX9jPxh6C/hOag4ZZXae4iVhL7GVRPC9SHWgqbi4SYy","registerDate":"2021-05-31 09:16:30","requireReset":"0","resetCount":"0","sendEmail":"0","username":"elliot"}]
WEB服务-9001:
对9001端口的web服务进行目录扫描,命令:gobuster dir -u http://192.168.5.94:9001-x php,html,txt,zip,ba -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,发现README.txt、CHANGELOG.txt等目录和文件。

在CHANGELOG.txt文件中发现Drupal框架的版本信息:7.54。

搜索下Drupal系统版本:7.54的漏洞信息,发现msf中存在该利用方式,那就直接在msf中利用该漏洞获取shell权限。


提权-elliot:
获取shell后在/var/www/html/joomla的configuration.php和/var/www/html/wordpress/public_html的wp-config.php文件中发现对应的数据库信息,但是数据库中密码均是加密的,未破解成功。


这时候想起来上面利用漏洞获取的Joomla数据库中的信息,存在的账户:elliot,但是其密码同样破解失败,但是发现其email:5T3e!_M0un7i@N与正常的邮箱后缀不太一样,猜测其是密码,进行ssh连接:ssh elliot@192.168.5.94,成功获得elliot权限的shell,并读取user.txt文件获得flag值。

提权-tyrell:
通过:find / -perm -4000 -type f 2>/dev/null来查找可疑文件进行提权,发现了/usr/lib/policykit-1/polkit-agent-helper-1,利用其漏洞信息进行提权,但是均提权失败。


然后这里思绪断了以下,后面忽然间想起来还有另一个账户:tyrell,是不是他的密码隐藏在某个文件中,那就查找以下,命令:find / -type f 2>/dev/null | grep tyrell,发现/var/www/html/drupal/misc/tyrell.pass文件。

读取该文件信息,成功获得tyrell账户信息:tyrell/mR_R0bo7_i5_R3@!_,使用获得账户信息成功切换到tyrell账户。

提权-root:
查看下当前账户是否存在可以使用的特权命令或文件:sudo -l,发现存在/bin/journalctl命令。

查找下journalctl的提权命令,按照sudo方式进行提权,成功提权到root账户并在root目录下发现root.txt文件,读取该文件获得flag值。


vulnhub靶场之VULNCMS: 1的更多相关文章
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Pandavas
HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
- Vulnhub靶场——DC-1
记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...
随机推荐
- LcdTools如何编写MIPI指令(初始化代码)
在LcdTools帮助文档中查看MIPI读写指令描述,如下图 编写LCM初始化代码就是配置LCM Driver IC寄存器值,一般只需用MipiWrite()指令写参数即可:下面介绍MipiWrite ...
- day53-马踏棋盘
马踏棋盘 1.算法优化的意义 算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依旧保持高速计算? 编程中算法很多,比如八大排序算法(冒泡.选择.插入.快排.归并.希尔.基数.堆排序).查找算法. ...
- SoringCloud(四) - 微信获取用户信息
1.项目介绍 2.微信公众平台 和 微信开放文档 2.1 微信公众平台 2.1.1 网址链接 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?ac ...
- 现代GPGPU 架构汇总
本篇是GPGPU 架构汇总的总章,参考的是AMD公布OpenCL 手册,该手册总结了AMD. Nvdia 早年的GPGPU体系架构,以及Opencl 各个API 与硬件结构的映射关系.本篇除了整理这两 ...
- JS学习笔记 (五) 函数进阶
1.函数基础 1.1 函数的基本概念 函数是一段JavaScript代码,只被定义一次,但是可以被调用或者执行许多次.函数是一种对象,可以设置属性,或调用方法. 函数中的参数分为实参和形参.其中,形参 ...
- go:快速添加接口方法及其实现
问题描述 在大型项目中,通常存在多个模块,模块对外暴露的功能通常是通过接口封装,这样可以明确模块的功能,有效降低模块与模块之间的耦合度,同时模块与模块之间进行合理的组装.接口的实现,有时可能存在多个实 ...
- MySQL InnooDB引擎之并发事务问题以及隔离级别的作用和区别
最近在复习MySQL事务,但网上很多博客和资料可以说讲的不是模棱两可就是只有文字描述不够形象易懂,下面通过我的学习来详细讲一讲事务并发都会引起哪些问题?以及隔离级别是什么?InnoDB引擎是如何通过隔 ...
- Shell脚本--信号发送与捕捉
信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相 应的处理函数. 进程可以通过三种方式来响应一个信号: 忽略信号,即对信号不做任何处理,其中有两个信号不能忽 ...
- Swing常用窗体
Swing常用窗体 Swing 主要具有以下特点: ( 1 )轻量级组件. ( 2 )可插入外观组件. 窗体作为Swing的应用程序中组件的承载体,处于非常重要的地位.Swing中常用的窗体包括JFr ...
- springboot接收前端传参的几种方式
1.通过HttpServletRequest接收,常用于获取请求头参数以及Cookie,适用于GET 和 POST请求方式,以下两种方式: @GetMapping("/demo1" ...