当前位置: 首页 > news >正文

DC-1渗透测试

DC1 五个flag的拿取(截图是五个flag里面的内容)

注意事项:kali的用户名:root 密码:kali

注意:DC1 只要开机服务就起来了

思路:信息收集—> 寻找漏洞—> 利用漏洞(sql注入,文件上传漏洞,框架漏洞等)—> 反弹shell—>进行提权

1DC1网络适配器改为NAT模式,并在高级选项一栏查看MAC地址

 

2信息收集过程,利用acp-scan -l f发现活动主机

3由上一步知道第三个是DC-1IP地址

4Namp进行更加详细的扫描,发现测试机开通了22端口,80端口,111端口分别对应了ssh服务,http服务,rpcbind服务

 

5利用disrearch -u扫描目录(过程缓慢,)发现了robots.txt存在,应该可以利用,实验后行不通。

6,通过工具searchsploit 检查drupal7.0-7.31版本存在5个漏洞可以利用

7 框架版本Drupal 7,打开msfconsole工具,搜索相关框架漏洞。

Msfconsole简称(msf)是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马,方便于安全测试人员的使用。

【工具使用】Metasploit(MSF)使用详解来自 <【工具使用】——Metasploit(MSF)使用详解(超详细)-CSDN博客>

8msf搜索总共有七个漏洞可以利用,其中第一个经过测试是可以成功的,复制粘贴一下

9, msf漏洞使用 :

use 1(复制粘贴)

查看漏洞具体内容:info

配置被攻击机:set RHOSTS 192.168.10.138

检查配置:options

执行攻击:run

10run一下,攻击靶机192.168.23.144

 

11. 进入靶机的命令行内

  

12执行命令python -c 'import pty;pty.spawn("/bin/bash")'

    (这是一段简短的 Python 代码,旨在从当前的 shell 会话中启动一个交互式的 bash shell(以提高终端的功能),并通过 TTY(伪终端)绑定到该 shell,从而获得更好的交互式操作体验。

代码导入了pty模块,并调用pty.spawn()函数,将参数"/bin/bash"传递给它。这个函数的作用是创建一个新的伪终端(pseudo-terminal)并将它与当前的终端关联起来,然后在新的伪终端内启动一个bash Shell进程。这相当于在当前终端执行了一个新的bash进程,但是该进程跑在伪终端下。)

由此进入交互式命令中

13ls一下在flag1.txt找到第一个flag1

Every good CMS needs a config file - and so do you.

每一个好的CMS都需要一个配置文件,你也是。

14,提示我们需要找cms(内容管理系统)的配置文件,此系统的配置文件在sites/default/目录下,我们进入此目录,发现目录下有配置文件(settings.php),查看配置文件,果然有flag的蛛丝马迹

cat settings.php在这个文件中,有flag2

15,由此找到第二个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?

暴力和字典攻击不是

获得访问权限的唯一方法(您将需要访问权限)。

16,第二个flag有提示,拿到证书

你能用这些证书做什么?

数据库:用户名:dbuser     密码:R0ck3t

17,接下来进入数据库查找网页登录账号和密码然后登陆网页。

进入MYSQL mysql -u dbuser -p   password:R0ck3t

18 ,存在两个数据库

19,进入第二个数据库

20,查看表名

21,查看user里面所有信息,包括密码

成功找到账户和密码,但密码进行了加密,使用md5无法解密,因为Drupal 7的加密方式并不是一般的MD5

22,退出数据库,并列出初始目录下的所有内容

23,进入scripts

24,查看一下脚本password-hash.sh下有什么,然后把想用的密码传入脚本,然后让脚本自动加密生成一个系统支持的密码形式(我们这里传入123456)

25.编译出密码 hash: $S$Ddev/YW/NC5u9rd8xBLFT5X12s8yajuwfoifaCaoxFLDBVhSQ.bh

26,再次进入数据库

27查看数据库,使用drupaldbd数据库,并查看表名

28,由25可以开始更换密码,

select uid,name,pass from users;

查看之前的用户密码

update users set pass="$S$D4mpsf5vApkT26HtoEKccL5nAo9YjEceEkz0np.6zC011MNhoEjQ" where name="admin";

更改admin的密码

select uid,name,pass from users;

查看更改后的用户密码

29,观察到密码改变

30  利用admin   passwd123456登录

31,登录进入网站,获得第三个flag

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将有助于查找密码,但您需要执行该命令才能找到阴影中的内容。

32,退出,并依据flag3给出提示查找一下passwdpasswdetc目录下有一个,我们进行查找发现flag4存在home目录下,直接进入home目录查看flag4

;flag4在最后一行

33,查看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?

