Kali渗透测试:散列密码破解

这篇具有很好参考价值的文章主要介绍了Kali渗透测试:散列密码破解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kali渗透测试:散列密码破解

某些网站的安全机制设置有缺陷,导致自身的关键数据库被渗透。很多用户在不同网站使用的是相同的用户名和密码,因此黑客可以通过获取通过获取用户在A网站的用户名和密码从而尝试登录B网站,这就是“撞库攻击”。 如2014年12月25日开始在互联网上“疯传的”12306网站用户信息,就是黑客通过撞库攻击所获得的。

被泄漏的数据库中的数据大都是明文,不过,现在的数据库大都采用了散列加密的方式保存。如Windows操作系统就采用散列加密的方式保存登录密码。这些密码都是经过了散列加密后保存到数据库中的,密码的散列值就是对口令进行一次性的加密处理而形成的杂乱字符串。这个加密过程被认为是不可逆的,也就是说,从散列值中是不可能还原出原口令的。如密码“999999”经过散列加密(MD5)之后就变成了“52C69E3A57331081823331C4E69D3F2E”。这个散列值保存在了数据库中,在进行验证的时候,我们只需要将输入的值经过散列加密之后再与保存的值进行比较,就可以知道密码是否正确。即使黑客获得了“52C69E3A57331081823331C4E69D3F2E”,也不能逆向还原出原来的密码“999999”。这样就保证了保存密码的数据库即使被攻破,也不会导致密码被泄露。

由于各种攻击手段的出现,散列加密也并非是安全的。下面介绍一些散列加密的破解方法。

1.1 对基本的LM散列加密密码进行破解

Windows XP操作系统可以说是Microsoft影响力最大的产品之一。虽然这款操作系统在大多数人眼里已经“老迈不堪”,就连Microsoft自己也已经在2014年宣布放弃了对其的支持,但是由于软件兼容性的问题,目前很多机构仍然在使用Windows XP。即使现在,我们仍然有必要来研究一下Windows XP的安全性问题。

首先我们来研究的就是Windows XP的密码安全。我们对于Windows XP开机时或者远程连接时的登录界面并不陌生,我们需要在这个界面输入用户名和密码,操作系统会将我们输入的信息与保存的信息进行对比,如果相同,就可以登录到系统。那么我们是不是趁着计算机的主人离开计算机的时候,就可以偷偷地将里面保存的密码找出来“偷走”呢?事实上,这个想法并非天方夜谭,因为Windows XP中确实保存了密码,而且这个密码也确实可以找到。这个密码就保存在C:\Windows\System32\config\SAM中。在Windows XP和Windows 2003中,我们可以通过工具来抓取完整的LM散列加密密码。我们可以使用一款名为SAMInside的工具来完成这个工作,其工作界面如下图所示。

Kali渗透测试:散列密码破解

SAMInside 是一款Windows密码恢复工具,支持Windows NT/2000/XP/Vista操作系统,主要用来恢复Windows操作系统的用户登录密码。需要注意的是,SAMInside需要依靠读取破解的操作系统中SA M、System两个文件破解出用户密码。这两个文件均位于C:\Windows\System32\config目录。但是在操作运行时这两个文件时受到保护的,无法进行读取操作。因此我们需要在DOS操作系统下,或者WindowsPE操作系统下使用这个工具来查看SAM文件。

执行这个工具后,SAMInside中就会显示出WindowsXP中的密码。那么Windows XP是如何对密码进行加密的呢?这个操作系统采用了一种名为LM散列的加密模式。下面我们就给出加密过程。

​ ◆ 输入的密码值最多位14个字符

​ ◆ 将输入的密码转为大写字符

​ ◆ 将密码转换为大写字符之后转换为十六进制字符串

​ ◆ 密码不足14个字节将会用0来补全

​ ◆ 固定长度的密码被分成两个长度为7个字节的部分

​ ◆ 将每一组7个字节的十六进制转换为二进制,每7位一组末尾加0,再转成十六进制组成得到两组8字节的编码

​ ◆ 将两组8字节的编码,分别作为DES key为”KGS!@#$% ”进行加密

​ ◆ 将两组DES加密后的编码拼接,得到最终的LM散列值

后来对这个加密过程进行了改进,目前的操作系统拥有多种加密方法,其中一种最为有效的方法是“Salting the password”。所谓加“Salt”值,就是加点“佐料”。当用户首次提供密码时(通常是注册时),由系统自动往这个密码里加一些Salt值,这值是由系统随机生成的,并且只有系统知道。然后进行散列。当用户登录时,系统为用户提供的代码加上两个用户使用了同一个密码,由于系统为它们生成的Salt值不同,他们的散列值也是不同的。即便黑客可以通过自己的密码和自己生成的散列值来找具体特定密码的用户,但这个概率太小了(密码和Salt值都得和黑客使用的一样才行)。不过LM散列算法中并没有使用这个机制,所以虽然我们不能直接由散列值推导出密码,但是两个相同的密码进行LM散列加密之后的值是相同的,因此也为我们提供了破解LM散列加密密码的方法。

