Shellter理论知识|首次启动和自动模式+防病毒测试

Shellter理论知识|首次启动和自动模式+防病毒测试

本系列文章讨论如何使用 Shellter 实用程序,该实用程序用于将可执行代码打包到选定的可执行文件中。如有必要,可以保留原始文件的功能。如果防病毒保护可用,此方法允许您运行任意代码以供执行。

Shellter介绍

一句话:杀毒软件绕过工具,免杀工具.

Shellter 是一个动态 shellcode 注入工具,又名动态 PE 感染器。它可用于将 shellcode 注入本机 Windows 应用程序(目前仅限 32 位应用程序)。shellcode 可以是你的东西,也可以是通过框架生成的东西,比如 Metasploit。

Shellter 利用 PE 文件的原始结构并且不应用任何修改,例如更改部分中的内存访问权限(除非用户想要),添加具有 RWE 访问权限的额外部分,以及在 AV 下看起来不可靠的任何内容扫描。

让我们从理论开始

让我们记住市场上有哪些类型的防病毒软件。杀毒软件的网络版和主机版进行分类,分类分为签名类和行为类:根据威胁检测算法的运行方式。防病毒产品可能还包括针对其他恶意软件的保护,或者它可能是“纯粹的”防病毒软件(后者现在很少见)。防病毒软件也根据其运行所依据的操作系统进行划分。在我们的系列文章中,我们只考虑 Windows 系统的本地防病毒软件。

网络防病毒和基于主机的防病毒的划分很直观,但让我们简要回顾一下关于它们各自的理论。

网络杀毒

网络防病毒软件不会详细分析加密流量,但会将其标记为潜在不安全并通知网络管理员有关可疑活动的信息。此外,某些程序会生成清晰的网络行为模式(开放端口、传入和传出流量的百分比、列入黑名单的控制机器的地址),这有助于网络防病毒软件对恶意活动做出假设。网络防病毒软件安装在用户无法访问的网段中,并且最常使用用户流量的副本。对此类防病毒软件的攻击极其困难且不太可能,但有可能(例如,如果防病毒软件使用 XML 命令解析器,您可以尝试实施“十亿笑声攻击”(1))。如果有兴趣,请在评论中写下它,

主机防病毒

本地安装的防病毒软件不仅可以查看网络活动,还可以查看应用程序的本地行为(无论是尝试安装覆盖保护还是访问系统数据、从内存中卸载自身)。一方面,这简化了分析,但另一方面,这样的防病毒软件可能成为直接对主机进行攻击的目标。

签名和行为算法

对文件签名的分析需要更少的软件资源并且更容易理解,但不再使用纯粹的签名分析:恶意软件最轻微的修改都需要生成新的签名。签名数据库膨胀,检查执行缓慢,消耗越来越多的资源……行为防病毒尝试在沙箱中运行文件并了解其活动是否对系统有害。对我们来说很重要的一点:这种分析的时间是有限的。

自然地,现代防病毒软件在某种程度上结合了这两种方法 – 分析了模式和行为。例如,请考虑制造商网站 (2) 上对 Windows Defender 的描述。杀毒结合了行为分析、沙盒启动、熟悉指令序列的代码分析、网络活动分析……内置保护难以绕过。

绕过杀毒软件的实际实现

要进行绕过,我们需要:

  1. 用于注射的恶意软件。让我们从使用 shellter 提供的反向 shell 和 msfvenom 生成的payloads开始。您可以使用其他选项,但让我们专注于手头的内容。
  2. 一台运行 shellter 的机器实用程序旨在在 Windows 下运行,但它也可以在 Kali Linux 中从 Wine 运行。分配给 shellter 的资源越多越好。本文假设使用 Kali Linux 和 Wine。
  3. 我们将向其中注入恶意软件的无害文件例如 dropbox 安装程序(WinRAR 安装程序也经常使用,所以在实际测试中不应使用这些程序)。值得在测试之前使用防病毒程序检查此文件,以确保没有误报。
  4. 您有权在其上运行测试的防病毒计算机安装了防病毒软件的虚拟机就可以了。这是一个可选组件:另一个是 Virustotal 在线验证服务。

我们还假设 shell 中使用的端口对防火墙中的连接开放,或者用户将手动允许 dropbox 安装程序这样做。如果未安装 shellter(我们使用的是免费版本 7.2,而不是 Shellter Pro),请使用以下命令安装该实用程序(第三个将安装 wine): 

