一、概念
弱密码是指非常容易破解的密码。密码的规律性很强,可以是连续数字、键盘连续按键、用户身份信息等。
国内网民常用的25个弱密码有:000000、111111、11111111、112233、123123、
123321、123456、12345678、654321、666666、
888888、abcdef、abcabc、abc123、a1b2c3、
aaa111、123qwe、qwerty、qweasd、admin、
password、p@ssword、passwd、iloveyou、5201314、
asdfghjkl、66666666、88888888
国外网民常用的25个弱密码:
password、123456、12345678、qwerty、abc123、
monkey、1234567、letmein、trustno1、dragon、
baseball、111111、iloveyou、master、sunshine、
ashley、bailey、passw0rd、shadow、123123、
654321、superman、qazwsx、michael、football、asdfghjkl
另外还要避免一密多用、加强密码的管理。
二、Linux系统密码安全性设置
1. 口令复杂度设置
设置密码不少于12位、包含大写、小写、数字、其它字符,每个字符最多重复2次
authconfig --passminlen=12 --passminclass=4 --passmaxrepeat=2 --update
2. 生成复杂密码方法
(1) 使用keepass开源密码管理软件
下载地址:kee
(2) 使用OpenSSL命令生成随机字符串
# 生成12位随机密码
openssl rand -base64 12
(3) 在Linux中使用pwgen
安装
# deepin/ubuntu
sudo apt install pwgen -y
# centos redhat
sudo yum install pwgen -y
生成复杂密码,含大小写、数字、特殊字符,12位
pwgen -c -n -y 12 1
(4) 使用一些在线网站生成随机密码
3. 弱密码校验破解工具
John the ripper
可以用来破解强度不大的Linux系统密码。网站: www.o
# 安装
cd ~/
wget http://www.o/j/jo.tar.gz
tar zxvf jo
cd jo
make clean linux-x86-64
cd ~/jo/run
./john --test
# 使用
# 把shadow导出来
./unshadow /etc/passwd /etc/shadow > my
./john --wordlist= my
./john --show my
我这虚拟机使用密码123456很快被破解出来了。
使用John the ripper需要的密码表比较重要。
三、一些通用型弱密码检测工具
这些弱密码检测工具,同样可以用作攻击破解的工具。大家使用务必注意,针对未授权的目标进行扫描有可能触犯法律。即使针对云上自己租用的主机,也应当在运营商许可的情况下再进行扫描检测。
(1) Hydra
黑客组织thc开源的一款暴力破解密码的工具,支持:AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, uHTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET,HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP 等类型密码。网址:
# 安装
cd ~/
git clone
cd thc-hydra/
./configure
make
# 安装位置: /usr/local/bin/hydra
sudo make install
# 使用
hydra -l robert -P ssh://ip:22 -t 4
参数说明:
- -l 用户名
- -L 用户名列表
- -P 密码列表
- -M ip列表
在BackTrack5中集成了xHydra,可进行GUI界面操作:测试一个目标的SSH破解:
Passwords设置:Password List : /pentest/passwords/wordli设置:
点击start按钮,破解即开始。
(2) medusa
同样支持很多服务破解。
# 批量扫弱口令
medusa -h ip -u user -P password -M ssh/ftp/telnet/http -H target_ip list
(3) F-Scrack(服务弱口令检测脚本)
开源地址:支持 : FTP、MYSQL、MSSQL、MONGODB、REDIS、TELNET、ELASTICSEARCH、POSTGRESQL 等。特点:
- 命令行、单文件,绿色方便各种情况下的使用。
- 无需任何外库以及外部程序支持,所有协议均采用socket与内置库进行检测。
- 兼容OSX、LINUX、WINDOWS,Python 2.6+(更低版本请自行测试,理论上均可运行)。
命令格式
python F-Scrack.py -h 192.168.1 [-p 21,80,3306] [-m 50] [-t 10]
参数说明
- -h 必须输入的参数,支持i),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)直接进行扫描。
示例
python Scrack.py -h 10.111.1
python Scrack.py -h 192.168.1.1 -d
python Scrack.py -h 10.111.1.1-10.111.2.254 -p 3306,5432 -m 200 -t 6
python NAScan.py -h ip.ini -n
(4) XSCan
网址:有命令行和可视化界面两种使用方式,支持以下扫描:
- 操作系统探测、版本探测
- 端口扫描
- SNMP信息
- CGI ,IIS , RPC , SSL信息探测
- SQL-Server,FTP-Server,SMTP-Server POP3-Server探测
- NT服务器弱密码探测
等。
(5) SNETCracker
开源地址:平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。
Allscanner
地址:gi
使用Python编写,支持:
- 21 FTP 弱口令检测
- 139 LDAP 未授权访问检测
- 1433 MSSQL 弱口令检测
- 3306 MYSQL 弱口令检测、未授权访问检测
- 11211 MEMCACHED 未授权访问检测
- 6379 Redis 未授权访问检测
- 27017 MongoDB 未授权访问检测
- 9200 Elasticsearch 未授权访问检测 1521 Oracle 弱口令检测
示例:
python all -i 192.168.1.1/24 -t 200
(6) 其它扫描类工具:
- patator 暴力破解SSH
- BrutesPray 破解SSH
- ntscan
- htpwdScan
- HScan
- X-crack
- tomcat-weak-password-scanner
另外还有一些针对 网络摄像头弱口令扫描、WIFI弱口令扫描、Jenkins、 oracle、 zabbix弱密码、RDP攻击等扫描工具,这里不再一一列举。
四、一些破解词典生成工具
上面的检测工具,很重要的一环是要生成破解词典。
- crunch
- pydictor
- Wyd
- CeWL v5.1
- RSMangler
- AWLG
这个国产有很多密码生成字典,下载使用时注意先杀毒。