8.7 创建密码字典

8.7 创建密码字典,第1张

所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码。这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间。当然,如果一个人密码设置没有规律或很复杂,未包含在密码字典里,这个字典就没有用了,甚至会延长密码破解所需要的时间。在Linux中有Crunch和rtgen两个工具,可以来创建密码字典。为方便用户的使用,本节将介绍这两个工具的使用方法。

Crunch是一种创建密码字典工具,该字典通常用于暴力破解。使用Crunch工具生成的密码可以发送到终端、文件或另一个程序。下面将介绍使用Crunch工具创建密码字典。

使用Crunch生成字典。具体 *** 作步骤如下所示。

(1)启动crunch命令。执行命令如下所示。

执行以上命令后,将输出如下所示的信息:

输出的信息显示了crunch命令的版本及语法格式。其中,使用crunch命令生成密码的语法格式如下所示:

crunch命令常用的选项如下所示。

(2)创建一个密码列表文件,并保存在桌面上。其中,生成密码列表的最小长度为8,最大长度为10,并使用ABCDEFGabcdefg0123456789为字符集。执行命令如下所示:

从以上输出的信息中,可以看到将生成659TB大的文件,总共有66155263819776行。以上命令执行完成后,将在桌面上生成一个名为generatedCrunch.txt的字典文件。由于组合生成的密码较多,所以需要很长的时间。

(3)以上密码字典文件生成后,使用Nano命令打开。执行命令如下所示:

执行以上命令后,将会打开generatedCrunch.txt文件。该文件中保存了使用crunch命令生成的所有密码。

rtgen工具用来生成彩虹表。彩虹表是一个庞大的和针对各种可能的字母组合预先计算好的哈希值的集合。彩虹表不一定是针对MD5算法的,各种算法都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。

使用rtgen工具生成彩虹表。具体 *** 作步骤如下所示:

(1)切换到rtgen目录。执行命令如下所示。

(2)使用rtgen命令生成一个基于MD5的彩虹表。执行命令如下所示:

以上信息显示了彩虹表的参数及生成过程。例如,生成的彩虹表文件名为md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt;该表使用MD5散列算法加密的;使用的字符集abcdefghijklmnopqrstuvwxyz0123456789等。

(3)为了容易使用生成的彩虹表,使用rtsort命令对该表进行排序。执行命令如下 所示:

输出以上信息表示生成的彩虹表已成功进行排序。

kali默认字典目录

dirb——

big.txt #大的字典

small.txt #小的字典

catala.txt #项目配置字典

common.txt #公共字典

euskera.txt #数据目录字典

extensions_common.txt #常用文件扩展名字典

indexes.txt #首页字典

mutations_common.txt #备份扩展名

spanish.txt #方法名或库目录

others #扩展目录,默认用户名等

stress #压力测试

vulns #漏洞测试

dirbuster——

apache-user-enum-** #apache用户枚举

directories.jbrofuzz #目录枚举

directory-list-1.0.txt #目录列表大,中,小 big,medium,small

fern-wifi——

common.txt #公共wifi账户密码

metasploit——

… #各种类型的字典

wfuzz——

模糊测试,各种字典…

常用生成字典

表示生成一个长度最小三位,最大四位的密码,且都由1234中的四个数字组成 (需要生成空格,则写成"1234 ",4后面有一个空格)

把生成的字典保存在Desktop上的pass.txt中

表示生成一个个人信息的字典,包含李四的姓名,生活的城市,出生年月,年龄等。(ps:前面的最大和最小长度必须要输入,不过对结果不影响)

生成以2018开头的8位纯数字密码(ps:其中%代表所有的数字,@代表所有的小写字母,逗号代表所有大写字母)

1.特殊标记字符:

'%' 插入数字

'@' 插入小写字母

',' 插入大写字母

'^' 插入符号

2.命令参数:

-b 按指定的大小单位分割字典文件成若干个指定的大小的字典,避免一个字典文件过大,如:

./crunch 4 5 -b 20mib -o START 按每个文件20mib分割字典文件。

说明:单位有 kb, mb, gb, kib, mib, gib ,前三个单位是以1000单位计算的,后三个是以1024计算的。

注意数字和单位之间没有空格,例如:500mb 是正确的, 500 mb 格式是不对的(中间有空格),-b参数必须和-o START结合使用

-c 指定要写入字典文件中的行数,只在有 -o START参数时才生效,单个字典超过指定的行数会被分割成两个或多个字典文件。例如: -c 5000

-d 限制同一字符连续出现的数量, -d 2 表示限制一个字符最多连续出现2次如 aabd,ccda。aaab就表示超过了2个字符连续的限制了。

-e 定义到那个字符串就停止生成密码,例如: -e 999999 就表示在生成密码到99999时就停止生成密码

-f 调用密码库文件,例如:/usr/share/crunch/charset.lst

-i 改变输出格式,例如: 原本输入为aaa,aab,aac,aad再使用了-i之后,就会变成aaa,baa,caa,daa的格式了

-m 与-p搭配使用

-o 输出生成的密码到指定的文件,如: -o lybbnwordlist.txt

-p 定义密码元素

-q 读取密码元素

-r 定义从某一个地方重新开始

-s 第一个密码,从自己定义的密码xxx开始

-t 定义密码输出格式

1.@代表插入小写字母

2.,代表插入大写字母

3. %代表插入数字

4.^代表插入符号

-u The -u option disables the printpercentage thread. This should be the last option.

-z 压缩生成的字典文件,有效的参数是gzip, bzip2, lzma, and 7z,其中gzip压缩最快,bzip2压缩速度比gzip慢单压缩效率比gzip好,7z压缩速度最慢,但是压缩效率最高。

参数解释

min-len 开始的最小长度字符串(这个选项是必须的)

max-len 结束的最大长度字符串(这个选项是必须的)

charset string 要生成密码包含的字符集(小写字符、大写字符、数字、符号),这个选项是可选的,如果你不写这个选项,将使用默认字符集(默认为小写字符)。如果你想生成的密码包含空格字符,你可以使用来代替,

如:123abc

你可以把带有空格的字符集放在双引号“”中,如“123abc ”

前言

最近整理了一些 奇安信&华为大佬 的课件资料+大厂面试课题,想要的可以私信自取, 无偿赠送 给粉丝朋友~

1. 密码破解简介

1. 思路

目标系统实施了强安全措施

安装了所有补丁

无任何已知漏洞

无应用层漏洞

攻击面最小化

社会 工程学

获取目标系统用户身份

非授权用户不受信,认证用户可以访问守信资源

已知用户账号权限首先,需要提权

不会触发系统报警

2. 身份认证方法

证明你是你声称你是的那个人

你知道什么(账号密码、pin、passphrase)

你有什么(令牌、token、key、证书、密宝、手机)

你是谁(指纹、视网膜、虹膜、掌纹、声纹、面部识别)

以上方法结合使用

基于互联网的身份验证仍以账号密码为主要形式

3. 密码破解方法

人工猜解

垃圾桶工具

被动信息收集

基于字典暴力破解(主流)

键盘空间字符爆破

字典

保存有用户名和密码的文本文件

/usr/share/wordlist

/usr/share/wfuzz/wordlist

/usr/share/seclists

4. 字典

1. 简介

键盘空间字符爆破

全键盘空间字符

部分键盘空间字符(基于规则)

数字、小写字母、大写字符、符号、空格、瑞典字符、高位 ASCII 码

2. crunch 创建密码字典

无重复字符

crunch 1 1 -p 1234567890 | more

1

必须是最后一个参数

最大、最小字符长度失效,但必须存在

与 -s 参数不兼容(-s 指定起始字符串)

