ATT&CK视角下的红蓝对抗:十九.横向移动之利用PTH(哈希传递)进行横向渗透

2023-11-16 08:33:15 浏览数 (2)

一.前言

PTH(Pass The Hash,哈希传递)攻击是一种很典型的内网渗透攻击方式。它是通过寻找账号相关的密码散列值(通常是NTLM哈希值)进行NTLM认证,在Windows中应用程序需要用户提供明文密码,最后调用LsalogonUser之类的API将密码进行转换,转换后在NTLM身份认证时将哈希值发送给远程服务器,而这个网络认证之间的过程其实并不需要明文密码。也就是说,利用这个机制,攻击者可以不提供明文密码,而是通过NTLM哈希或者LM哈希进行远程访问。

二.前文推荐

ATT&CK视角下的红蓝对抗:一. 隧道穿透技术详解

ATT&CK视角下的红蓝对抗:二. 内网探测协议出网

ATT&CK视角下的红蓝对抗:三. 内网常规隧道利用方法

ATT&CK视角下的红蓝对抗:四. 内网穿透之通过Earthworm(EW)进行隧道穿透

ATT&CK视角下的红蓝对抗:五. 内网穿透之利用HTTP协议进行隧道穿透

ATT&CK视角下的红蓝对抗:六.内网穿透之利用FRP进行隧道穿透

ATT&CK视角下的红蓝对抗:七.内网穿透之利用Venom进行隧道穿透

ATT&CK视角下的红蓝对抗:八.内网穿透之利用Termite进行隧道穿透

ATT&CK视角下的红蓝对抗:九.内网穿透之利用GRE协议进行隧道穿透

ATT&CK视角下的红蓝对抗:十.内网穿透之利用DNS协议进行隧道穿透

ATT&CK视角下的红蓝对抗:十一.内网穿透之利用SSH协议进行隧道穿透

ATT&CK视角下的红蓝对抗:十二.内网穿透之Windows文件传输技术详解

ATT&CK视角下的红蓝对抗:十三.内网穿透之Linux文件传输技巧详解

ATT&CK视角下的红蓝对抗:十四.内网穿透之反弹流量分析与检测方法

ATT&CK视角下的红蓝对抗:十五.内网穿透之利用ICMP协议进行隧道穿透

ATT&CK视角下的红蓝对抗:十六.横向移动之利用Windows计划任务进行横向移动

ATT&CK视角下的红蓝对抗:十七.横向移动之利用远程服务进行横向渗透

ATT&CK视角下的红蓝对抗:十八.横向移动之利用WinRM进行横向渗透

三. 哈希传递(Pass The Hash)

PTH(Pass The Hash,哈希传递)攻击是一种很典型的内网渗透攻击方式。它是通过寻找账号相关的密码散列值(通常是NTLM哈希值)进行NTLM认证,在Windows中应用程序需要用户提供明文密码,最后调用LsalogonUser之类的API将密码进行转换,转换后在NTLM身份认证时将哈希值发送给远程服务器,而这个网络认证之间的过程其实并不需要明文密码。也就是说,利用这个机制,攻击者可以不提供明文密码,而是通过NTLM哈希或者LM哈希进行远程访问。

而我们所要讲的PTH攻击可以说是基于NTLM认证缺陷的一种攻击方式,攻击者可以利用获取的用户密码哈希值来进行NTLM认证。

假设在域环境中,计算机登录时会使用相同的本地管理员账号和密码。那么攻击者就能利用PTH攻击的手段访问其他登录内网的计算机。通过这种攻击方式,攻击者不需要花时间破解密码哈希值来获取明文密码,而可以直接通过哈希值来实现对其他域内计算机的控制。这种攻击方法的实验拓扑图如图1-1所示,而实验环境参考表1-1。

图1-1实验拓扑图图1-1实验拓扑图

表1-1实验环境

主机

域名

IP地址

NTLM 哈希值

Kali 2022

test.com

192.168.1.9 , 10.10.10.2

Windows server 2012

test.com

192.168.1.2 , 10.10.10.3

3766c17d09689c438a072a33270cb6f5

windows server 2008

test.com

192.168.1.3 , 10.10.10.4

3766c17d09689c438a072a33270cb6f5

Windows server 2008

test.com

192.168.1.4 , 10.10.10.5

3766c17d09689c438a072a33270cb6f5

1.使用crackmapexec进行PTH攻击

Crackmapexec是一款针对AD的后渗透工具,能帮助我们对大型AD网络的安全性进行评估。该工具是利用AD内置功能/协议达成目的的,能规避大多数终端防护/IDS/IPS解决方案。并且,该工具在Kali中安装的方法很简单,使用apt-get install crackmapexec命令即可安装,其他操作系统的安装方法可以参考官方文档。

该工具通常应用在后渗透阶段。假设我们在内网中已经控制了一台服务器(这里以Kali为例),就可以使用该工具对AD进行相关测试。该工具功能强大,可以查看帮助信息获取相关功能的使用方法,如图1-2所示。

图1-2 crackmapexec参数详情图1-2 crackmapexec参数详情

下面演示如何使用crackmapexec工具,通过Crackmapexec smb -h命令,获取指定协议的相关帮助信息,如图1-3所示。

图1-3 获取帮助信息图1-3 获取帮助信息

Kali系统自带Crackmapexec。直接在Kali中执行crackmapexec smb 192.168.1.2 -u Administrator -H 3766c17d09689c438a072a33270cb6f5 -d test.com -x whoami命令。其中参数包括:-u指定用户,-H指定哈希值,-d指定域,-x指定要执行的命令。此时已经获得权限,最后的执行结果如图1-4所示。

图1-4 利用crackmapexec进行PTH攻击图1-4 利用crackmapexec进行PTH攻击

2.通过wmiexec对WMI进行PTH

PTH攻击除了通过SMB进行以外,还可以使用WMI进行。下面我们使用Impacket中的wmiexec进行PTH攻击。

在kali下载好Impacket后,执行python3 wmiexec.py -hashes 00000000000000000000000000000000:3766c17d09689c438a072a33270cb6f5 test.com/Administrator@192.168.1.2,执行结果如图1-5所示。

图1-5 利用wmiexec进行PTH攻击图1-5 利用wmiexec进行PTH攻击

3.防御PTH攻击

对PTH攻击很难做到彻底防御,因为这个攻击方式本身利用了NTLM认证的特性,我们所做的只是降低PTH攻击的成功率,具体方法列举如下。

  • 安装杀毒软件:通过安装杀毒软件防止攻击者用一些常规工具进行PTH攻击以及盗取哈希。
  • 开启防火墙:通过开启防火墙的方式,禁止从445、135等端口进行通信。
  • 将FilterAdministratorToken的值设置为1,限制本地administrator账户的远程登录。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