waitfor介绍
WaitFor.exe是一个用于同步网络中计算机的程序,可以发送或等待系统上的信号。它支持的操作系统包括Windows Server 2003、Windows Vista、Windows XP、Windows Server 2008等。其主要用途是实现域内主机同时执行命令。
WaitFor.exe位于System32文件夹下,以命令行方式启动。它支持多个参数,包括指定发送的目的计算机的名称或IP地址、使用指定用户帐户的凭据运行脚本、指定等待信号的秒数等。该二进制文件存储在C:WindowsSystem32文件夹中,这意味着需要本地管理员权限才能执行此活动,并且两个主机(发送方和接收方)需要在同一网段上。
waitfor利用思路
Metasploit Framework可用于通过使用“web_delivery”模块托管基于PowerShell的有效负载。
Shell |
"waitfor"命令接受几个参数,
/s参数指定将发送信号的远程主机的IP地址或者如果在本地执行可以使用回环地址,
/si参数通过网络发送信号,最后一个组件是信号的名称。
需要在目标主机上执行“waitfor”,并附加信号名称和PowerShell命令
Shell |
当主机上接收到信号时,将执行命令并打开Meterpreter会话。
利用优化
这种方法用于持久性的问题是,一旦触发器命令被执行,进程“waitfor. exe”就会退出。为了克服这个问题,开发了一个PowerShell脚本,将命令存储在WMI类中,以便连续启用等待模式。
Shell $StaticClass.Put() | Out-Null $exec=([WmiClass] 'Win32_Backdoor').Properties['Code'].Value; |
一旦模块被导入,它将执行“waitfor”命令。
Shell |
执行触发器命令将创建与目标主机的通信通道。该命令可以运行多次,因为“waitfor”始终处于等待模式。
Metasploit Framework还实现了将有效负载存储在WMI类中并使用“waitfor”作为触发器的技术。
Shell |
执行后,该模块将在WMI类中安装任意有效负载。它还将生成需要使用的命令,以便再次检索Meterpreter会话。
信号可以从网络上具有shell访问权限的另一台主机发送到目标系统。
下面的GIF演示了如何使用“waitfor”二进制文件来下载和执行任意有效负载。
原文始发于微信公众号(暴暴的皮卡丘):windows持久化后门之waitfor.exe
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论