Vulnhub靶机渗透:DC-7打靶记录

2024-03-20 10:28

本文主要是介绍Vulnhub靶机渗透:DC-7打靶记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

自信自强,来自于不怕苦、不怕难的积淀。宝剑锋从磨砺出,梅花香自苦寒来;任何美好理想,都离不开筚路蓝缕、手胼足胝的艰苦奋斗!

靶场介绍

DC-7是一个初中级的靶场,需要具备以下前置知识:

  • 基础的Linux命令及操作(arp,whatweb…)
  • 基础的渗透测试工具使用(Kali自带的工具,eg:Hydra,MSF…)
  • Linux系统提权知识

友情提示:

该靶场只需要简单的下载,解压,打开并将其导入到VMware即可;应该将其网络配置为NAT模式,保证机器与kali在同一个网段下,方便操作

1651799646_6274765e0f7dcacdd7c0e.png!small?1651799646134

DC7小提示:

If you need to resort to brute forcing or dictionary attacks, you probably won’t succeed.What you will need to do, is to think “outside” of the box.Waaaaaay “outside” of the box.The ultimate goal of this challenge is to get root and to read the one and only flag.

翻译:如果需要诉诸蛮力或者字典攻击,很可能不会成功。你需要做的是跳出框框去思考。在盒子外面,这项挑战的最终目标是找到根并读取唯一的flag。

**信息收集 **

因为是靶机环境,所以无法模拟真实的"实战"环境;所以假设"目标"是一个局域网内的主机;为了确定"域控DC",我们可以通过kali中的arp-scan来探测域环境;最后以namp等端口扫描器进行端口判定

1651799740_627476bce756e93f50c5d.png!small?1651799743537

因为我只开了两台虚拟机,所以非常容易的通过arp命令就找到了CD靶机的IP地址

arp-scan -l  nmap -sS IP

友情提示:namp扫描时建议使用nmap -sS IPnmap -p IP容易引发网站崩溃和警报)如果你的系统不是linux那你可以考虑下载nmap图形化界面,有利于初学者

下一步通过访问80端口与22端口;确定在哪个端口进行打点;我们通过访问80端口可以发现左下角,存在一些信息泄露(页面不同是因为我已经登录成功所导致的)

1651799773_627476dda91f6445789a8.png!small?1651799774354

补充:我们可以发现@DC7USER,可能存在敏感信息泄露

22端口:我们尝试使用Hydar对ssh的22端口进行暴力破解,最终破解失败

hydra -L 用户名字典 -p 密码字典 -t 线程 -vV -e ns ip sshhydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh

所以通过端口访问,我们从80端口进行突破;首先可以通过Wappalyzer这款插件进行信息收集;但是因为笔者kali没有下载,所以只能使用kali自带的whatweb进行信息收集(使用方法:whatweb -v IP

1651799822_6274770e6886ae335a275.png!small?1651799823193

使用whatweb探查结果如下所示:

1651799843_627477233b70e3a2ac965.png!small?1651799846536

然后祭出"MSF",但是可惜并没有可以利用的漏洞,但是我们根据"敏感信息"发现该靶场存在源代码泄露;通过谷歌(百度也可以)搜索"@DC7USER"关键词,找到源代码

1651799861_627477354bae505cf1ffe.png!small?1651799861551

更据提示信息发现 config.php文件( config.php文件读里可能存在配置文件信息…),与此同时我们发现了数据库密码

1651799918_6274776eb6bec448dfa34.png!small?1651799918941

1651799934_6274777e062efbe0c2d34.png!small?1651799935099

通过连接我们发现该数据库连接不上,但是我们的ssh却可以通过该密码连接成功!

1651799955_627477932fef82b5d445a.png!small?1651799956263

**打点 **

1651800168_62747868e85c309b7001c.png!small?1651800172633因此我们可以使用ls命令,探测文件目录;在通过cat mbox查看文件配置和敏感信息与文件路径…

1651800148_62747854635473f381d0f.png!small?1651800151103

通过仔细的观察发现/opt/scripts(定时任务)的路径存在root的使用权限;我们首先通过cd /opt/scripts跳转到该目录;在使用ls查询,最后使用ls -l查看该文件夹是否有写入权限;如果我们获得了该文件的写入权限,就可以写入shell,然后依靠任务使用root去执行shell。但是我们发现该文件并没写入权限;于是通过cd 命令,去寻找其他漏洞;我们发现可以在/var/www/html目录下使用drush命令;于是可以我们更改网页的登录密码;代码如下:

cd /var/www/htmldrush user-password admin --password="123" 

通过"success"我们可以知道,密码更改成功!尝试登陆网站!

**提权 **

通过输入修改后的密码,成功登录网站后台。

1651800100_627478240ee5aaea74a8d.png!small?1651800100396

我们接着开始寻找"一句话木马"的写入点,我们发现content可能存在上传点

1651800077_6274780ddbe278483c11e.png!small?1651800078200

1651800047_627477efd7154b0282668.png!small?1651800048176

但是大多数上传点无法使用php,但是通过Extand可以安装php环境

1651800023_627477d7ca0c7445a8932.png!small?1651800024030

安装成功!这时我们就可以通过该环境上传webshell!

这次我们使用网上常用的PHP一句话木马,建议有条件的可以对木马进行免杀处理(当然也可以使用PHP反弹shell的方式进行攻击)

<?php@preg_replace("/[email]/e",$_POST['123'],"error");?>

1651799988_627477b4134c0e951dbd5.png!small?1651799988472

注意text format的格式改为PHP,即可通过图形化页面进行连接,进而获得flag!

这篇关于Vulnhub靶机渗透:DC-7打靶记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829167

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事