口令破解

口令破解

#口令安全威胁、口令安全概述

现在很多地方都以用户名(账号)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限
口令(密码)就相当于进入你家门的钥匙,当他人有一把可以进入你家的钥匙,想想你的安全、你的财务、你的隐私。

口令安全现状

弱口令
类似于123456、654321、admin123等这样的弱密码。
默认口令
很多应用或者系统都存在默认口令,比如phpstudy的mysql数据库默认账密[root/toor],Tomcat管理控制台默认账密[tomcat/tomcat]等

明文传输

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

破解方式

在线破解方式
账密,需要认证
用户名未知,密码未知
用户名已知,密码未知
用户名未知,密码已知
hydra

-l	指定一个用户名
-p	指定一个密码
-P	指定密码字典
-L	指定用户名字典
-vV	显示爆破细节
-o	保存爆破结果
-f	找到正确的密码就停止爆破
-e
    n	null
    s	same
    r	反向
-t	线程

离线破解方式

密文还原成明文的过程

暴力破解

暴力破解就是利用所有可能得到的字符组密码,去尝试破解
这是最原始,粗暴的破解方式,根据运算能力,如果能够承受的起事件成本的话,最终一定会爆破出密码。下表时根据不同位数生成密码的空间大小。
字符集		密码位数	密码空间
[0-9]		8 位		10^8==100000000
[0-9][a-z]	8 位		36^8=2821109907456
[0-9][a-z]	1-8 位		??

[ceunch 1 8 abcdefghijklmnopqrstuvwxyz0123456789]

字典破解

如果能够通过比较合理的条件,筛选或者过滤掉一些全自付组合的内容,就会大幅降低爆破的成本
我们把筛选出的密码组合成特定的字典。在用字典爆破密码也是可以的,但是这样做有可能会漏掉真正的密码。密码字典大致分为以下几类。

#弱口令字典

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

#社工字典

人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合"名字+生日"
[zhangsan1992]
社工字典更具针对性,准确率也比较高
我们可以根据个人信息生成密码字典。可以使用cupp工具
[zhangsan|ajest|19920701|dnsec|123]

#字符集字典

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

windows口令破解

#windows口令远程爆破
[hydra -l administrator -P ../dic/pwd.dic 172.16.132.163 smb]

windows账户hash值破解

除了可以从远程爆破windows密码,我们还可以在本地破解windows 密码 本地windows账户破解主要有两种方式
crunch
是一种创建密码字典的工具,按照指定的规则生成密码字典,可以灵活的定制自己的字典文件
使用crunch工具生成的密码可以输出到屏幕,保存文件或领一个程序
尤其在渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重要的作用。

安装

基础环境
[kali-linux-2019.2-vbox-amd64]
下载地址
[https://sourceforce.net/projects/crunch-wordlist/]
kali
crunch 为kali自带的工具,以下命令均在kali下直接运行
[crunch]

查看帮助

[man crunch > crunch.help]

文件内容在文档末尾
命令格式
    crunch <min-len> <max-len> [<charset string>] [options]

参数说明

min-len			设定最小字符串长度(必选)
max-len			设定最大字符串长度(必选)
charset string		字符串
options
-b	指定文件输出的大小,避免字典文件过大
-c	指定文件输出的行数。即包含密码的个数
-d	限制相同的元素出现的次数
-e	定义停止字符,即到该字符串就停止生成
-f	调用库文件(/usr/share/crunch/charset.lst)
-i	改变输出格式,即aaa,aab -> aaa,baa
-l	通常与-t联合使用,表明该字符串为实意字符
-m	通常与-p搭配
-o	将密码保存到指定文件
-p	指定元素以组合的方式进行
-q	读取密码文件,即读取pass.txt
-r	定义重某一个字符串重新开始
-s	指定一个开始的字符,即从自己定义的密码xxxx开始	
-t	指定密码输出的格式
-u	禁止打印百分比(必须为最后一个选项)
-z	压缩生成的字典文件,支持gzip,bzip2,lzma,7z

特殊字符

%	代表数字
^	代表特殊符号
@	代表小写字母
,	代表大写字母

查看库文件

[cat /usr/share/crunch/charset.lst]

密码字典

#生成密码字典

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

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

生成3位的密码字典,字符集合为[ab],从a开始到[b]结束

生成指定字符串,比如生日的日期
[crunch 8 8 -t 199307%% -e 19930730]

生成元素的组合,比如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 ajest 1992 0701]

保存字典文件

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

自定义字符合集

将自带自检文件进行备份

创建自定义字符集合

使用自定义字符集合

使用自定义字符集合生成[*.com]字典文件

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

简单介绍字典

子域名字典
默认账号密码字典
文件路径字典
日志文件
web目录
常用变量名字典
常用文件名字典
弱口令字典

windows口令破解

#windows口令远程爆破

[hydra -l amdinistrator -P ../dic/pwd.dic 172.16.132.163 smb]

windows账户hash值破解

除了可以远程爆破windows密码,我饿么还可以在本地破解windows密码。本地windows账户破解主要有两种方式
从内存中读取windows密码我们可以使用getpass直接从windows系统内存中读取账户密码
windows hash值破解一共需要两步操作。首先我们使用QuarkPwDump工具读取(导出)windows账户密码hash值,然后再使用john工具破解

linux口令破解

    linux
口令破解也分远程破解与本地破解。远程破解主要是爆破ssh服务,属于在线密码攻击,本地破解需要拿到linux的shadow文件,进行hash值破解,属于密码攻击

破解SSH 服务

我们使用hydra攻击破解ssh服务,hydra攻击已经自动集成在kali虚拟机中,命令如下
[hydra -l root -P ../dic/pwd.dic 172.16.132.160 ssh]
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值