介绍基于密码破解的身份认证攻击,密码破解是指利用各种手段获得网络,系统或资源密码的过程,这个过程不一定需要使用复杂的工具。
文章目录
前言
目前最为常见的身份认证方式采用的仍然是 “用户名+密码”的方式,如何保证密码不被泄露和不被破解已经成为网络安全的最大问题之一。
区分口令和密码,口令是我们平时在各个网站,平台等设置的密码,而为了防止密码泄露,真正存储在计算机的密码一般都是通过各种加密方法加密后才储存在计算机里的,
一、简单网络服务认证的攻击
网络上很多常见的应用都采用了密码认证的方式,如SSH,Telnet,FTP等。
针对这些常见的网络服务认证,我们可以采用一种“暴力破解”的方法。通常会将所有可能的密码,常见的密码保存为字典,一般有以下3种实现思路:纯字典攻击(以英文单词为主),混合攻击(字符+数字),完全暴力攻击(不需要字典,由攻击工具将所有的密码穷举出来)。
使用工具:Hydra
爆破SSL服务的身份验证密码
(1)kali linux开启SSL服务
(2)打开hydra命令行
(3)用kali自带字典或网上字典爆破
其他常见协议的破解方式都大同小异,只有Web页面的区别较大。
二、Web应用的攻击
1.Burp Suite
三、操作系统散列密码破解
使用的工具:John the Ripper
John the ripper:一款免费、开源的暴力密码破解器,它有多平台版本,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,支持目前大多数的加密算法,如DES、MD4、MD5等。该软件破解密码方式简单而粗暴,理论上只要时间上面允许,该软件可以破译绝大多数用户密码。
其主要目的是破解不够牢固的Windows/Linux系统密码
。
Linux/Windows使用一个单向函数crypt()来加密用户口令。单向函数crypt()从数学原理上保证了从加密的密文得到加密前的明文是不可能的或是非常困难的。
当用户登录系统时,系统并不是去解密已加密的口令,而是将输入的口令明文字符串传给加密函数,将加密函数的输出与系统中存储的加密密码进行比较,若匹配成功,则允许用户登录系统。
John支持四种密码破解模式:
1.字典模式:在这种模式下,用户只需要提供字典和密码列表用于破解。
2.单一破解模式:这是john作者推荐的首选模式。John会使用登录名、全名和家庭通讯录作为候选密码。
3.递增模式:在该模式下john会尝试所有可能的密码组合。这是最具威力的一种。
4.外部模式:在这种模式下,用户可以使用john的外部破解模式。使用之前,需要创建一个名为(list.external : mode)的配置文件,其中mode有用户分配。
重要的命令参数
–wordlist=FILE–stdin | 字典模式,从 FILE或标准输入中读取词汇 |
---|---|
–show | 显示已破解口令 |
–format=NAME | 指定密文格式名称,为 DES/BSDI/MD5/BF/AFS/LM之一 |
同时,这个工具也有johnny图形化界面(这里就不展示了)
1.破解kali系统密码
Linux系统中,口令文件都进行了shadow变换,即把/etc/passwd中的口令域分离出来,单独存在/etc/shadow文件中,并加强对shadow文件的保护,以增强口令安全。
(1)创建用户和密码
useradd 用户名
passwd 用户名
(2)把/etc/passwd和/etc/shadow拷贝到当前路径下
cp /etc/passwd passwd
cp /etc/shadow shadow
(3)做unshadow变换,将/etc/passwd文件与/etc/shadow文件合二为一:
unshadow passwd shadow >passwd.txt
(4)爆破
john --format=crypt passwd.txt
(5)查看已经爆破成功的密码
2.破解Windows(失败,可能是john没跟上windows加密方法)
Windows系统的密码存储在C:\windows\system\config\
中。
但系统默认开启System进程,导致无法正常复制该密码文件。
(1)需要使用Reg save命令进行复制:(以管理员身份运行cmd)
Reg save HKLM\SAM Sam.hive
Reg save HKLM\SYSTEM System.hive
(2)将system和sam上传至Linux系统,并使用samdump2合并这两个文件
samdump2 system.hive sam.hive >win.txt
(3)爆破(NT,LM是散列加密方法)
john --format=NT win.txt
3.遇到的问题及拓展知识
(1)使用的默认字典/usr/share/john/password.lst
,爆破成不成功就取决于字典强不强大,是否有包含
(2)爆破结果在/root/.john/john.pot 有缓存可以删掉对应爆破结果,就可再次实验,否则再次爆破会报错
(3)对最基本的LM散列加密密码进行破解是可行的
Salt值,散列值传递攻击,使用hash-identifier和Hash ID进行散列加密方法识别
四、破解Word,Excel,rar,zip,pdf文档密码
John the Ripper有许多不同的转换工具,可以将不同的文件类型转换为jtr兼容的攻击文件
1,word
使用这个linux自带的这个字典破解
提取加密的word文档的哈希值到hash1.txt中
同样地,jar文件也可以爆破到密码
五、字典
1.字典来源
使用kali Linux中自带的字典,所有的字典都保存在/usr/share/wordlists/目录下
2,互联网下载热门字典
3,使用收集到的信息和字典生成工具生成字典
使用Crunch工具
只需要提供三个值 最小长度,最大长度,包含词汇所使用的字符(可选,不选默认使用小写字符)
crunch 最小长度 最大长度 使用字符集 -o file
总结
以上是对密码破解这一章的简单总结,由于时间有限,以后要补充时再完善。