长亭百川云 - 文章详情

通过SMB进行横向移动

木星安全实验室

71

2024-07-13

本文在禁用SMB签名的情况下,研究滥用SMB协议的横向移动技术。 

SMB签名是一种安全机制,对SMB数据包进行数字签名,加强其真实性和完整性 —— 客户端/服务器知道他们接收的传入SMB数据包属于受信任的来源,在传输过程中未被篡改,防止中间人攻击。

如果禁用SMB签名,则可以拦截/篡改数据包或把数据包中继到另一个系统,这正是本文要讲的内容。

01

环境

  • 10.0.0.5-运行Kali Linux和SMB中继工具的攻击者

  • 10.0.0.2-受害者1; 他们的凭据会中继给受害者2

  • 10.0.0.6-受害者2; 用受害者1的凭据在受害者2上运行代码

**注意:**受害者1的凭据必须是受害者2上的本地管理员,或者是管理员/域管理员组的成员,这样攻击才会奏效。

以下是攻击进程:

10.0.0.2 - 验证至-> 10.0.0.5 -中继到->10.0.0.6用受害者1(10.0.0.2)凭据执行代码

02

执行

检查端点上的SMB签名是否已禁用:

nmap -p 445 10.0.0.6 -sS --script smb-security-mode.nse

得知受害者2@10.0.0.6已禁用SMB签名且易受到SMB中继攻击后,我们创建一个简单的HTML文件,一旦打开该文件,受害者1就会被迫对攻击者的计算机进行身份验证:

<html>

**注意:**还有其他强制身份验证的方法,可在以下链接中获取所需的技术。

https://www.ired.team/offensive-security/initial-access/t1187-forced-authentication

同时,启用SMBRelayx工具,该工具会侦听传入的SMB身份验证请求,将其中继到受害者2@10.0.0.6,在目标主机上执行命令:ipconfig

smbrelayx.py -h 10.0.0.6 -c "ipconfig"

**注意:**smbrelayx可以和-e选项一起使用,攻击者执行其有效载荷文件,如meterpreter可执行文件。

以下动图是这个技术的应用过程 —— 左边 —— victim1@10.0.0.2打开我们之前制作的恶意html,让它对攻击者系统进行身份验证(右侧)。一旦进行身份验证,它会中继到victim2@10.0.0.6,执行ipconfig并执:

动图里出现的停止帧突出显示了代码确实是在10.0.0.6上执行:

03

观察和缓解

Smbrelayx.py在Microsoft-Windows-Sysmon / Operational中为防御者留下了足迹 —— 父映像是services.exe,命令行有详细的信息,但命令行参数容易伪造出来:

为了减少这种类型的攻击,最好就是设置Microsoft网络客户端策略,如果可以的话,执行GPO:始终对通信进行数字签名来启用:

通过上述更改,执行相同的攻击,我们会收到Signature is REQUIRED的错误消息,横向移动受阻:

之前执行的nmap扫描也显示 signing is required的信息:

nmap -p 445 10.0.0.6 -sS --script smb-security-mode

参考:

木星安全实验室(MxLab),由中国网安·广州三零卫士成立,汇聚国内多名安全专家和反间谍专家组建而成,深耕工控安全、IoT安全、红队评估、反间谍、数据保护、APT分析等高级安全领域,木星安全实验室坚持在反间谍和业务安全的领域进行探索和研究。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2