1.2 在线破解LM散列加密密码

现在很多网站都提供了破解LM散列加密密码的服务,也就是说你只需要在这些网站上提交找到散列值,这些网站就会在自己的数据库里进行比对,如果找到这个散列值,就可以得到对应的密码。这些网站大都是用一种名为<**“彩虹表”**的技术。你可以访问在线网站cmd5来实现在线破解LM散列和NTLM散列加密密码。如下图所示,为cmd5网站的界面,该网站可以实现密码散列加密的运算。

Kali渗透测试:散列密码破解

该网站可以实现密码散列加密的运算。可以先尝试一些常见的散列值破解,然后逐渐加大密码的难度。下面我们对一个已经加密的值“32ed87bdb5fdc5e9cba88547376818d4”(NTLM散列加密)进行破解,散列值的逆向运算结果如下图所示:

Kali渗透测试:散列密码破解

1.3 在Kali 中破解散列值

在线破解散列值十分简单,但是实际上散列值的加密方法有很多,常见的有MD5、LM、NTLM这3种加密方法,那么我们如何知道散列值是通过哪一种加密方法得到的呢?这一点很关键,因为不同的加密方法有不同的解密方式。同样Kali中提供了两种用来分辨不同加密方法的工具:一种是hash-identifier另一种是Hash ID。

hash-identifier的使用方法很简单。在Kali中,启动一个终端,输入hash-identifier命令即可启动该工具,命令如下:

┌──(kali㉿kali)-[~]
└─$ hash-identifier

如下图所示:

Kali渗透测试:散列密码破解

将加密之后的散列值输入, hash-identifier就会分析出该散列值的可能加密方法,如下图所示:完成以后使用Ctrl-c组合键退出即可。

Kali渗透测试:散列密码破解

另外,Hash ID也是一个十分有效的工具。打开一个终端,输入命令hashid,然后输入破解的散列值,按Enter键。

┌──(kali㉿kali)-[~]
└─$ hashid 32ed87bdb5fdc5e9cba88547376818d4

Kali渗透测试:散列密码破解

1.4 散列值传递攻击

前面已经介绍了如何破解基于LM散列方法加密的Windows密码,但是Windows操作系统中除了会使用LM散列方法之外,还会使用NTLM散列方法对密码进行加密。这是一种比LM散列安全性高很多的方法。实际上我们无须进行密码的破解。如果已经取得了一台计算机中加密之后的密码值,无论是使用LM散列还是NTLM散列加密的,都可以利用这个值直接获得系统的权限,这种方式被称为“散列值传递攻击”。 这是一种经典的攻击方式,虽然每一种网络攻击方式慢慢地都会过时,但是这种攻击方式目前仍然可以起作用,而且这种攻击方式也可以为我们提供一个较好的思路。

有些操作系统采用了一些可以阻止这种“散列值传递攻击”的机制,Windows7操作系统使用了用户账户控制(User Account Control, UAC)技术,这个技术最早出现于Windows Vista,并在更高版本的操作系统中保留下来,它可以阻止恶意程序(有时也称为恶意软件)损坏系统,同时也可以帮助组织部署更易于管理的平台。

使用UAC技术,应用程序和任务总是在非管理员用户的安全权限中运行,但管理员专门系统授予管理员级别的访问权限时除外。UAC技术会阻止未经授权的应用程序的自动安装,防止无意中对系统设置进行更改,这种机制已经解决了Windows XP的大量安全方面的问题。但是这种机制时可以关闭的。所以散列值传递攻击仍然有我们值得学习的地方。

我们以一个Windows7操作系统作为攻击目标。首先开启Win7操作系统的文件共享功能,最简单的做法就是共享一个目录,这一点很重要,如果我们不这样做,就无法实现远程攻击。

我们可以提前关闭这个系统上的UAC功能(也可以不关闭,而是在Meterpreter控制中远程关闭),关闭的步骤如下所示:

​ ◆ 1. 在“开始”菜单的文本搜索框中输入“UAC”,如下图所示:

Kali渗透测试:散列密码破解

​ ◆ 2.这样就可以打开“用户账户控制设置”,然后将“选择何时通知您有关计算机更改的消息”改为“从不通知”(即将左侧的滑动条拖动到最下方),如下图所示:

Kali渗透测试:散列密码破解

​ ◆ 3. 单击“确定”按钮,重启计算机。

