Vulnhub_DC1 记录
Vulnhub_DC1 记录
经验 & 总结
- 对Drupal这个架构还是不熟悉,找配置文件找了半天,最后还是靠搜索引擎。
- MSF框架搜索出来的攻击exp好几个,得想想办法批量测试(虽然真实项目应该遇不到,但是能偷一点懒是一点嘛)
- 距离上一次做靶机已经有一段时间了,中间这段时间也没有看相关的内容,手有点生了。真的是业精于勤荒于嬉
步骤流水
网络扫描,确定靶机IP(我的netdiscover好像有问题,扫描提示完成之后需要等一会儿才能显示结果)。
端口扫描
端口 描述 22 SSH 80 apache2.2.22、Drupal 111 rpcbind 44237 RPC 111和44237没见过
1. 建立立足点
涨知识了
大概意思是:apache保护文件名中带有
.ht
的文件不被下载感兴趣的页面
xmlrpc.php
网页源码也没有感兴趣的点。
使用msf的
exploit/unix/webapp/drupal_drupalgeddon2
得到一个shell,权限为www-data
2. 提权
在当前目录下就可以找到第一个flag
根据提示查找config文件
大致翻了一下这个文件,里面并没有找到有用的信息。
上网搜了一下,Drupal的配置文件为
sites/default/settings.php
其中找到了数据库的配置信息
连接数据库,因为mysql数据库并没有对外开放,因此在shell中进行操作。
翻了翻数据库,能看到drupal登录用户的密码hash,但是感觉并不是重点,因为已经通过web获得了一个立足点,cms登录用户已经显得不是那么重要了。
尝试进行udf提权,发现没有写入权限,同时也发现自己到现在都没有对主机信息进行搜集。
3. 主机信息搜集
利用LinEnum.sh脚本搜集信息,将报告导回本地查看。
内核版本为
Linux version 3.2.0-6-486
存在一个用户名为
flag4
,其HOME目录下有个flag4的文本文件看到了一个exim4进程,但是用户很诡异,而且这个程序有s属性
查查看其他有s属性的命令
4. 继续提权
针对内核版本查找提权途径,但是两个程序都无法提权。
读一下
flag4.txt
,我也不知道这个“相同的方法”指的是啥,我又没有ls、cat root目录下内容的权限。试试看Exim,搜出来一大堆
查看当前版本,有点尴尬,并不在列表里
尝试通过find提权,发现可以提权(之所以最后尝试这个,是因为之前忘记查看带有suid权限的程序了,信息搜集的最后一步是补上去的)
获得一个root权限的shell
5. 消失的flag
回到得到cms配置文件的那一步
利用配置文件中的信息,登录到数据库,可以看到Drupal的用户名和密码。
查看Drupal详细版本号为7.24
searchsploit到一个添加Admin用户的脚本
利用脚本添加一个账户
登录后看到flag3的提示
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
另一种添加用户的方式,既然有了数据库权限,就可以手工添加账号。利用Drupal自身提供的脚本
./scripts/password-hash.sh
加密自己的密码,通过数据库添加一个账号,并修改成管理员权限。根据提示,使用find命令查看shadow文件可以得到用户密码的hash
利用hashcat尝试爆破,很快就可以爆破出flag4的密码,但是root的一直都没有出现(等不及了,要睡觉)
使用ssh成功登陆,并读取flag4.txt
Vulnhub_DC1 记录的更多相关文章
- 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL
在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Kali对wifi的破解记录
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...
- 2015 西雅图微软总部MVP峰会记录
2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...
- 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- 我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- 前端学HTTP之日志记录
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...
- ASP.NET Core应用中如何记录和查看日志
日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...
- python+uwsgi导致redis无法长链接引起性能下降问题记录
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...
随机推荐
- bugku 变量1
变量1 题目信息 flag In the variable ! <?php error_reporting(0); include "flag1.php"; highligh ...
- Spring Cloud netflix feign【服务间通信】
一.简介 1,进程间通讯的本质是交换消息 2,服务间通信的两种方式 (1)RESTFul风格 (2)RPC风格 (3)两种风格的比较 3.基于RESTFul风格服务调用模型 4.基于Spring Cl ...
- vs rdlc 设置Tablix 在新页面重复表头
设置方法: 1.选中Tablix控件 2.点开三角形 3.选择高级模式 4.在行组 下 选择静态,然后看右边的属性 5.将属性设置为如下 就可以让Tablix控件实现在新页中带表头
- Docker - CentOS 7 安装
1. 概述 安装 docker markdown 显示有点问题 代码块里的 后面应该跟一个换行, 但是没有跟 这样会导致部分命令直接执行没有反应 2. 环境 os CentOS7 用户 root 3 ...
- JS中constructor属性
constructor属性用于对当前对象的构造函数的引用.可以用来判断对象的类型: <script> var newStr = new String("One world One ...
- 深入delphi编程理解之消息(一)WINDOWS原生窗口编写及消息处理过程
通过以sdk方式编制windows窗口程序,对理解windows消息驱动机制和delphi消息编程有很大的帮助. sdk编制windows窗口程序的步骤: 1.对TWndClass对象进行赋值; 2. ...
- eclipse配置class注释模板
/** * Copyright (c) ${year}, All Rights Reserved. * */ ${filecomment} ${package_declaration} ${typec ...
- 异常的jvm(java虚拟机)与异常处理try catch与throwable
- [USACO12JAN]牛联盟Bovine Alliance
传送门:https://www.luogu.org/problemnew/show/P3043 其实这道题十分简单..看到大佬们在用tarjan缩点,并查集合并.... 蒟蒻渣渣禹都不会. 渣渣禹发现 ...
- js将相除结果百分比 ,四舍五入函数 toFixed()
function percentNum(num, num2) { return (Math.round(num / num2 * 10000) / 100.00 + "%"); } ...