crunch 4 4 0123456789 -s 9990

读取文件中每行内容作为基本字符生成字典

crunch 1 1 -q read.txt

1

字典组成规则

crunch 6 6 -t @,%%^^ | more

-t:按位进行生成密码字典

@:小写字母 lalpha

,:大写字母 ualpha

%:数字 numeric

^:符号 symbols

输出文件压缩

root@kali:~# crunch 4 5 -p dog cat bird

1

-z:指定压缩格式

其他压缩格式:gzip、bzip2、lzma

7z压缩比率最大

指定字符集

root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab

1

随机组合

root@kali:~# crunch 4 5 -p dog cat bird

1

crunch 5 5 abc DEF + !@# -t ,@^%,

在小写字符中使用abc范围,大写字符使用 DEF 范围,数字使用占位符,符号使用!@#

占位符

转义符(空格、符号)

占位符

root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird

1

任何不同于 -p 参数指定的值都是占位符

指定特例

root@kali:~# crunch 5 5 -d 2@ -t @@@%%

1

2@:不超过两个连续相同字符

组合应用

crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -

crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -

3. CUPP 按个人信息生成其专属的密码字典

CUPP:Common User Password Profiler

git clone https://github.com/Mebus/cupp.git

python cupp.py -i

4. cewl 通过收集网站信息生成字典

cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt

-m:最小单词长度

-d:爬网深度

-e:收集包含email地址信息

-c:每个单词出现次数

支持基本、摘要 身份认证

支持代理

5. 用户密码变型

基于 cewl 的结果进行密码变型

末尾增加数字串

字母大小写变化

字母与符号互相转换

字母与数字互相转换

P@$w0rd

6. 使用 John the Ripper 配置文件实现密码动态变型

2. 在线密码破解

1. hydra

简介

密码破解

Windows 密码破解

Linux 密码破解

其他服务密码破解

图形化界面

xhydra

HTTP表单身份认证

密码破解效率

密码复杂度(字典命中率)

带宽、协议、服务器性能、客户端性能

锁定阈值

单位时间最大登陆请求次数

Hydra 的缺点

稳定性差,程序时常崩溃

速度控制不好,容易触发服务屏蔽或锁死机制

每主机新建进程,每服务新建实例

大量目标破解时性能差

2. pw-inspector

Hydra 小工具 pw-inspector

按长度和字符集筛选字典

pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l

pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u

pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5

3. medusa

Medusa 的特点

稳定性好

速度控制得当

基于线程

支持模块少于hydra(不支持RDP)

WEB-Form 支持存在缺陷

查看支持的模块

参数

-n:非默认端口

-s:使用SSL连接

-T:并发主机数

medusa -M ftp -q

3. 离线密码破解

1. 简介

身份认证

禁止明文传输密码

每次认证使用HASH算法加密密码传输(HASH算法加密容易、解密困难)

服务器端用户数据库应加盐加密保存

破解思路

嗅探获取密码HASH

利用漏洞登陆服务器并从用户数据库获取密码HASH

识别HASH类型

长度、字符集

利用离线破解工具碰撞密码HASH

优势

离线不会触发密码锁定机制

不会产生大量登陆失败日志引起管理员注意

2. HASH 识别工具

1. hash-identifier

进行 hash 计算

结果:5f4dcc3b5aa765d61d8327deb882cf99

进行 hash 识别

2. hashid

可能识别错误或无法识别

3. HASH 密码获取

1. samdump2

Windows HASH 获取工具

利用漏洞:Pwdump、fgdump、 mimikatz、wce

物理接触:samdump2

将待攻击主机关机

使用 Kali ISO 在线启动此主机

发现此 windows 机器安装有两块硬盘

mount /dev/sda1 /mnt

将硬盘挂载

cd /mnt/Windows/System32/config

切换目录

samdump2 SYSTEM SAM -o sam.hash

导出密码

利用 nc 传输 HASH

