弱口令密码爆破

经过这几天感觉渗透经常会进行弱口令密码爆破,找了一些关于弱口令密码爆破的工具试试,虽然在没进入内网之前,可能大多数都是无用功,但是谁知道呢

弱口令密码爆破

以mysql数据库为例子

环境准备

kali修改mysql配置文件使得公网能访问

修改/etc/mysql/mariadb.conf.d/50-server.cnf,找到bind-address = 127.0.0.1注释

重启mysql

1
/etc/init.d/mysql restart

修改账户允许访问的地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> select user,host from user;
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.000 sec)
MariaDB [mysql]> update user set host='%' where user='root';
Query OK, 1 row affected (0.004 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [mysql]> select user,host from user;
+------+------+
| user | host |
+------+------+
| root | % |
+------+------+
1 row in set (0.000 sec)

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

可以看到我这里的flush privileges没有用,于是我重启mysql和kali就行了

查看端口开放情况可以使用nmap,也可以使用netstat

1
2
nmap -sS xxx.xxx.xxx.xxx
netstat -an | grep 3306

hydra

kali自带的一个工具,爆破mysql密码

使用教程:https://juejin.cn/post/6967928172369149988

参数

1
2
3
4
5
6
7
8
9
10
11
-l login 小写,指定用户名进行破解
-L file 大写,指定用户的用户名字典
-p pass 小写,用于指定密码破解,很少使用,一般采用密码字典。
-P file 大写,用于指定密码字典。
-e ns 额外的选项,n:空密码试探,s:使用指定账户和密码试探
-M file 指定目标ip列表文件,批量破解。
-o file 指定结果输出文件
-f 找到第一对登录名或者密码的时候中止破解。
-t tasks 同时运行的线程数,默认是16
-w time 设置最大超时时间
-v / -V / -d 详细模式/每次尝试都显示用户名密码/调试模式

爆破语句

1
hydra -L user.txt -P password.txt -e n -f -v xxx.xxx.xxx.xxx mysql

但是短时间内产生太多的连接可能会导致

1
[ERROR] Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

如果是只是测试一下工具能不能用的,清理一下hosts文件就行

1
mysqladmin -uxxx -p flush-hosts

也可以进入mysql数据库修改max_connection_errors的值

1
2
set global max_connect_errors = 1000;
show variables like '%max_connect_errors%';

Medusa

F-Scrack

一款python编写的轻量级弱口令检测脚本,目前支持以下服务:FTP、MYSQL、MSSQL、MONGODB、REDIS、TELNET、ELASTICSEARCH、POSTGRESQL

下载地址:https://github.com/y1ng1996/F-Scrack

参数github里都有说,这里贴一下:

1
2
3
4
5
6
-h 必须输入的参数,支持ip(192.168.1.1),ip段(192.168.1),ip范围指定(192.168.1.1-192.168.1.254),ip列表文件(ip.ini),最多限制一次可扫描65535个IP。
-p 指定要扫描端口列表,多个端口使用,隔开 例如:1433,3306,5432。未指定即使用内置默认端口进行扫描(21,23,1433,3306,5432,6379,9200,11211,27017)
-m 指定线程数量 默认100线程
-t 指定请求超时时间。
-d 指定密码字典。
-n 不进行存活探测(ICMP)直接进行扫描。

例子

1
2
3
python Scrack.py -h 10.111.1
python Scrack.py -h 192.168.1.1 -d pass.txt
python Scrack.py -h 10.111.1.1-10.111.2.254 -p 3306,5432 -m 200 -t 6

测试

1
python F-Scrack.py -h xxx.xxx.xxx.xxx -d ../dict/psdtest.txt

超级弱口令检查工具

下载地址:https://github.com/shack2/SNETCracker/releases

碎碎念

顺便介绍一下kali自带字典,才发现在/usr/share/wordlists/目录下有很多字典,基本可以满足需要

字典介绍:https://blog.csdn.net/Jiajiajiang_/article/details/88638367

同时kali下还自带字典生成工具crunch,可以根据需要很方便地生成字典

ftp匿名登录,使用 anonymous用户+空密码 登陆成功