apt-get update
apt-get install shellter
apt-get install wine

以 root 身份运行。

自动模式下的 Shellter

Shellter理论知识|首次启动和自动模式+防病毒测试

让我们看看 shellter 在“自动”模式下是如何工作的。程序界面引发对黑绿显示器时代的强烈怀旧情绪

这项工作是自动化的,直到对这个过程完全失去兴趣。我们指明了将插入恶意代码的文件(完整路径)。Shellter 检查文件是否适合嵌入。

主要条件:文件不得打包(压缩)。我们的安装程序文件很好。

Shellter理论知识|首次启动和自动模式+防病毒测试

然后,在一分钟内(在 Wine 中,没有它 – 半分钟),shellter 跟踪组装指令,试图找到潜在的注入点。该程序将原始文件保存在一个临时目录中。但是,如果文件名已被占用,则会向控制台抛出一条错误消息并继续。

重要的!您分配给脱壳机的处理能力越多,它拆卸的速度就越快,因此,它就越有可能找到合适的注射位置。此外,应该记住防病毒程序执行类似的操作:它跟踪指令,分析它们的调用结果。合乎逻辑的是,我们检查文件的速度越快,shellter 就越有可能选择防病毒程序不易检测到的注入位置。


配置程序功能的保留

我们指出是否有必要保留程序的功能。这减少了找到注入点的机会,但显着降低了检测风险(在沙箱中运行将显示“正常”程序活动)。让我们选择保留原始程序的功能(是 – 是)。此外,如有必要,此选项可用于将多个“加载”嵌入到一个文件中。

Shellter理论知识|首次启动和自动模式+防病毒测试

选择嵌入式引导

然后 shellter 会提示您指定我们正在注入的payload类型。基本交付包含多个选项,其中之一是需要的。很明显,这种类型的工作并不总是使用,因为防病毒开发人员也知道 shell 提供的payload。请注意:首先我们从列表(L-listed)中选择我们需要一个payload,然后才选择它在列表中的编号。很多人经常误会这里。

Shellter理论知识|首次启动和自动模式+防病毒测试

准备好!该文件已被修改并位于我们最初放置它的位置。如果我们比较新文件和原始文件的哈希值,我们会发现它们是不同的。不幸的是,shellter 不匹配镇流器payload以复制 md5-hash,这并不总是可能的。因此,建议选择一个防病毒软件无法检查的文件是否符合熟悉的检查量(例如,不是 Windows 系统文件)。 

防病毒绕过检查

为了检查我们的文件绕过防病毒保护的能力,我们将把它上传到virustotal 在线检查站点 (3)。

Shellter理论知识|首次启动和自动模式+防病毒测试

嗯,自动设置的结果并不令人印象深刻。大多数已知的防病毒软件都在我们的文件中检测到木马。另一方面,42 个防病毒软件未能找到问题所在。对于第一次体验,尤其是在自动模式下,这个还不错。

在下一篇文章中,我们将查看 shellter 工作原理的“手动”版本,进行更改以改进结果,并将其与检查 shellter 的操作是否得到改进进行比较。

kali linux下shellter安装使用方法

安装:

dpkg --add-architecture i386
apt update && apt install wine32
shellter

使用

shellter

shellter自动化免杀测试

第一次测试

测试日期:2021年11月9日

自动化注入生成

Shellter理论知识|首次启动和自动模式+防病毒测试

vt查杀检测:

有23个杀毒软件检测出来为病毒

Shellter理论知识|首次启动和自动模式+防病毒测试

45个杀毒软件未检测出来病毒.

Shellter理论知识|首次启动和自动模式+防病毒测试

免杀率为66%.

可过火绒

Shellter理论知识|首次启动和自动模式+防病毒测试

第二次测试

换了一个x86程序进行注入.

Shellter理论知识|首次启动和自动模式+防病毒测试

VT只有11个杀毒软件检测为病毒,免杀率为83.5%.

实际上运行起来可能效果要更差一些.

参考

  1. https://en.wikipedia.org/wiki/Billion_laughs_attack
  2. https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-antivirus/利用-microsoft-cloud-protection-microsoft-defender-antivirus
  3. https://www.virustotal.com/gui/

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。