【建议收藏】Windows注册表运行键安全攻防指南

本文深入探讨了Windows注册表中的运行键,解释了其作为开机运行机制的安全风险,以及如何检测和清除恶意运行键。文章指出,虽然攻击者有时利用运行键进行权限维持,但这一领域在安全讨论中相对较少。文章介绍了运行键的字符限制、特殊字符行为,提供了检测和消除恶意运行键的方法,强调了了解正常环境的重要性,以提高网络防御能力。
摘要由CSDN通过智能技术生成

Windows注册表是一个庞大而复杂的话题,因此,我们根本不可能通过一篇文章讲清楚。然而,从安全的角度来看,一个特别值得关注的领域是注册表运行键。在这篇文章中,我们将探讨谁在使用运行键,如何发现该键的滥用情况,以及如何根除系统中的恶意运行键。

运行键简介

什么是注册表运行键?运行键是注册表的一种开机运行机制:当用户登录或机器启动时,在Windows系统上执行一些程序。

由于运行键很容易引发安全问题,所以,它自然会成为攻击者的研究对象。例如,Fancy Bear(也被称为APT28)、TA456和Group 123都喜欢用运行键来实现对被攻击网络的权限维持。同时,运行键还可以包含各种形式的恶意内容——从简单的可执行文件到充满宏代码的电子表格。

MITRE ATT&CK将这种特殊的权限维持战术记为子技术T1547.001。在入侵活动中,虽然这种技术并不常见,然而它却可以实现权限维持——因此,我们更有理由进一步探索这种“默默无闻”的技术。
在这里插入图片描述
虽然高级攻击者偶尔会利用运行键,但我发现,关于这种机制的探讨却非常少见。实际上,之所以很少有文章讨论这种注册表功能,并不是因为整个信息安全社区的技术差距。相反,运行键是Windows注册表“配置数据库”的一个不太引人注目的可执行组件。这意味着与更强大、更知名的攻击技术和操作系统组件相比,它们往往没有得到同等程度的关注。然而,我最近在信息安全社交圈中看到了下面的讨论:
在这里插入图片描述
在我们介绍如何检测恶意运行键之前,让我们先来简单聊一下Windows注册表。

Windows注册表

Windows注册表是一个迷宫般的系统。从表面上看,它是一个集中式数据库,用于存储与用户和机器设置有关的信息。不过现实情况却是,它更像是一个由古怪和奇妙的功能组成的系统;尽管这些功能具有破坏性的潜力,但是,微软对这些功能的说明并不详尽。

我可以花几个小时的时间,来讲述关于Windows注册表的不一致性和反复无常。同时,试图了解其潜力的限制和参数确实会令人抓狂。但是,注册表的杂乱无章的特性,貌似对攻击者特别有利,因为这便于藏匿其权限维护机制,并在网络外潜伏,直到蓝队转移视线。

通常情况下,要想区分windows注册表中哪些是良性的,哪些是恶性的,通常是不可能的,特别是在安全事件发生时。

运行键

我希望到目前为止,我已经讲清楚了驯服注册表是多么的困难。更糟糕的是,微软对运行键的功能的介绍,也是少的令人发指,因为他们只用了六段话来描述运行键。

运行键存在于注册表中。它们是可配置的,当用户登录或开机时,允许一个程序执行。“但是等一下!”,我听到你愤怒地喊道,“Windows已经有一个任务调度器,这就是你安排任务的方式!!!”

不过,与Windows的任务调度器相比,运行键还是有一些重要的区别的,或者说它的功能更加有限。
在这里插入图片描述
与Windows任务调度器相比,注册表运行键具有下列特点:

字符限制

运行键只能存储少于280个字符的命令。因此,攻击者的one-liner命令的字符数不能超过这个限制。我希望微软并不是想以此作为一种底层的防御机制,因为脚本小子的许多反向shell的长度都少于50个字符。

在这里插入图片描述
此外,如果编译恶意可执行文件并通过运行键执行的话,只需用到很少的字符,却能达到最大的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值