PHP2Shell RCE 跨暴露开放目录狩猎
Detection stack
- AIDR
- Alert
- ETL
- Query
摘要
一个未识别的威胁行为者成功从菲律宾一个政府机构窃取了68.8 GB的数据库备份。该行动在攻击者留下一个运行着未认证Python HTTP目录的临时服务器后被曝光,该目录可从互联网访问。从服务器中恢复的工具包括一个重新命名的GodPotato有效载荷,称为Wrqsnx,以及一个PowerShell加载器。
调查
调查涉及对恢复的有效载荷进行逆向工程,并检查暴露的临时服务器的访问日志。研究人员将攻击者的基础设施追溯到由UpCloud Ltd运营的Linux主机,并通过与菲律宾海外就业管理局相关的证书匹配识别受害者。分析显示,操作员使用PowerShell加载器在内存中执行有效载荷,避免基于磁盘的检测。
缓解措施
组织应禁用网络服务器的目录列表,并确保临时环境决不公开暴露。对敏感数据库备份实施严格的访问控制,并监控未经授权的工具使用,如Rclone或Impacket。服务帐户也应定期审计,以 降低使用GodPotato类工具造成本地权限提升的风险。 privileges to reduce local privilege escalation risk from tools such as GodPotato.
响应
当发现未授权的临时目录或已知的利用工具如Impacket时,应立即隔离受影响的系统。进行内存取证以识别内存中加载器,并检查系统是否存在可疑的命名管道。审计服务帐户活动以发现意外的令牌模拟、权限提升或SYSTEM级别的命令执行。
攻击流程
我们仍在更新此部分。
检测
从Powershell命令行调用可疑的.NET类/方法(通过process_creation)
可疑的Powershell字符串(通过powershell)
公共用户配置文件中的可疑文件(通过file_event)
用于检测:追踪泄露的PHP2Shell RCE跨开放目录的IOC(HashSha256)
用于检测:追踪泄露的PHP2Shell RCE跨开放目录的IOC(SourceIP)
用于检测:追踪泄露的PHP2Shell RCE跨开放目录的IOC(DestinationIP)
检测Portalload PowerShell加载器执行情况【Windows Powershell】
检测重新命名的GodPotato执行情况【Windows Process Creation】
模拟执行
-
攻击叙述与命令: 对手已经获得了一个名为
portalload.ps1的专业加载器。为避免在磁盘上留下大足迹,对手打算使用此脚本直接在内存中重组编码片段。攻击者通过PowerShell CLI执行脚本。此操作旨在触发SOC对特定文件名的检测,在真实场景中,这将是尝试使用已知恶意工具。 -
回归测试脚本:
# 模拟脚本以触发 'portalload.ps1' 检测规则。 # 这会创建一个虚拟文件模拟加载器的存在。 New-Item -Path "$env:TEMPportalload.ps1" -ItemType "File" -Value "# 模拟加载器内容" # 通过PowerShell执行 '恶意' 加载器以生成检测遥测数据 Start-Process powershell.exe -ArgumentList "-File `"$env:TEMPportalload.ps1`"" -
清理命令:
# 清理模拟过程中创建的虚拟文件 Remove-Item -Path "$env:TEMPportalload.ps1" -Force