- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章使用John the ripper工具来尝试破解Linux密码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
John有别于Hdra之类的工具。Hydra进行盲目的蛮力攻击,其方法是在FTP服务器或Telnet服务器上的服务后台程序上尝试用户名/密码组合。不过,John首先需要散列。所以,对黑客来说更大的挑战是,先搞到需要破解的散列。如今,使用网上随处可得的免费彩虹表(rainbow table),比较容易破解散列。只要进入到其中一个网站,提交散列;要是散列由一个常见单词组成,那么该网站几乎立马就会显示该单词。彩虹表基本上将常见单词及对应散列存储在一个庞大的数据库中。数据库越大,涵盖的单词就越多.
但是如果你想在自己的系统上本地破解密码,那么John是值得一试的好工具之一。John跻身于Kali Linux的十大安全工具。在Ubuntu上,它可以通过新立得软件包管理器(synaptic package manager)来安装.
我在本文中将向各位介绍如何使用unshadow命令连同John,在Linux系统上破解用户的密码。在Linux上,用户名/密钥方面的详细信息存储在下面这两个文件中。 。
实际的密码散列则存储在/etc/shadow中;只要对该机器拥有根访问权,就可以访问该文件。所以,试着从你自己的Linux系统来访问该文件。或者先创建一个使用简单密码的新用户。我会在自己的Linux系统上创建一个名为happy的新用户,其密码为chess.
为了方便演示,最好使用一个简单的密码,那样你没必要等待太长的时间。由于我们的新用户已创建完毕,现在可以破解其密码了.
。
unshadow命令基本上会结合/etc/passwd的数据和/etc/shadow的数据,创建1个含有用户名和密码详细信息的文件。用法相当简单。 。
我们将unshadow命令的输出结果重定向至名为file_to_crack的新文件.
。
步骤 。
下面我们来看一下具体步骤,破解成功后密码在jhon.pot中,只是密码: 1 进入/root/john-1.7.8/run目录,用jhon自带的工具unshadow读取/etc/shadow 。
eg: 如果是root用户可以直接cat /etc/shadow > /root/john-1.7.8/run/passwd.txt 2 第一步用Single Crack 模式破解 。
专门针对使用账号做密码的人,他会尝试用户名的变体,在john.conf中的[List.Rules:Single]中定义规则 。
如果破解成功则可以查看jhon.pot,或者使用: 。
3 第二步用Wordlist Mode模式破解 Wordlist Mode是一种比较简单的模式,只要确定字典档在哪里即可,在jhon.conf配置文件中有默认的字典档‘Wordlist = $JOHN/password.lst’ 即run目录下的password.lst文件,Wordlist Mode规则在jhon.conf中的[List.Rules:Wordlist]模块定义,在[List.Rules:Wordlist]下面还有一个[List.Rules:NT]模块是定义有关rules的变体规则。 。
或者 。
4 第四步用Incremental Mode破解 Incremental 是功能最强的模式,他会穷举所有的组合,然后作为密码来破解,非常耗时,在配置文件中有[Incremental:All],[Incremental:Alpha],[Incremental:Digits],[Incremental:Alnum],[Incremental:LanMan]等模块。每个模块名在run下都有对应的date文件。 。
5 第五步用External Mode破解 External 让使用者可以自己编写C语言的破解模式,在jhon.conf中已经自带了一些破解模式程式。 参数解释 --stdout 输出结果到屏幕 --restore 从上次解密中断的地方继续执行,ctrl+c 中断执行,当前的状态会被存放在一个名为restore的文档内,使用--restore可以从restore内读取上次中断的位置,然后继续破解下去 --session 设定当前记录档的名称 --make-charset 字元频率表,他会以破解出来的密码为基础来产生字元频率表,可用于Incremental模式 --show 显示已经破解密码,因为john.POT并不存储账号信息,使用show的时候应该输入相关的passwd文件 --test 测试机器执行各种类型密码的破解速度 --users 只破解某个账号的密码,可以是用户名或者UID号码,前面加‘-’表示不破解相关用户密码 --groups 只破解某个组内的用户密码,前面加上‘-’表示不破解某个组内用户的密码 --shells 之破解使用某种类型shell的用户,前面加上‘-’表示不破解 --salts 只破解salts大于count的密码,salts是unix用来作为密码编码的基础单位 --format 预定义密码破解的类型 DES/BSDI/MD5/BF/AFS/LM/ 。
最后此篇关于使用John the ripper工具来尝试破解Linux密码的文章就讲到这里了,如果你想了解更多关于使用John the ripper工具来尝试破解Linux密码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
这需要是一个 C++ 程序: Write a complete C program to enter a first name, middle name and last name in separa
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 7 年前。 Improv
有一个大的姓名表,全部为字符串“Name Surname” 需要更新整个表,将字符串设置为“Name FirstLetterOfSurname”,即。 “John Citizen”变为“John C”
$(".name:not(:empty)").text("John"); $(".special").filter( function() { return $(this).text() !=
我正在尝试将一个子集中的所有元组加在一起。 到目前为止我有: list(itertools.combinations(((1, 'aa'), (2, 'bb'), (3, 'cc'), (4, 'dd
涵盖了验证部分。 只是想将电子邮件解析成它们的组件。 假设电子邮件有效... 我能否只向后查找第一个“@”以及之后的所有内容? 然后向后查找一个空格,后面的所有内容都是电子邮件地址减去引用的名称? 最
我正在使用 C# (asp .net),并且我有一个文本框,它接受在数据库上执行查询的名称条目。 我想使用 IN 子句获取所有可能的值,但在我的 C# 页面中我得到 1 个字符串 例如 'john s
以列表(L)为例: 约翰,约翰,约翰,约翰,乔恩 我们要假定一个项目是正确的(例如在这种情况下是约翰),并给出它是正确的概率。第一次(而且很好!)尝试:MostFrequentItem(L).Coun
John Major 等式是否可以证明函数外延性(可能依赖于安全公理)? Goal forall A (P:A->Type) (Q:A->Type) (f:forall a, P a) (g:fora
有一个数组,我想搜索包含'john'(这四个字母)的名字。 bool 值将返回 true。 const dragons = ['Tim', 'Johnathan', 'Sandy', 'Sarah']
为了让我接管 Matrix,我首先需要从中移除 John Wick。他非常善于隐藏(很明显),所以他把自己分成了一个列表和列表中的列表。例如: environment = ["a", [**"j"**
我想找到一段英文文本中嵌入的所有人名,例如 John 等。在 C++ 中执行此操作的最佳方法是什么? 最佳答案 您应该使用工具包 - 请参阅 http://en.wikipedia.org/wiki/
我指的是 this article .我基本上是在创建一个带有 init 函数的类,该函数设置了一个 options 属性。见http://jsbin.com/usaboh/1/edit对于工作示例(
我指的是 this article . 在其中,他定义了一个看起来像这样的函数: function makeClass() { return function _class() {
我正在尝试使用 John Resig 的继承类来扩展我正在开发的一些类。这些类具有被重写的方法。尽管如此,这些方法的原始版本也应该被调用。我的问题是,当我尝试调用父类(super class)上的方法
嘿,我尝试实现 John 制作的一个类 Watermark . 我被困住了,想知道是否有人可以帮助我....添加了提到的 2 个类(class)在 wpf 上:
我有一个看起来像这样的模板: " id="Edit.ID" name="Edit.ID" /> test
在他的书“Javascript Ninja 的 secret ”中,John Resig 写道: Although dynamic code evaluation has been maligned
所以我的目标是使用John Resig's templating engine . 我需要向函数传递一个包含"template"的变量。然而,问题是我需要传递类似的东西: console.log("
我进行了一些研究,但没有发现与我需要的东西完全相关的东西,而且每当尝试创建表达式时,它总是与我的需要有一点偏差。 我尝试了一些类似 [AZaz09]{3,8}\-[AZaz09]{3,8} 的方法。
我是一名优秀的程序员,十分优秀!