HASH 值:31d6cfe0d16ae931b73c59d7e0c089c0

2. syskey 工具进行密码加密

使用 syskey 进行加密(会对 SAM 数据库进行加密)

重启需要输入密码才能进一步登录

使用 kali iso live

获取到 hash 值

hashcat 很难破解

使用 bkhive 破解

使用 Bootkey 利用RC4算法加密 SAM 数据库

Bootkey 保存于 SYSTEM 文件中

bkhive

从 SYSTEM 文件中提取 bootkey

Kali 2.0 抛弃了 bkhive

编译安装 :http://http.us.debian.org/debian/pool/main/b/bkhive/

在windows的 kali live 模式下,运行

samdump2 SAM key (版本已更新,不再支持此功能)

建议使用 Kali 1.x

1. Hashcat

简介

开源多线程密码破解工具

支持80多种加密算法破解

基于CPU的计算能力破解

六种模式 (-a 0)

0 Straight:字典破解

1 Combination:将字典中密码进行组合(1 2 >11 22 12 21)

2 Toggle case:尝试字典中所有密码的大小写字母组合

3 Brute force:指定字符集(或全部字符集)所有组合

4 Permutation:字典中密码的全部字符置换组合(12 21)

5 Table-lookup:程序为字典中所有密码自动生成掩码

命令

hashcat -b

hashcat -m 100 hash.txt pass.lst

hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d

结果:hashcat.pot

hashcat -m 100 -a 3 hash -i –increment-min 6 –increment-max 8 ?l?l?l?l?l?l?l?l

掩码动态生成字典

使用

生成文件

计算 hash 类型

结果 MD5

查看 MD5 代表的值

进行破解

2. oclhashcat

简介

号称世界上最快、唯一的基于GPGPU的密码破解软件

免费开源、支持多平台、支持分布式、150+hash算法

硬件支持

虚拟机中无法使用

支持 CUDA 技术的Nvidia显卡

支持 OpenCL 技术的AMD显卡

安装相应的驱动

限制

最大密码长度 55 字符

使用Unicode的最大密码长度 27 字符

关于版本

oclHashcat-plus、oclHashcat-lite 已经合并为 oclhashcat

命令

3. RainbowCrack

简介

基于时间记忆权衡技术生成彩虹表

提前计算密码的HASH值,通过比对HASH值破解密码

计算HASH的速度很慢,修改版支持CUDA GPU

https://www.freerainbowtables.com/en/download/

彩虹表

密码明文、HASH值、HASH算法、字符集、明文长度范围

KALI 中包含的 RainbowCrack 工具

rtgen:预计算,生成彩虹表,时的阶段

rtsort:对 rtgen 生成的彩虹表行排序

rcrack:查找彩虹表破解密码

以上命令必须顺序使用

rtgen

LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160

rtgen md5 loweralpha 1 5 0 10000 10000 0

计算彩虹表时间可能很长

下载彩虹表

http://www.freerainbowtables.com/en/tables/

http://rainbowtables.shmoo.com/

彩虹表排序

/usr/share/rainbowcrack

rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt

密码破解

r crack *.rt -h 5d41402abc4b2a76b9719d911017c592

rcrack *.rt -l hash.txt

4. John

简介

基于 CPU

支持众多服务应用的加密破解

支持某些对称加密算法破解

模式

Wordlist:基于规则的字典破解

Single crack:默认被首先执行,使用Login/GECOS信息尝试破解

Incremental:所有或指定字符集的暴力破解

External:需要在主配配文件中用C语言子集编程

默认破解模式

Single、wordlist、incremental

主配置文件中指定默认wordlist

破解Linux系统账号密码

破解windows密码

Johnny 图形化界面的john

5. ophcrack

简介

基于彩虹表的LM、NTLM密码破解软件

彩虹表:http://ophcrack.sourceforge.net/tables.php


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8554463.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存