如何突破Windows环境限制打开“命令提示符”

如今,许多企业或组织都会通过使用受限的windows环境来减少系统表面的漏洞。系统加固的越好,那么也就意味着能被访问和使用到的功能就越少。

我最近遇到的情况是,一个已经加固的系统同时受到McAfee Solidcore的保护。Solidcore几乎阻止用户对系统任何的更改操作,如安装/取消软件安装,运行可执行文件,启动应用程序等。

我所测试的系统(Windows 7)被系统管理员设置了登录密码,因此除了访问登录界面和重启系统外,我无法访问该系统任何其他的功能。

为此,我花了近一个礼拜来收集关于该应用和系统的信息,其中包括使用社会工程学的手段。最终,我通过Google dork获取到了管理员的登录凭据。

成功登录目标系统后,我发现主机的大多数功能依旧无法被正常访问。该应用程序设计得非常的好,对用户的访问权限做了较为严格的管控。

但我发现,该应用程序有一个选项就是允许用户打印文档,这意味着我们可以访问主机的文件资源管理器。

Print-->printer settings-->add a printer-->location-->browse location

每个Windows文件资源管理器都有一个Windows帮助选项,它提供关于Windows特性的免费帮助。那么,我们有没有可能通过帮助选项,来尝试打开命令提示符呢?这是有可能的。

在成功调出cmd后,我发现在cmd中我依旧无法正常访问一些其他的Windows应用,并且也无法在系统中做任何更改操作(即使是打开一个记事本)。每当我试图打开某个应用时,均会出现以下报错信息:

从报错信息可以看出应用程序被进行了锁定,我们需要从注册表或组策略编辑器中才能启用它。但由于Solidcore的限制,我并没对此的任何访问权限。我使用以下批处理脚本修改注册表项并启用任务管理器(虽然我并不确定,报错的真正原因是否和注册表或组策略编辑器有关):

在成功执行批处理脚本后,我获取到了任务管理器以及控制面板的访问权限。我的主要目的是禁用或卸载Solidcore,但一切并没有我想象的那么轻松,Solidcore依旧无法被禁用或卸载(其他软件可被正常禁用或卸载)。

那么只剩一种可能性了,就是通过“组策略编辑器”来禁用Solidcore/启用其他软件的安装。然而我并没有直接访问gpedit,而是使用了以下方式进行了访问:

Open Task manager-->File -->New task-->Type MMC and enter

打开微软管理策略

In mmc File-->Add/Remove snap-in--> Select Group Policy Objects and click on add

现在,我能够执行许多操作,例如启用被锁定的系统应用、访问桌面、禁用Windows限制等等。如上所述,我的主要目的是禁用Solidcore,并在系统上运行任何windows的可执行性文件。

组策略编辑器提供了运行/锁定Windows软件的选项。设置如下:

Group Policy editor-->User Configuration > Administrative Templates > System

在右选项框有一个“不要运行特定windows应用程序”的选项。点击它:

Edit-->Select Enabled-->Click on show list of disallowed applications--> 然后添加你想要锁定的应用名称(这里我填的是solidcore)。然后点击"Ok"。

为了使更改生效,我重启了系统。同样,你也可以使用该方法在windows上运行一些其他的软件(例如恶意软件等)。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置

前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学...

3294
来自专栏.NET后端开发

ADO.NET入门教程(五) 细说数据库连接池

题外话 通过前几章的学习,不知道大家对ADO.NET有一定的了解了没有。撇开文章质量不讲,必须肯定的是,我是用心去写每一篇文章的。无论是是在排版上,还是在内容选...

4249
来自专栏刘明的小酒馆

事务与一致性:刚性or柔性?

在高并发场景下,分布式储存和处理已经是常用手段。但分布式的结构势必会带来“不一致”的麻烦问题,而事务正是解决这一问题而引入的一种概念和方案。我们常把它当做并发操...

91010
来自专栏生信技能树

史上最全​Git使用手册

Git使用手册 目录: Git是什么 基本概念 Git的诞生 Git的安装与配置 创建版本库 Git操作略览 远程仓库:git的杀招 分支管理 便签管理 使用g...

3455
来自专栏容器云生态

redis超时原因系统性排查

1.计算延迟时间: 使用–latency参数  以下参数表示平均超时时间0.03ms。 redis-cli --latency -h 127.0.0.1 ...

2.1K6
来自专栏Java架构师历程

ZooKeeper基本原理

ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

1735
来自专栏linux运维学习

linux学习第六十篇:Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记Admin密码如何做

Linux监控平台介绍 常见开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等等 cacti、smokeping...

4034
来自专栏安全领域

使用JavaScript开发物联网设备也会非常安全

本文将引导你完成一个练习,向你展示如何在 IoTivity 安全框架上使用 Java 对 OCF 设备进行快速原型设计。

49910
来自专栏人人都是极客

Linux 的启动流程

本篇的重点是讲解设备和驱动的启动流程,设备和驱动的流程是整个内核启动的核心,也是工作中最常面对的问题。出于知识点的系统性考虑,在进入主题之前我们先看下整个 Li...

1792
来自专栏邹立巍的专栏

Linux 的进程间通信:管道

管道,英文为 pipe 。这是一个我们在学习 Linux 命令行的时候就会引入的一个很重要的概念。管道是UNIX 环境中历史最悠久的进程间通信方式。本文主要说明...

9472

扫码关注云+社区

领取腾讯云代金券