您可以使用相同的方法来查找或访问根中的标志吗?

可能。但也许没那么容易。也许是这样?

34flag4给出提示flag5就在根目录下,最后我们就需要提权。而flag3flag4都给出了提示"find",暗示我们应该使用find提权。这里使用了find提权寻找suit

35,提权成为root用户

36,发现shell前缀改变,查看权限,发现有了root权限,进入root目录,获得第五个flag

 

解题总结:

DC-1靶场攻破过程:

1、首先我将测试机的网站进行了扫描,由此发现它的框架版本是Drupal 7,然后进入msf搜索相关漏洞,利用可行漏洞进行渗透,然后拿到交互shell,发现了flag1,其提示我们注意系统配置

2cms的配置文件在sites/default中,查看配置文件发现了flag2,告诉我们数据库账号和密码

3、进入数据库后想更改密码,但是密码是进行了专门加密的,当知道了系统下自带加密脚本,于是我借助加密脚本生成了一个符合系统的密码,并且将数据库admin用户的密码进行了更改。使用更改后的密码,登陆上网站后,拿到了flag3,其提示我们寻找passwd

3、于是我找到了etc目录下的passwd,发现了flag4home目录下,我进入home目录,查看了flag4,并提示我flag5root目录下(需要提权操作)

4、通过flag3flag4的提示,我使用find命令进行了提权并成功获取最后的flag5,成功渗透了DC-1靶机

相关文章:

DC-1渗透测试

DC1 五个flag的拿取&#xff08;截图是五个flag里面的内容&#xff09; 注意事项&#xff1a;kali的用户名&#xff1a;root 密码&#xff1a;kali 注意&#xff1a;DC1 只要开机服务就起来了 思路&#xff1a;信息收集—> 寻找漏洞—> 利用漏洞(sql注入,文件上传漏洞…...

深度剖析:电商 API 接口如何成就卓越用户体验

在电商领域的激烈竞争中&#xff0c;提供卓越的用户体验已成为企业脱颖而出的关键。而电商 API 接口在其中扮演着举足轻重的角色&#xff0c;它如同电商平台的神经系统&#xff0c;连接着各个关键环节&#xff0c;为用户带来无缝、高效且个性化的购物之旅。 一、极速响应&#…...

C++调试经验:Ubuntu下CMake链接常见库的方式(持续更新)

目录 1. CMake链接OpenCV库 2. CMake链接VTK库 3. CMake链接Qt库 4. CMake链接PCL库 5. CMake链接Gstreamer 6. CMake链接json-cpp库 7. CMake链接yaml-cpp库 8. CMake链接breakpad库 9. CMake链接Eigen3库 1. CMake链接OpenCV库 find_package (OpenCV 4 REQUIRED)…...

【HarmonyOS】应用实现APP国际化多语言切换

【HarmonyOS】应用实现APP国际化多语言切换 前言 在鸿蒙中应用国际化处理&#xff0c;与Android和IOS基本一致&#xff0c;都是通过JSON配置不同的语言文本内容。在UI展示时&#xff0c;使用JSON配置的字段key进行调用&#xff0c;系统选择对应语言文本内容。 跟随系统多语言…...

使用pandas进行数据分析

文章目录 1.pandas的特点2.Series2.1新建Seriws2.2使用标签来选择数据2.3 通过指定位置选择数据2.4 使用布尔值选择数据2.5 其他操作2.5.1 修改数据2.5.2 统计操作2.5.3 缺失数据处理 3.DataFrame3.1 新建 DataFrame3.2 选择数据3.2.1 使用标签选择数据3.2.2 使用 iloc 选择数据…...

用于无监督域适应的提示分布对齐

论文探讨了视觉语言模型&#xff08;VLMs&#xff09;及其在无监督域适应&#xff08;UDA&#xff09;中的应用&#xff0c;并引入了一种名为提示分布对齐&#xff08;Prompt-based Distribution Alignment&#xff0c;PDA&#xff09;的方法&#xff0c;该方法采用双分支训练策…...

Rust整合Elasticsearch

Elasticsearch是什么 Lucene&#xff1a;Java实现的搜索引擎类库 易扩展高性能仅限Java开发不支持水平扩展 Elasticsearch&#xff1a;基于Lucene开发的分布式搜索和分析引擎 支持分布式、水平扩展提高RestfulAPI&#xff0c;可被任何语言调用 Elastic Stack是什么 ELK&a…...

Linux 文件权限管理:chown、chgrp 和 chmod 的使用及权限掩码规则