现在我们可以开始攻击了,首先我们需要想办法获得目标主机加密之后的密码散列值,上面我们介绍了两种方法。就利用Windows XP启动系统, 然后复制出SAM文件。

另外,当我们利用Metasploit控制目标主机的时候,也可以获取它的密码散列值。演示如下:

Kali渗透测试:散列密码破解

我们要从已经成功渗透的目标主机中导出加密之后的密码散列值,这个操作需要系统级(管理员级别)的管理权限,而且需要关闭目标主机上的UAC功能。在这个实验中,我们事先关闭了UAC功能,所以无须再进行这方面的操作。如果事先没有关闭就可以使用bypassuac_eventvwr模块来远程关闭。

首先需要将当前session切换到后台,使用background命令;然后使用命令use exploit/windows/local/bypassuac_eventvwr, 如下图所示,注意,只有当前你没有修改UAC设置时,才能使用这个模块。

Kali渗透测试:散列密码破解

本实验我们只需要获取系统级别管理员权限即可,这里可以使用getsystem命令,如下图所示:

Kali渗透测试:散列密码破解

我们已经获取了系统管理权限,然后我们使用getuid命令获取用户名,如下图所示:

Kali渗透测试:散列密码破解

接下来,我们就可以到处目标系统的密码散列值了,使用命令hashdump, 如下图所示:

Kali渗透测试:散列密码破解

如果这个命令不成功,可以尝试将Meterpreter的进程迁移到其他进程上,如拥有系统级system管理权限的进程;如果还不成功,可以使用post/windows/gather/smart_hashdump模块。如下图所示:

Kali渗透测试:散列密码破解

利用在线cmd5,根据散列值进行查询,如下图所示:

Kali渗透测试:散列密码破解

我们还可以在Meterpreter中使用kiwi模块,这个模块可以获取明文密码,先使用load kiwi命令载入这个模块,然后使用creds_all 命令显示明文密码,如下图所示:

Kali渗透测试:散列密码破解

1.4 字典

当对密码进行破解的时候,一个字典示必不可少的。所谓字典就是一个由大量词汇构成的文件。

在Kali 中字典的来源一共有3种,如下所示:

​ ◊ 使用字典生成工具生成需要的字典,当我们需要字典,手头又没有合适的字典时,就可以考虑使用工具来生成 所需要的字典。

​ ◊ 使用Kali 中自带的字典,Kali将所有的字典都保存在了/usr/share/wordlists/目录下,如下图所示:

Kali渗透测试:散列密码破解

​ ◊ 从互联网上下载热门的字典。如下图所示:

Kali渗透测试:散列密码破解

dirb目录中包含3个目录和9个文件,其中, big.txt是一个比较完备的字典,大小为179KB;相对而言,small.txt则是一个比较精简的字典,大小只有6.4KB;catala.txt为项目配置字典;spanish.txt为方法名或库目录字典。3个目录中,others目录主要包含一些与漏洞相关的字典,如其中的tomcat.txt就是与tomcat配置相关的字典。

另外,在fern-wifi目录中只有一个common.txt,主要是一些可能的公共Wi-Fi账户的密码;metasploit目录中文件比较多,几乎包含各种常用类型的字典;wfuzz目录主要用来进行模糊测试。Crunch的主页提供了这个工具的使用方法和范例。这个工具的使用十分简单,你所做的只是向Crunch提供以下3个值。

​ ◊ 字典中包含词汇的最小长度

​ ◊ 字典中包含词汇的最大长度

​ ◊ 字典中包含词汇所使用的字符。要生成密码包含的字符集(小写字符、大写字符、数字、符号)。这个选项是可选的,如果不选这个选项,将使用默认字符集(默认为小写字符)。

剩下的工作只需要交个Crunch去完成就可以了。下面我们给一个简单的Crunch使用实例。首先在Kali中启动一个终端,然后输入如下命令:

┌──(kali㉿kali)-[~]
└─$ cruch 2 3 -o /home/kali/Downloads/passwords.txt

结果如下图所示:

Kali渗透测试:散列密码破解

这条命令会生成长度为2位或3位的密码,然后将这些密码爆存在passwords.txt中。默认会生成“aa”“ab”之类的密码,如下图所示:

Kali渗透测试:散列密码破解

如果我们对目标比较熟悉,也可以指定目标常用的字符。如我们看到某人的键盘上的Q、W、E、R、T和1、2、3、4几个键磨损的比较厉害,就可以指定这几个字符来生成一个密码。执行的命令如下:

┌──(kali㉿kali)-[~]
└─$ cruch 4 4 quert1234 -o /home/kali/Downloads/password2.txt

生成的密码如下图所示:

Kali渗透测试:散列密码破解

