Windows NTLM中继攻击(PortBender二进制可执行文件)

admin 2024年10月6日23:26:07评论17 views字数 1859阅读6分11秒阅读模式

Windows NTLM中继攻击(PortBender二进制可执行文件)

前言

最近在完善自己的一套TTPs(战术、技术和程序)以应对未来的网络作战、项目和攻防演练需求,翻到了PortBender,我觉得不依赖C2和影响主机本身实现这一切非常有趣,于是单独开一篇文章来纪念它

Windows NTLM中继攻击(PortBender二进制可执行文件)

我也计划在2025年前往英国,进行一场英国行,看到TryHackMe的庐山真面目,了解英国文化、英国黑客文化

NTLM relay

在“未强制启用smb签名”时,我们可以通过中转请求包(这里是SMB)到到另一个目的地,盗用其身份实现ntlm身份验证以及命令执行,甚至是搭建socks隧道

Windows NTLM中继攻击(PortBender二进制可执行文件)

我们如何在远程攻击机启用ntlmrelayx.py且不依赖C2来实现这一切?

我在TryHackMe Hololive域渗透中曾使用过这样的打法来抵达域控,并拿下域控完全控制权

原解决方案

hololive原打法是关闭windows LanMan

Begin by disabling NetLogon. Find the command used below.Command used: sc stop netlogonNext, we need to disable and stop the SMB server from starting at boot. We can do this by disabling LanManServer and modifying the configuration. Find the command used below.Command used: sc stop lanmanserver and sc config lanmanserver start= disabledTo entirely stop SMB, we will also need to disable LanManServer and modify its configuration. Find the command used below.Command used: sc stop lanmanworkstation and sc config lanmanworkstation start= disabled

这样就能把445端口解放出来,然后通过端口转发来监听445端口并转发其端口流量到攻击机或jumpserver,从而进一步可实现ntlm relay。

但事实上这一方案并不一定适用于一部分场景,可能客户不希望我们“直接”破坏他们的SMB或其它使用NTLM身份验证的服务等其它因素

但我们出于某些原因而无法使用C2时,我们又该怎么办?

WinDivert - 端口流量重定向

第一次接触WinDivert是在CRTO的学习中,并通过CS来实现这一切

Windows NTLM中继攻击(PortBender二进制可执行文件)

然鹅现在我们只是知道CS的PortBender是基于WinDivert实现的

但以我们目前的能力想要重新构建一个类似PortBender二进制可执行文件,我们或许需要做大量WinDivert的功课

PortBender二进制可执行文件

PortBender 是一种 TCP 端口重定向实用程序,允许红队操作员将发往一个 TCP 端口(例如 445/TCP)的入站流量重定向到另一个 TCP 端口(例如 8445/TCP)。 PortBender 包含一个攻击者脚本,操作员可以利用该脚本将该工具与 Cobalt Strike 集成。

我们查阅PortBender在github的源码,它由c和c++编写

Windows NTLM中继攻击(PortBender二进制可执行文件)

由于我对CS了解并不足够多,所以我一直认为它只适用于CS框架,直到最后我发现了PortBender.sln,这时候我意识到我可能错了

Windows NTLM中继攻击(PortBender二进制可执行文件)

我查看了插件的release,它是一个zip,并且zip里面有一个PortBender.dll,这时候我彻底明白应该如何改变这一切

只需要将PortBender的源码clone下来,使用我们的VS打开那个神圣的.sln文件,然后通过VS编译为exe二进制可执行文件

这样我们就得到了一个PortBender.exe,从而脱离CS运行

也有大哥已经将PortBender脱离了出来并编译为exe在github上发布

https://github.com/exil-security/PortBender

Windows NTLM中继攻击(PortBender二进制可执行文件)

一切顺利,接下来将8445流量转发到攻击机做ntlmrelay

这里利用chisel来做一个8445端口转发到我们攻击机的445端口

Windows NTLM中继攻击(PortBender二进制可执行文件)

ntlmrelayx.py中继目标为DC

Windows NTLM中继攻击(PortBender二进制可执行文件)

Windows NTLM中继攻击(PortBender二进制可执行文件)

后续操作就是常规操作了。

通过这样的方式我们脱离了C2框架,避免了破坏原有已被SMB服务占用的445端口

原文始发于微信公众号(APT250):Windows NTLM中继攻击(PortBender二进制可执行文件)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月6日23:26:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows NTLM中继攻击(PortBender二进制可执行文件)https://cn-sec.com/archives/3232821.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息