
此外,如果编译恶意可执行文件并通过运行键执行的话,只需用到很少的字符,却能达到最大的效果 。因此,尽管与其他系统防御机制相比,字符限制是独特的,但其作用是微不足道的 。
特殊字符的行为运行键的另一个特性是,特殊字符可以改变被调度命令的行为,尤其是感叹号(!)和星号/通配符(*) 。在默认情况下,运行键在执行后会自我删除——无论任务的执行是否成功 。这两个特殊字符可以用来改变这一行为 。
当您将来处理事件响应时,如果看到一个感叹号,说明很可能遇到了一个运行键:它将持续存在,直到运行完指定的命令 。如果由于某种原因,这个邪恶的命令没有运行,感叹号能够确保它不会删除自己,直到它运行成功为止 。

我们可以通过在安全模式下引导计算机来消除运行键的前缀感叹号 。为了确保无论启动模式如何都能执行运行键,攻击者可以利用星号/通配符强制命令运行 。

默认情况下,运行键被配置为在运行后自行擦除,这意味着除非您仔细检查日志记录,否则这些恶意活动很可能会被忽视 。
围猎运行键

这是您现在的表情吗?反正这是我第一次遇到运行键时的表情 。说实话,这种表情一直持续至今 。
虽然运行键可能看起来很复杂和晦涩,但我向你保证它们并不复杂 。它们非常引用检测和监控,而且当攻击者操纵它们的值时,它们会在SIEM中显示得非常清楚,这一点会在下面看到 。
寻找运行键有许多地方可以部署恶意的运行键 。我们只是要关注前四个位置,但如果你阅读一些红队的文档,就会发现还有更多的注册表位置可以实现运行键的持久性 。
总之,在Windows注册表中,只需在HKey Local Machine和Current User目录下寻找,只需越过几个目录,就能找到Run和RunOnce 。
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
【建议收藏 打开注册表命令】"HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
"HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
目录在这里很重要,因为运行键的行为取决于它所在的注册表位置:
如果被写入到HKLM:\的话,这意味着这是作为一个高权限用户(很可能是管理员)或SYSTEM写入的 。
写在这里的运行键可以在机器启动时执行 。
如果被写入到HKCU:\中的话,这意味着这只是作为一个普通用户写入的 。
写在这里的运行键只有在用户登录时才会执行 。
如果被写入到\RunOnce的话,它将在执行后被删除 。
如果被写入到\Run的话,它在执行后并不会被删除 。
这些都会因为我们已经讨论过的特殊字符行为而变得愈加复杂 。
运行键在现实生活中是什么样子的?在现实生活中,我们必须从注册表过滤掉一些噪音后,才能看到运行键的内容 。下面我们举例说明,第一个例子是没有经过PowerShell的过滤,第二个例子则通过PowerShell进行了相应的过滤 。
看看这一团糟 。这到底是什么?我们根本就不需要红框中的东西,那些只是噪音 。事后看,我们知道这里表示“HKLM”驱动器和“Run”ChildName,但是,乍一看,的确是一言难尽……
推荐阅读
- 不建议购买哪吒的原因
- qq远程控制在哪里打开
- 怎么更换apple
- 蓝牙怎么传软件给对方手机
- 微信如何设置壁纸
- 微信账号怎么注销
- 怎么裁剪音乐
- 抖音背景怎么弄成黑色
- 腾讯会议怎么确定自己关麦
- 怎么保存qq群头像
