[操作系统] 利用John the Ripper实现密码破解

3014 1
M---M17 2022-4-7 16:52:45 | 显示全部楼层 |阅读模式
今天实在是太闲了,再发一个帖子吧…(上网课就是这点不好)

John the Ripper是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。除了在各种Unix系统上最常见的几种密码哈希类型之外,它还支持Windows LM散列,以及社区增强版本中的许多其他哈希和密码。它是一款开源软件。Kali中自带。
可执行文件位置: /usr/sbin/john
密码字典所在目录:/usr/share/john/
简单来说:John the Ripper支持字典破解方式和暴力破解方式。
以下是专业的四种密码破解模式分类::
1.字典模式:在这种模式下,用户只需要提供字典和密码列表用于破解。
2.单一破解模式:这是john作者推荐的首选模式。John会使用登录名、全名和家庭通讯录作为候选密码。
3.递增模式:在该模式下john会尝试所有可能的密码组合。这是最具威力的一种。
4.外部模式:在这种模式下,用户可以使用john的外部破解模式。使用之前,需要创建一个名为(list.external : mode)的配置文件,其中mode有用户分配。
笔者本帖整理了Wordlist Crack” 模式 — 即“字典解密模式”,至于 暴力破解方式还需笔者自己在研究一番(其实就是一直没成功…)
此 解 密 模 式 需 要 用 户 指 定 一 个 字 典 文 件, john 读 取 用 户 给 定 的 字 典 文 件中 的 单 词 尝 试 进 行 解 密。 原 理 是: 用 户 经 常 使 用 象 hello、 superman、computer、 … 之 类 的 有 意 义 单 词 作 为 自 己 的 密 码。 john 中 自 己 带 了 一 个 字 典,文 件 名 为: password.lst, 里 面 包 含 了 一 些 常 被 用 来 作 为 密 码 的 单 词。 以 下 给 出几 个:
12345、abc123、passwd、123456、Hockey、asshole、newpass、internet、Maddock、newuser、12345678、computer
00、Horses、Internet、duck2、Mickey、Cowboys、fiction
当 然 了 所 带 的 字 典 比 较 小, 如 果 你 觉 得 不 够 用, 可 以 到 ftp://coast.cs.purdue.edu/pub/dict里 找, 可 以 找 到 好 几 十 兆 的 大 字 典 文 件。 使 用 方 法 很 简 单, 假 设 字 典 文 件 名 为:password.lst, shadow 为 shadow.txt, 则 命 令 为:
john -word:password.txt shadow.txt
使 用 “字 典 解 密 模 式” 时, 可 以 使 用 “规 则”, 具体规 则 的 定 义 在 john.ini 中 的 [List.Rules:Wordlist] 部 分

附:
john命令的具体参数选项如下表:
选 项        描 述
–single        single crack模式,使用配置文件中的规则进行破解
–wordlist=FILE–stdin        字典模式,从 FILE或标准输入中读取词汇
–rules        打开字典模式的词汇表切分规则
–incremental[=MODE]        使用增量模式
–external=MODE        打开外部模式或单词过滤,使用 [List.External:MODE]节中定义的外部函数
–stdout[=LENGTH]        不进行破解,仅仅把生成的、要测试是否为口令的词汇输出到标准输出上
–restore[=NAME]        恢复被中断的破解过程,从指定文件或默认为 $JOHN/john.rec的文件中读取破解过程的状态信息
–session=NAME        将新的破解会话命名为 NAME,该选项用于会话中断恢复和同时运行多个破解实例的情况
–status[=NAME]        显示会话状态
–make-charset=FILE        生成一个字符集文件,覆盖 FILE文件,用于增量模式
–show        显示已破解口令
–test        进行基准测试
–users=[-]LOGIN        UID[,…]
–groups=[-]GID[,…]        对指定用户组的账户进行破解,减号表示反向操作,说明对列出组之外的账户进行破解。
–shells=[-]SHELL[,…]        对使用指定 shell的账户进行操作,减号表示反向操作
–salts=[-]COUNT        至少对 COUNT口令加载加盐,减号表示反向操作
–format=NAME        指定密文格式名称,为 DES/BSDI/MD5/BF/AFS/LM之一
–save-memory=LEVEL        设置内存节省模式,当内存不多时选用这个选项。 LEVEL取值在 1~3之间

M---M17 2022-4-7 16:53:21 | 显示全部楼层
希望上海的疫情快点好转,还要高考呢...
位卑未敢忘忧国,技薄未愿负青春。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

M---M17

初级红客

关注
  • 11
    主题
  • 0
    粉丝
  • 0
    关注
精通C语言,Java,能熟练使用Kali Linux 精通DDOS以及渗透测试 熟悉ASP、CGI、PHP、JSP 经常研究蠕虫病毒,木马病毒与系统漏洞 了解OracleMysql,Ms Sql Sever数据库

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行