现在可以看到我们生成的密码只包含q、w、e、r、t、1、2、3、4这几个字符。文章来源地址https://www.toymoban.com/news/detail-447458.html

到了这里,关于Kali渗透测试:散列密码破解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kali linux破解wifi密码

    使用工具: 1、kali linux(kali预装渗透测试工具,redhat/centos安装比较复杂) 2、物理机网卡需求支持 监控模式即网络监听 (如果物理机网卡不支持监控模式,可以使用RT3070L无线网卡接入kali虚拟机) 3、字典文件(kali linux自带字典rockyou ,位于/user/share/wordlists/rockyou.txt.gz,我们

    2024年02月08日
    浏览(66)
  • 【kali-密码攻击】(5.1.2)密码在线破解:Medusa

       博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。 擅长:

    2024年02月05日
    浏览(51)
  • Kali-linux破解操作系统用户密码

    当忘记操作系统的密码或者攻击某台主机时,需要知道该系统中某个用户的用户名和密码。本节将分别介绍破解Windows和Linux用户密码。 8.6.1 破解Windows用户密码 Windows系统的用户名和密码保存在SAM(安全账号管理器)文件中。在基于NT内核的Windows系统中,包括Windows 2000及后续版

    2024年02月08日
    浏览(48)
  • kali rtl8812 使用airodump破解wifi密码

    实验前提:安装好无线网卡。最好是kali免驱的网卡。 若不是kali免驱动网卡可借鉴以下rtl8812au操作方式 sudo apt update更新源列表 apt upgrade命令将尝试下载在apt服务器上具有更新的所有软件包 apt-get dist-upgrade升级系统相关依赖 重启或试试以下两个驱动命令: sudo apt install linux-h

    2023年04月09日
    浏览(42)
  • kali入门到放弃系列二:破解wifi无线密码

    前置条件: 建议在淘宝购买一个linux免驱动无线网卡(自己买过绿联,水星等等无线网卡,发现都不能做到linux免驱动) 先上一张破解过程的图 以下是正式流程: 1.kali系统登录后,执行 ifconfig  看到反馈的结果 wlan0就是无线网卡 2、开始监听, 执行         结果如下:

    2023年04月10日
    浏览(45)
  • 使用Kali Linux 暴力破解wifi密码详细步骤

    使用Kali Linux 暴力破解wifi密码详细步骤所谓暴力破解就是穷举法,将密码字典中每一个密码依次去与握手包中的密码进行匹配,直到匹配成功。所以能否成功破解wifi密码取决于密码字典本身是否包含了这个密码。破解的时间取决于CPU的运算速度以及密码本身的复杂程度。如果

    2024年02月12日
    浏览(49)
  • Kali-linux破解LM Hashes密码

    LM(LAN Manager)Hash是Windows操作系统最早使用的密码哈希算法之一。在Windows 2000、XP、Vista和Windows 7中使用了更先进的NTLMv2之前,这是唯一可用的版本。这些新的操作系统虽然可以支持使用LM哈希,但主要是为了提供向后兼容性。不过在Windows Vista和Windows 7中,该算法默认是被禁用

    2024年02月06日
    浏览(42)
  • Kali中网卡配置_Wifi扫描_抓包_密码破解

    设备:Kali系统+一块外接无线网卡 网上搜Kali 网卡 选择购买即可. 1.默认的VMware USB是没有开启的,需要手动开启. window键+r-输入services.msc-找到VMware USB Arbitration Service 开启 虚拟机-可移动设备-找到自己无线网卡设备-连接即可. 当时弄了一会不知道自己网卡是否安装成功-_- 可以在右

    2023年04月16日
    浏览(46)
  • 无线网卡+kali实现wifi暴力破解(密码爆破方式)

    攻击机:kali 所采用的的无线网卡:D-LINK 采用的工具:Aircrack-ng 测试开始: 首先,打开kali,将无线网卡插入。弹出提示窗口,这里选择连接到虚拟机,选择kali虚拟机。 然后点击网络连接的标志,可以看到当前环境的wifi列表。 使用命令ifconfig和iwconfig,都可以看到wlan0已开启

    2023年04月09日
    浏览(50)
  • Kali Aircrack-NG HashCat 破解Wi-Fi密码

    假日无事,某网站购入TL-WN722N Kali免驱网卡,扫描一下附近网络试试 仅学习使用 TL-WN722N Kali免驱网卡 MacBook Pro (Parallels Desktop) Kali镜像 https://www.kali.org/get-kali/ 个人博客: https://blog.ztfot.com/?p=290 用Parallels Desktop 安装Kali Linux,并且接入无线网卡 2.1查看可用无线网卡 2.2启用网卡监

    2024年02月15日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包