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,是一样的,证明离线解析成功

相关推荐
qq_349317489 分钟前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
遇见你的雩风13 分钟前
网络原理(一)
java·网络
9523618 分钟前
Spring IoC&DI
java·数据库·spring
尚雷558028 分钟前
从电商订单支付更新,吃透 Oracle 数据修改的底层设计哲学与全组件协同原理
数据库·oracle
Johnstons30 分钟前
网络诊断工具怎么选:从看到异常到真正定位根因的实战方法
网络·wireshark·抓包分析
2401_8323655234 分钟前
Chart.js 4 中基于数据实际范围的线性渐变填充方案
jvm·数据库·python
qq_3422958237 分钟前
如何让 Bootstrap 图标在 Vue 3 中持续旋转动画
jvm·数据库·python
李兆龙的博客41 分钟前
从一到无穷大 #70 从 LR 图 PEC 到InfluxQL兼容性差分测试方法论与工程实践
数据库·功能测试·oracle
爱学习的小囧43 分钟前
ESXi 开启 Secure Boot 后驱动签名验证失败完整处置教程:合规修复与临时测试方案全解
服务器·数据库·esxi·虚拟化
ReaF_star1 小时前
【环保】CentOS 7 安装 MySQL 8 实战记录:从安装到排障一次讲清
linux·mysql·centos