mysql离线本地解析密码

前言

有些时候我们做渗透并不是一定要进到内网,拿到域控,进而拿下一整个域内的机器,一是不可能每次运气都那么好,能够通过一些exp批量扫得一些机子,二是在打内网的过程中会有许多不同的情况,导致会花费大量的时间

有些时候渗透的目标可能就是某个网站的数据库内的用户信息,所以拿到用户信息就相当于工作完成了一大半,没有必要所有都继续往内网渗透,这时候就相当于只要拿到数据库内的数据,这次渗透就十分成功

而这篇文章就是介绍如何在已经拿到一台有数据库的机器,但是不知道他数据库密码的情况下,通过离线本地解析,获取机器的数据库密码

正文

因为物理机上安装得有phpstudy,所以将物理机作为被攻击机,虚拟机作为攻击机

即:攻击机 win2008r2 (虚拟机)

  被攻击机 win10 (本机)

攻击机安装MySQL Server 5.0,有些5.0.x版本只支持32位系统,找支持x64或者64-bit的zip安装即可

安装程序就随便放几张图吧,跟着默认设置走就行,密码设置的地方记住即可

这里假设我已经拿到了目标机的shell,能够对他文件夹下的所有文件进行下载和上传操作

进入MYSQL\data\mysql目录

找到目录下的 user.frm ,user.MYD ,user.MYI文件下载到本机上

这里假装我已经从目标机上拿到了user.frm ,user.MYD ,user.MYI文件放到了我本机的mysql\data\mysql目录下

然后打开mysql目录下的my.ini文件,在mysqld模块下加上一行

skip-grant-tables

这里解释一下这条命令:登录的时候不启动grant-tables这个表,这个地方是授权表,相当于mysql每次登陆的时候都会跟这个授权表比对之后才能够登陆成功,skip这个表达到绕过的效果

多提一句,如果mysql的密码忘记了也可以用这个命令直接进mysql,但是可能会遇到一些报错

进入cmd,输入如下语句查看:

select user,password,host from mysql.user;

成功拿到密码hash

到本机上看下密码hash,是一样的,证明离线解析成功

相关推荐
Database_Cool_4 分钟前
AnalyticDB MySQL vs StarRocks/ByteHouse:云数仓选型指南——全托管 vs 自建方案
数据库·数据仓库·mysql·阿里云
Bobolink_5 分钟前
多场次美区拍卖直播,网络资源调度与复用方案
网络·网络优化·网络调度·跨境直播·直播网络
时代文章7 分钟前
UCX 官方文档和 InfiniBand 架构知识整理
网络·ai·性能优化
快乐肚皮10 分钟前
【无标题】
服务器·网络·tcp/ip
Omics Pro27 分钟前
「自兹以往」动物肠道微生物组
数据库·人工智能·机器学习·语言模型·自然语言处理
zzz_236835 分钟前
【Redis】分布式锁完整演进
数据库·redis·分布式
mN9B2uk171 小时前
数据库的约束简介
java·数据库·sql
计算机安禾1 小时前
【数据库系统原理】第4篇:关系数据结构的形式化定义:域、笛卡尔积与关系模式
数据结构·数据库·算法
Henry-SAP1 小时前
SAP(ERP) BOM变更实时同步MRP方案
数据库·云原生
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第99题】【Mysql篇】第29题:如何选择合适的分布式主键方案?
java·数据库·分布式·mysql·面试