前言 在这篇文章中,我们将讨论 AppLocker 绕过的主题,这可以被视为 Windows 权限升级的一步,因为 AppLocker 会填充我们执行传输到受害者的任何文件的所有尝试。 当我们发现自己无法在受害者上执行任何工具时,我们会预感 AppLocker 已启用。从那里,我们将枚举并确认 AppLocker 确实已安装并按照默认规则运行。 之后,我们将研究两种可用于绕过 AppLocker 限制的技术,以便我们可以在受害者身上使用我们的工具。 AppLocker 是一项功能(策略),用于对某些文件类型(应用程序)及其执行位置创建限制。 此消息暗示受害者上正在运行 AppLocker。 AppLocker绕过 – 备用数据流 另一种可用于绕过 AppLocker 的技术是将可执行文件嵌入到另一个文件(备用数据流)中,然后从 ADS 执行 EXE(AppLocker 规则不会阻止可执行文件在
AppLocker默认规则允许在这些文件夹中执行二进制文件,因此我们可以用它来作为bypass的一种方法。 该方法最初是由Oddvar Moe发现的,使用这个二进制文件可以绕过AppLocker和UAC,具体可以参阅他的博文。 因此,如果恶意攻击者已经开始使用此技术,且CMSTP.EXE二进制无法被AppLocker规则阻止的情况下,则需要将这两个文件作为IoC进行监视。 ?
Metasploit Metasploit框架有一个特定的有效载荷,可用于通过Regsvr32实用程序实现自动化绕过AppLocker exploit/windows/misc/regsvr32_applocker_bypass_server 该模块将启用一个用于存储恶意.sct文件的web服务,同时也提供用于在目标系统下执行的命令 命令执行后regsvr32将从web服务器请求.sct文件,然后执行PowerShell payload 最后成功绕过绕过AppLocker
0x02 Bypass Applocker 最近突然想起来了,就继续搞一下,问了下群里的师傅 ? 知道是什么东西以后就好说了,耐心找一找总会有收获的,附上Applocker介绍: https://baike.baidu.com/item/Applocker/2300852? fr=aladdin 然后就找到3g师傅的一篇文章: https://3gstudent.github.io/3gstudent.github.io/Use-msxsl-to-bypass-AppLocker / 具体怎么利用就自行看文章吧,看完文章后续的大概思路差不多就清晰了 0x03 上线到提权 我想的是bypass applocker让目标服务器执行我的马子上线后在进行后续的提权,然而Shell 0x04 总结 碰巧这次运气好没有遇到杀软,不然肯定会是一路坎坷,也会更有挑战性 最失败的是这次自己没有提前全面了解Applocker的一些功能介绍: https://www.anquanke.com
在多个AppLocker白名单绕过列表中,Presentationhost.exe都位列其中(例如api0cradl和milkdevil),但在网上有关如何使用它的资料却少之又少。 powershell.exepowershell.exe.manifestpowershell.pdbpowershell.xbap 要绕过默认的AppLocker规则,请将这些文件复制到锁定的计算机,
此脚本将从 win 事件日志中解析所有事件通道,以将所有日志相关信息提取到 AppLocker。该脚本将收集与事件相关的所有重要信息,用于取证或威胁搜寻目的,甚至用于故障排除。 以下是我们从 win-event 中获取的日志: EXE 和动态链接库 MSI 和脚本 打包的应用程序部署 打包的应用程序执行 结果将保存到 csv 文件:AppLocker-log.csv 通过此脚本您将获得的有用信息是 这会获取 AppLocker 的所有事件,这些事件对威胁搜寻、取证甚至故障排除很重要。这是默认值。 . \Get-AppLockerEventlog.ps1 -HunType All 这将获取由 AppLocker 阻止应用程序的操作触发的所有事件,这种类型对于威胁搜寻或取证至关重要,并且具有高优先级, \Get-AppLockerEventlog.ps1 -HunType Block |Format-Table -AutoSize 这将获取由 AppLocker 允许应用程序操作触发的所有事件。
关于Get-AppLockerEventlog Get-AppLockerEventlog是一款功能强大的Applocker事件日志提取工具,该脚本能够从Windows事件日志中解析所有的事件,并从中提取出与 AppLocker相关的所有日志。 1、All 该选项会获取跟威胁搜索、信息安全取证和疑难解决相关的所有AppLocker事件日志,该选项也是HunType参数的默认值: . \Get-AppLockerEventlog.ps1 -HunType Block |Format-Table -AutoSize (向右滑动,查看更多) 3、Allow 该选项能够获取由AppLocker /using-event-viewer-with-applocker 精彩推荐
cpl文件的应用 bypass Windows AppLocker 什么是Windows AppLocker: AppLocker即“应用程序控制策略”,是Windows 7系统中新增加的一项安全功能。 默认的Applocker规则集合,可以看到cpl并不在默认规则中: 开启Applocker规则: 打开计算机管理,选择服务,将Application Identity服务开启 然后在安全策略中, 添加一条applocker规则,会询问是否添加默认规则 默认规则为: 假设设置某一路径无法执行可执行程序,再次运行时就会提示组策略安全,不允许运行 绕过的方式有很多,这里只讲cpl文件 完全可以把代码写入到 ://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-defender-application-control/applocker /working-with-applocker-rules
二、设置应用白名单的3种实用方法方法1:使用Windows内置功能——AppLocker(适合Windows专业版及以上)AppLocker是微软提供的本地白名单工具,无需额外安装,适合中小型企业初步部署 启用AppLocker依次展开:计算机配置 → Windows 设置 → 安全设置 → 应用程序控制策略 → AppLocker。右键点击“可执行规则”,选择“创建默认规则”。 启用策略回到AppLocker主界面,确保规则已启用。重启电脑,系统将只允许白名单内的程序运行。注意:建议先在测试环境部署,避免误拦关键程序导致业务中断。 方法2:使用软件限制策略(SRP)——兼容性更广的备选方案如果系统是Windows家庭版,不支持AppLocker,可使用“软件限制策略”作为替代。
normal No Applocker Evasion - .NET Framework Installation Utility 1 evasion/windows/applocker_evasion_msbuild normal No Applocker Evasion - MSBuild 2 evasion/windows/applocker_evasion_regasm_regsvcs normal No Applocker Evasion - Microsoft .NET Assembly Registration Utility 3 evasion/windows/applocker_evasion_workflow_compiler /applocker_evasion_presentationhost normal No Applocker Evasion - Windows Presentation
进行传输类 通过UNC进行传输类 通过磁盘写入类 而payload执行则具体可以分为有文件类和无文件类,具体分的话就是内存执行、本地缓存、磁盘文件下面我们会总结一些下载和执行的方法,其中也大量包含一些AppLocker 如果环境配置不正确,使用.MSI文件可能允许攻击者执行特权升级或绕过AppLocker规则。 msxsl.exe customers.xml script.xsl Links: https://pentestlab.blog/2017/07/06/applocker-bypass-msxsl 这种方法可以用于bypass AppLocker,当然也可以用来设置后门。 / https://www.contextis.com/blog/applocker-bypass-via-registry-key-manipulation Pubprn.vbs 在Windows
cpl文件的应用 bypass Windows AppLocker 什么是Windows AppLocker: AppLocker即“应用程序控制策略”,是Windows 7系统中新增加的一项安全功能。 默认的Applocker规则集合,可以看到cpl并不在默认规则中: ? 开启Applocker规则: 打开计算机管理,选择服务,将Application Identity服务开启 ? 然后在安全策略中,添加一条applocker规则,会询问是否添加默认规则 ? 默认规则为: ? 假设设置某一路径无法执行可执行程序,再次运行时就会提示组策略安全,不允许运行 ? ://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-defender-application-control/applocker /working-with-applocker-rules
cpl文件的应用 bypass Windows AppLocker 什么是Windows AppLocker: AppLocker即“应用程序控制策略”,是Windows 7系统中新增加的一项安全功能 默认的Applocker规则集合,可以看到cpl并不在默认规则中: 开启Applocker规则: 打开计算机管理,选择服务,将Application Identity服务开启 然后在安全策略中,添加一条 applocker规则,会询问是否添加默认规则 默认规则为: 假设设置某一路径无法执行可执行程序,再次运行时就会提示组策略安全,不允许运行 绕过的方式有很多,这里只讲cpl文件 完全可以把代码写入到 ://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-defender-application-control/applocker /working-with-applocker-rules
Get-AppLockerPolicy -Effective | select -ExpandProperty RuleCollections 根据相应组策略的区分名称,获取远程AppLocker策略( AppLocker 规则通常不会对(本地)管理用户强制执行。 PowerShell受限语言模式 有时你可能会发现自己处于一个强制执行受限语言模式(CLM)的PowerShell会话中。 当你在一个执行AppLocker的环境中操作时,通常会出现这种情况(见上文)。 你可以通过轮询以下变量来确定你处于受限语言模式,以获得当前的语言模式。 绕过CLM与绕过上面讨论的AppLocker基本相同。 另一种绕过CLM的方法是绕过AppLocker来执行执行自定义PowerShell运行空间的二进制文件(例如Stracciatella),这将是不受约束的。
Windows\ServiceProfiles\LocalService\AppData\Local\Temp\TfsStore\Tfs_DAV 下面我们会总结一些下载和执行的方法,其中也大量包含一些AppLocker 如果环境配置不正确,使用.MSI文件可能允许攻击者执行特权升级或绕过AppLocker规则。 msxsl.exe customers.xml script.xsl Links: https://pentestlab.blog/2017/07/06/applocker-bypass-msxsl 这种方法可以用于bypass AppLocker,当然也可以用来设置后门。 / https://www.contextis.com/blog/applocker-bypass-via-registry-key-manipulation Pubprn.vbs 在Windows
目录,C:\Windows\System32\AppLocker 该目录默认是空文件夹,删除可能导致系统开始菜单异常 sihost.exe对应的进程名为shell infrastructure host log也没有SHE的crash报错,这个问题应该发生在Sihost.exe去激活SEH的过程中出现的问题 程序包Microsoft.Windows.ShellExperienceHost_ 部署被AppLocker procmon能监测到 CreateFile C:\Windows\System32\AppLocker\APPX.AppLocker PATH NOT FOUND 在问题机器中发现C:\windows\system32下面不存在AppLocker这个文件夹,而正常机器中是有的,默认是空的 创建了一个新文件夹命名为AppLocker之后,点击开始菜单,可以正常工作 的是StartAllBack)改造开始菜单为经典菜单 10、C:\Windows\System32\appmgmt ,别看子目录是空的,Windows系统博大精深(处处是坑),别看见空的就想删,上面的AppLocker
本文将为大家详细介绍如何在只能访问远程桌面服务,且有 AppLocker 保护 PowerShell 处于语言约束模式下获取目标机器 Empire shell。 C:\Windows\Tasks文件夹是一个绕过Applocker的好地方,因为该目录通常被列为白名单。 之所以使用rundll32,是因为它是一个不会被Applocker阻止的二进制文件。 rundll32 . 更多高级技术 绕过 powershell 约束模式和 applocker 以下是一篇关于绕过应用白名单和powershell约束模式的文章,大家可以阅读下: https://improsec.com/blog
Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls 启动control.exe,就可以执行我们的cpl bypass Windows AppLocker AppLocker即“应用程序控制策略”,是Windows 7系统中新增加的一项安全功能。 默认的Applocker规则集合,可以看到cpl并不在默认规则中: 缓解措施 M1038 执行预防 在适当的情况下,使用应用程序控制工具(如 Windows Defender 应用程序控制、AppLocker
Professional):供小型企业使用 在家庭版基础上增加了域账号加入、bitlocker、企业商店等功能 企业版(Enterprise):供中大型企业使用 在专业版基础上增加了DirectAccess,AppLocker 企业模式Internet Explorer浏览器(EMIE),Assigned Access 8.1(访问分配),远程桌面,Direct Access(直接访问),Windows To Go创建工具,Applocker 经过测试专业版也可以通过输入教育版key升级到教育版) Windows 10 专业版 与企业版对比【无】以下功能: ①基础功能:Direct Access(直接访问),Windows To Go创建工具,Applocker 企业模式Internet Explorer浏览器(EMIE),Assigned Access 8.1(访问分配),远程桌面,Direct Access(直接访问),Windows To Go创建工具,Applocker
Professional):供小型企业使用 在家庭版基础上增加了域账号加入、bitlocker、企业商店等功能 企业版(Enterprise):供中大型企业使用 在专业版基础上增加了DirectAccess,AppLocker 企业模式Internet Explorer浏览器(EMIE),Assigned Access 8.1(访问分配),远程桌面,Direct Access(直接访问),Windows To Go创建工具,Applocker 经过测试专业版也可以通过输入教育版key升级到教育版) Windows 10 专业版 与企业版对比【无】以下功能: ①基础功能:Direct Access(直接访问),Windows To Go创建工具,Applocker 企业模式Internet Explorer浏览器(EMIE),Assigned Access 8.1(访问分配),远程桌面,Direct Access(直接访问),Windows To Go创建工具,Applocker