近期发现多家安全媒体发布NTLM协议漏洞的文章。他们越说越术语,越说越官方,如此这般下去,他们写出来到底给谁看?大雅就是俗,让我来一篇俗文。啥是NTLM呢?微软windows系统的用户账号存储密码哈希值的方式。一般有LM,NTML,NTLMv2.(NT LAN Manager)windows系统的局域网管理,管理账号密码存储方式的协议。有这个认知就行了。

比如你设置密码为password123456,那么NTML的存储方式就是把它转换成了哈希值存储。第一次听说哈希?比如把1,变成哈希可能会是flkadjl2135等乱码。MD5就是最常见的哈希函数之一,用来把1,输出成为乱码。还有更多的哈希函数,特征就是输出结果不一样。

哈希有一个特征,那就是把明文(比如1)输出为乱码(密文,比如abcd),我们可以把1-1000一个个的用哈希函数输出结果,手里就有1-1000对应的哈希值,这个输出结果被称为彩虹表。破解密码就是根据生成的密文,看对应的明文是多少。其实就是在表中搜索,abdc对应的是不是1。

要防止密码被破解的可能,就是把密码设置得更长更复杂,比如设置为:password123456/-*ABCD&*==***¥¥,即使用彩虹表或超级计算机群也无法在可接受的时间内对其进行枚举的生成密文,再去搜索密文对应的明文是什么。

要拿到windows系统中的账号密码,我们需要权限(SYSTEM权限)才能获取到,安全账号管理器(SAM)数据库中存储的windows用户和密码。有工具可以拿到这些,比如大名鼎鼎的meterpreter。

就算拿到账号密码又有什么用呢,我们破解不了密码的哈希值。不需要破解,直接拿它去登陆。这样,我们就拥有了该系统的高权限账号。

还有一种身份认证环节,是kerverso令牌,如果你用meterpreter成功入侵系统,而域管理员用户登陆过这台机器,一个kerbreos令牌就会发送到服务器上并将在随后的一段时间之内有效。我们可以使用这个活动令牌来入侵系统,通过meterpreter可以假冒域管理员的角色,而不需要破解密码。

扯了这么多协议,从来没看见有人指一指在哪,我来指。如图,大概所有的其他类似安全认证协议都差不多就集中在这里。

不同的系统,显示出不一样的选项。多个系统观察就知道了。

聊聊NTLM认证协议的更多相关文章

  1. NTLM认证协议及SSPI的NTLM实现

    没错,NTLM就是你听说过的那个NTLM.是微软应用最广泛的认证协议之一. NTLM是NT LAN Manager的缩写,这也说明了协议的来源.NTLM 是 Windows NT 早期版本的标准安全协 ...

  2. 域渗透基础之NTLM认证协议

    域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...

  3. [转]关于NTLM认证的.NET,php,python登录

    本文转自:http://www.cnblogs.com/myx/archive/2013/03/25/php-ntlm-python-net.html 早期SMB协议在网络上传输明文口令.后来出现 L ...

  4. 域渗透基础之Kerberos认证协议

     本来昨晚就该总结整理,又拖到今天早上..6点起来赶可还行 0x01 Kerberos前言 Kerberos 是一种由 MIT(麻省理工大学)提出的一种网络身份验证协议.它旨在通过使用密钥加密技术为客 ...

  5. kerberos认证协议爱情故事

    0x01.kerberos简介 kerberos是一种域内认证协议,Kerberos的标志是三头狗,狗头分别代表以下角色: Client Server KDC(Key Distribution Cen ...

  6. iOS进行Basic认证与NTLM认证

    一.iOS进行Basic认证 只需要在NSMutableURLRequest的Header中添加认证所需的Username和password. NSMutableURLRequest *webReq ...

  7. [na]802.1x协议无线认证协议&dot1x有线认证实验

    以前搞无线时候,会涉及到无线client接入方式的认证协议. 认证方式+加密方式+有线的dot1x. 注:以前都是doc粘贴到博客的,加上没写博客的习惯,因此会比较乱. EAP(扩展认证协议)是什么? ...

  8. kerberos认证协议分析

    Kerberos认证协议分析 Kerberos认证协议流程 如上图: * 第一步:client和认证服务器(AS)通信完成认证过程,如果认证成功AS返回给client一个TGT(用来向TGS获取tic ...

  9. Radius 认证协议介绍-兼rfc导读

    老规矩, 先看维基: 远端用户拨入验证服务(RADIUS, Remote Authentication Dial In User Service)是一个AAA协议,意思就是同时兼顾验证(authent ...

随机推荐

  1. redHat 安装mono 错误

    make[6]: * [do-install] Error 2 make[6]: Leaving directory /root/lindexi/mono-2.11.3/mcs/class/Syste ...

  2. 关于Mysql group by 的记录

    对于有group by 字段的select语句,group by 后面的字段如果没有出现在组函数里(max,min,sum,avg, count等),则一定要出现在select后面的字段里, 否则会报 ...

  3. C#基础知识之DirectorySearcher 类

    活动目录(Active Directory)是从一个数据存储开始的,它采用了类似Exchange Server的数据存储,所以被称为Extensible Storage Service (ESS).其 ...

  4. 快照方式备份MySQL数据库及举例

    快照方式备份MySQL数据库及举例 作者: 红豆殺 日期: 2011 年 03 月 17 日发表评论7条评论查看评论   一.创建逻辑卷 依照如下连接的文档创建一个逻辑卷 http://www.178 ...

  5. H5 FileReader对象

    前言:FileReader是一种异步文件读取机制,结合input:file可以很方便的读取本地文件. input:file 在介绍FileReader之前,先简单介绍input的file类型. < ...

  6. vue全家桶是啥?

    Vue有著名的全家桶系列,包含了 1,调试插件:可以选择 Chrome 插件 vue Devtool(需要下载工具包).打开控制台选择 vue 面板.也可以选择 Vuex 选项.vuex(http:/ ...

  7. python学习_day1

    简单的输入与输出 python3.x输入 用内置函数input(),返回的数据类型是string,输出用print() 查看数据类型 用type方法 例如 a = int(input('请输入:')) ...

  8. idea使用"svn"到项目报错Error:Cannot run program "svn" (in directory "E:\XXXXXX"):CreateProcess error=2,

    使用新项目工具idea界面上导入svn项目报错: Error:Cannot run program "svn" (in directory "D:\XXXXXX" ...

  9. SQL Server性能调优--优化建议(一)

    序言 当数据量小的时候,SQL优化或许无关紧要,但是当数据量达到一定量级之后,性能优化将变得至关重要,甚至决定系统成败. 定位慢查询 查询编译以来cpu耗时总量最多的前50条 --查询编译以来 cpu ...

  10. Leetcode 12. Integer to Roman(打表,水)

    12. Integer to Roman Medium Roman numerals are represented by seven different symbols: I, V, X, L, C ...