Cuba勒索软件(又名Tropical Scorpius)的最新攻击策(4)
时间:2022-09-29 04:44 来源:网络整理 作者:采集插件 点击:次
与黑客工具相关的独特命令提供了高可信度的Zero.exe是ZeroLogon黑客工具。ZeroLogon黑客工具被用于滥用CVE-2020-1472,通过从域控制程序请求NTLM哈希来获得域管理员(DA)权限。 ZeroLogon黑客工具打包 命令与控制 除了上述工具外,Unit42还发现了一个自定义远程访问木马/后门,其中包含一个独特的命令和控制(C2)协议。根据二进制文件中的字符串和功能,我们选择将其命名为ROMCOM RAT。 ROMCOM RAT可以通过使用它的两个导出中的一个来执行: ServiceMain; startWorker; 两个导出都导致执行相同的函数,但是,不同之处在于作为参数传播的字符串:ServiceMain传播字符串_inet,而startWorker传播字符串_file。仅基于此字符串,示例中的执行流程就完全不同,ServiceMain导致示例向其C2服务器发送信标,而startWorker导致示例在系统上打开后门并等待连接。 ServiceMain导出 执行ServiceMain导出后,ROMCOM将执行以下命令行: C:\Windows\System32\rundll32.exe C:\Windows\System32\comDll.dll,startWorker 这将导致startWorker导出的执行,这意味着两个导出都将在机程序上处于活动状态,假设ROMCOM最初是通过服务执行的。 使用带有startWorker参数的rundll32.exe执行ROMCOM示例 这样ROMCOM将收集系统和用户信息,并尝试通过WinHTTPAPI将其发送到硬编码的C2服务器。如果成功,则相应地解析和处理响应。 ROMCOM内部提供的ICMP函数 对从C2接收的数据包的命令处理 如果连接失败,ROMCOM将尝试使用ICMP请求连接到C2服务器并与之通信。使用诸如IcmpCreateFile()和IcmpSendEcho()这样的Windows API函数,它将尝试重新发送系统和用户信息到服务器,直到收到响应。一旦接收到响应,就会按照解析HTTP响应的方式对其进行解析。 ICMP请求函数 如果响应的第四个字节等于9,ROMCOM将休眠120000毫秒。如果第四个字节设置为5,则响应将包含后续数据的大小,因此在向C2发出第二个请求之前分配内存,根据使用的最后一个协议使用HTTP或ICMP。 然后,从第二个请求接收到的数据被传递到一个函数,该函数首先通过5555和5600之间的端口连接到本地地址127.0.0[.]3,然后发送C2接收到的数据。然后该函数返回,然后ROMCOM绑定到127.0.0[.]2:5555,它将等待连接,并将从该连接接收到的任何数据转发到其C2服务器。 连接到由ROMCOM startWorker进程托管的本地套接字服务器 startWorker导出 startWorker导出将字符串_file传播给ROMCOM的主函数,这导致ServiceMain导出执行的代码被跳过。相反,startWorker首先打开一个套接字对象并尝试绑定到IP127.0.0[.]3和端口5555。但是,如果端口已在使用中,ROMCOM将增加端口值,并尝试再次绑定。这个循环一直持续到ROMCOM绑定到一个未使用的端口,或者直到端口值达到5600,此时它被设置为5554,然后循环重新启动。 设置本地套接字服务器 一旦ROMCOM成功绑定到端口,它就会开始监听传入的连接,这将由执行ServiceMain导出的进程来完成。当接收到一个传入连接时,将产生一个线程,该线程将处理来自已连接客户机的任何请求。 命令处理程序 可接受的命令及其用途的列表如下所示: |