目录 文件权限的基本概念 chown&#xff1a;更改文件的拥有者 使用方法 示例 选项 chgrp&#xff1a;更改文件的所属组 使用方法 示例 chmod&#xff1a;更改文件的权限 使用方法 权限表示 选项 权限掩码&#xff08;umask&#xff09;规则 如何查看和设置 umask…...

简单记录ios打包流程

1、点击这里获取UDID 2、xcode登录开发者账户、确定唯一id&#xff08;Bundle ID&#xff09; 3、去这里注册appid 4、在这里这里创建app 5、之后xcode中打包...

右键以vscode打开目录的时候出现找不到应用程序

出现这个问题的主要原因&#xff0c;大概率可能是因为你移动了vscode的安装路径导致的。 解决办法 打开注册表&#xff1a;通过cmd 打开regedit 然后搜索&#xff1a;计算机\HKEY_CLASSES_ROOT\Directory\Background\shell 这个两个参数可以自己比对一下&#xff0c;主要需要检…...

【Go-Taskflow:一个类似任务流的有向无环图(DAG)任务执行框架,集成了可视化和性能分析工具,旨在简化并行任务的复杂依赖管理】

Go-Taskflow是一个静态有向无环图&#xff08;DAG&#xff09;任务计算框架&#xff0c;它受到taskflow-cpp的启发&#xff0c;结合了Go语言的原生能力和简洁性&#xff0c;特别适合于并发任务中复杂的依赖管理。 Go-Taskflow的主要特点包括&#xff1a; 高可扩展性&#xff1…...

排查PHP服务器CPU占用率高的问题

排查PHP服务器CPU占用率高的问题通常可以通过以下步骤进行&#xff1a; 使用top或htop命令&#xff1a;这些命令可以实时显示服务器上各个进程的CPU和内存使用情况。找到CPU使用率高的进程。 查看进程日志&#xff1a;如果PHP-FPM或Apache等服务器进程的日志记录了具体的请求…...

【学术会议论文投稿】“从零到一:使用IntelliJ IDEA打造你的梦幻HTML项目“

【JPCS独立出版】2024年工业机器人与先进制造技术国际学术会议&#xff08;IRAMT 2024&#xff09;_艾思科蓝_学术一站式服务平台 更多学术会议请看 学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言&#xff1a;为何选择IntelliJ IDEA&#xff1f; 第一步&#xff1a…...

Win11安装基于WSL2的Ubuntu

1. 概述 趁着还没有完全忘记&#xff0c;详细记录一下在Win11下安装基于WSL2的Ubuntu的详细过程。不得不说WSL2现在被微软开发的比较强大了&#xff0c;还是很值得安装和使用的&#xff0c;笔者就通过WSL2安装的Ubuntu成功搭建了ROS环境。 2. 详论 2.1 子系统安装 在Win11搜…...

如何对pdf文件进行加密?pdf文件加密全攻略与深度解析(5个方法)

如何对pdf文件进行加密&#xff1f; 只见&#xff0c;在深夜的情报局里&#xff0c;特工小李将一份绝密PDF文件放在保险箱内&#xff0c;以为这样就天衣无缝了。 细细推敲&#xff0c;漏洞百出&#xff1a; 如果钥匙被盗呢&#xff1f;如果被神匠破解出密码呢&#xff1f;如果…...

c++面向对象三大特性之一-----多态

前言:本文将介绍在32位平台下,c的多态,通过本篇文章的学习你讲了解多态的原理,多态的底层还有一些不常见的关键字的介绍(final,override). 文章内容如下&#xff1a; 1:多态的概念 2:多态的定义与实现 3:多态的原理 4:抽象类 文章正式开始 1&#xff1a;多态的概念 多…...

8.Linux按键驱动-中断下半部

1.编程思路 1.1在gpio结构体中添加tasklet_struct结构体 1.2在probe函数中初始化tasklet结构体 1.3在中断服务程序中调度tasklet 1.4在这个函数中执行其它任务 2.代码&#xff1a; 应用程序和Makefile和上节一致 https://blog.csdn.net/weixin_40933496/article/details/1…...

Redis 线程控制 总结

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 线程控制 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 线程控制 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis &a…...

Scrapy框架原理与使用流程

一.Scrapy框架特点 框架&#xff08;Framework&#xff09;是一种软件设计方法&#xff0c;它提供了一套预先定义的组件和约定&#xff0c;帮助开发者快速构建应用程序。框架通常包括一组库、工具和约定&#xff0c;它们共同工作以简化开发过程。scrapy框架是python写的 为了爬…...

【C语言】字符型在计算机中的存储方式

ASCII对照表&#xff1a;https://www.jyshare.com/front-end/6318/ ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息互换标准代码&#xff0c;ASCII&#xff09;是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...