Skip to main content

章节15:安全控制突破与防御规避

应用程序白名单

无论是试图获得初始 Beacon 会话,还是对目标用户与主机进行后渗透操作,应用程序白名单作为一项安全控制机制,会阻止我们的行动。接下来,我们来探讨 AppLocker 的概念,与其绕过技术。 ...

约束语言模式

背景 约束语言模式,即 CLM,是 AppLocker 中的一种,如果我们对脚本类型文件启用了 AppLocker 规则,那么在运行 PowerShell 的时候便是约束语言模式。当 CLM ...

杀毒软件与EDR原理

背景 如今,渗透测试人员和红队操作员在红队行动中面临着重大挑战,因为杀毒软件和 EDR (终端检测与响应) 等安全产品会阻止许多载荷与工具的执行。在本章节中,我们将讨论攻击者用来规避检测的一些...

反病毒扫描接口

在 Windows 主机上,我们可以通过执行 exe 文件、加载恶意 dll 等行为获得 Beacon 会话,此外,还可以通过一些脚本语言达到相同目的,例如使用 PowerShell IEX 命...

Windows事件追踪

Windows 事件追踪器 (ETW) 提供了一种追踪和记录用户模式应用程序和内核模式驱动程序引发的事件的机制。ETW 最初是为了调试和性能监控目的而引入的,但现在它可以用于检视 IoC,例如内...

父进程欺骗

父进程欺骗是一种允许攻击者使用任意父进程启动程序的技术,这有助于使攻击者的程序看起来是由另一个进程生成的,有助于规避基于父子进程关系的检测,尤其是当我们的 Beacon 在非常规的进程下运行,进...

代码注入与进程操纵

代码注入是一项恶意软件的常见技术,将恶意代码,如 shellcode,乃至 PE 文件,输入到目标进程,实现提高稳定性以及寄居在看起来良性的进程之中以规避检测。 代码注入的方法有很多,有着各自...

反射式加载与膨胀式加载

CobaltStrike 的 Beacon,实际上是一个 DLL。Shellcode 形式的 Beacon,是补丁后的 DLL 文件。通过巧妙的补丁,Beacon 可以实现像 Shellcode...

用户态Hooking介绍

Hook,即钩子,在网络安全用语中,指的是拦截并且修改特定的 API 执行流程,通常用于 Debugging,逆向工程,游戏作弊,检测恶意软件行为。API Hook 将原有的 API 替换为自定...

绕过用户态Hooking

在上个小节,我们讨论了 EDR 在用户态设置 Hook 的原理,那么相应地,我们可以根据这原理寻找间隙,实现对用户态 Hook 的绕过。截至目前,已经有多种方法绕过 Hook。不过,Hook 并...

调用syscall实现用户态Hook绕过

在上个小节,我们主要是通过对 ntdll 模块进行覆盖或者补丁来移除 hook 实现用户态 hook 的绕过。但是这些方法涉及到对 ntdll 的纂改,以及对内存权限的修改,具有一定的风险。实际...

搭建 EDR 测试环境

有效的 EDR 测试环境对于我们检验自己所写载荷的规避性能十分重要。可惜的是,EDR 几乎都不对个人用户开放,而且通常都有着最低设备数量要求,价格也不菲。除了在公司里申请一个配置了 EDR 的测...

面试专题