重新发现旧技巧很有趣,尤其是在学习非常理想的关于所有可能的逃避技巧和隐身技术的知识的情况下,红队和蓝队都应该知道这些技巧。尤其是允许横向移动的技巧。
我在阅读各种 Windows 界面时遇到了它,这两个引起了我的注意:
(或 WSHController 和 WSHRemote,因为它们到处都被提及),并立即意识到这是另一种不太知名的横向移动技术。
在几次不成功的尝试之后,我成功了,并向你展示了一个快速而肮脏的食谱,这样你就可以尝试在你的实验室中复制它。
这是操作中的技巧(左侧 - 目标系统,右侧 - 攻击者):
您可以重复使用粘贴在 Microsoft站点上的代码,并根据您的需要对其进行调整(也就是编辑远程计算机的名称和脚本的文件名):
strRemoteComputer = "RASServer01"
strWorkerScript = "MapNetworkDrive.vbs"
设置 objWshController = WScript.CreateObject("WshController")
设置 objRemoteScript = _
objWshController.CreateScript(strWorkerScript,strRemoteComputer)
objRemoteScript.Execute
不做 objRemoteScript.Status = 2
Wscript.Sleep(100)
Wscript.Echo "远程脚本尚未完成。"
环形
当你第一次尝试时,你会失败。
为什么?
很多原因。事实证明,此功能需要一些准备才能使用。
在四处寻找并阅读其他人为使其发挥作用所做的工作之后,我将这些想法放在一起:
而已。现在脚本应该可以工作了。
如果您担心运行“wscript -regserver”会将此技巧置于 catch 22 部门(我们需要先远程运行一个进程来运行我们的脚本),请不要担心。“wscript -regserver”添加了一堆注册表键和值——它们也可以使用远程注册表功能添加,这根本不需要远程运行进程!
这是这些键的高级列表——如果你想要详细的值,你可以从你的测试实验室盒子上的 regshot 会话中获取它们:
从取证的角度来看,您需要注意这些工件:
在事件日志方面,我看到的唯一活动是安全日志中记录的一些事件:
因此,在短时间内看到这个三连音可能是使用这种技术进行横向运动的一个很好的指标。
还有一点。由于您可以在 localhost 上使用此技巧,因此它可用于破坏进程树(如 EDR 解决方案所见),并可能逃避一些沙盒分析(进程不直接由分析的样本或其子进程产生)有时会被忽略,除非沙盒知道规避技巧并监视其使用)。
使用 WSHController/WSHRemote 对象(IWSHController 和 IWSHRemote 接口)进行横向移动
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。