基于NTLM认证的中间人攻击(含实战)

中间人攻击


中间人攻击(Man-in-the-Middle Attack,简称“MITM攻击”)是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。中间人攻击一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信 任的数字证书认证机构颁发,并且能执行双向身份认证。

中间人攻击过程

1.客户端发送请求到服务端,请求被中间人截获。
2.服务器向客户端发送公钥。
3.中间人截获公钥,保留在自己手上。然后自己生成一个【伪造的】公钥,发给客户端。
4.客户端收到伪造的公钥后,生成加密hash值发给服务器。
5.中间人获得加密hash值,用自己的私钥解密获得真秘钥。同时生成假的加密hash值,发给服务器。
6.服务器用私钥解密获得假密钥。然后加密数据传输给客户端。
image-20210802165409819

中间人攻击的核心理念在于截取hash和传递(假冒认证)

0x01 域和工作组

工作组和域宏观上都是一群计算机的集合,域中计算机的数量规模通常大于工作组内的计算机。

工作组内的机器名义上虽然是属于一个集合,但是内部各计算机还是各自管理各自的,没有一个相对成熟的信任机制,工作组内各个计算机的关系依旧是点对点。因此,在工作组环境下进行访问认证,仅涉及Client和Server。我们使用的个人计算机,默认便处于WORKGROUP工作组环境下

域是一个有安全边界的计算机集合,同一个域中的计算机通过共同的第三方信任机构建立信任关系,这个第三方信任机构角色由DC(域控制器)担当。通俗来讲,域中的机器都信任域控制器,那么只要域控制器信任我们,我们就可以在域内获得对其他服务器的访问权限。在这种认证体系中涉及三方:Client、Server、DC

VMware中域环境的搭建详见:

VMware中用虚拟机模拟搭建域(步骤、讲解详实,并以浅显的方式讲解了VMware中的三种网络模式、IP配置),Windows Server 2008 R2为域控服务器,Win7为域成员服务器_胖胖的飞象的博客-CSDN博客_虚拟机怎么创建域

0x02 NTLM认证(Windows)

本地认证

Windows不存储用户的明文密码,它会将用户的明文密码经过加密后存储在 SAM (Security Account Manager Database,安全账号管理数据库)文件中。

SAM文件的路径是 %SystemRoot%\system32\config\sam

在进行本地认证的过程中,当用户登录时,系统将用户输入的明文密码加密成 NTLM Hash,与 SAM数据库中的 NTLM Hash 进行比较,从而实现认证

winlogon.exe -> 接收用户输入 -> lsass.exe -> 认证

首先,用户注销、重启、锁屏后,操作系统会让 winlogon显示登录界面,也就是输入框,接收输入后,将密码交给 lsass进程,这个进程中会存一份明文密码,将明文密码加密成NTLM Hash,对比 SAM数据库中的Hash进行验证

NTLM Hash的生成
  • 明文密码:123456
  • 首先,密码经过十六进制ASCⅡ转为 -> 313233343536
  • 将十六进制结果转为 Unicode格式 ->310032003300340035003600
  • 以 Hex(16进制)数据作MD4加密 ->32ED87BDB5FDC5E9CBA88547376818D4

由于NTLM Hash的算法公开,故获得的Hash可暴力破解(MD4单向不可逆)

网络认证

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值