中间人攻击(Man-in-the-Middle Attack,简称“MITM攻击”)是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。中间人攻击一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信 任的数字证书认证机构颁发,并且能执行双向身份认证。
中间人攻击过程
1.客户端发送请求到服务端,请求被中间人截获。
2.服务器向客户端发送公钥。
3.中间人截获公钥,保留在自己手上。然后自己生成一个【伪造的】公钥,发给客户端。
4.客户端收到伪造的公钥后,生成加密hash值发给服务器。
5.中间人获得加密hash值,用自己的私钥解密获得真秘钥。同时生成假的加密hash值,发给服务器。
6.服务器用私钥解密获得假密钥。然后加密数据传输给客户端。
中间人攻击的核心理念在于截取hash和传递(假冒认证)
工作组和域宏观上都是一群计算机的集合,域中计算机的数量规模通常大于工作组内的计算机。
工作组内的机器名义上虽然是属于一个集合,但是内部各计算机还是各自管理各自的,没有一个相对成熟的信任机制,工作组内各个计算机的关系依旧是点对点。因此,在工作组环境下进行访问认证,仅涉及Client和Server。我们使用的个人计算机,默认便处于WORKGROUP工作组环境下
域是一个有安全边界的计算机集合,同一个域中的计算机通过共同的第三方信任机构建立信任关系,这个第三方信任机构角色由DC(域控制器)担当。通俗来讲,域中的机器都信任域控制器,那么只要域控制器信任我们,我们就可以在域内获得对其他服务器的访问权限。在这种认证体系中涉及三方:Client、Server、DC
VMware中域环境的搭建详见:
VMware中用虚拟机模拟搭建域(步骤、讲解详实,并以浅显的方式讲解了VMware中的三种网络模式、IP配置),Windows Server 2008 R2为域控服务器,Win7为域成员服务器_胖胖的飞象的博客-CSDN博客_虚拟机怎么创建域
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进行验证
123456
313233343536
310032003300340035003600
32ED87BDB5FDC5E9CBA88547376818D4
由于NTLM Hash的算法公开,故获得的Hash可暴力破解(MD4单向不可逆)
NTLM凭据包括域名,用户名和用户密码的单向Hash。用户的密码不会在网络链路中传输,加密之后的Challenge值取代原本密码的作用进行对比验证,与传统传输密码的方式相比,具有较高的安全性
NTLM的认证方式分为交互式和交互式