How to Evade AV with OWASP-ZSC, Part 1

其中可用于创建能够通过防病毒(AV)软件外出时未被发现的shellcode的工具,OWASP-ZSC(ž ERO天小号地狱Ç ODE)可能是最通用的。OWASP-ZSC是OWASP的项目,正在开发中,并具有其他一些此类应用程序中没有的有用功能。在本教程中,我将尝试演示OWASP-ZSC的一些最重要的功能,以及如何使用它们来创建将避开AV软件的Zero-day shellcode。

有关Evading AV的更多信息,请查看;

Shellcode基本上是在将代码注入正在运行的应用程序(如SMB和其他易受攻击的服务和应用程序)时执行的指令。在这些情况下,最经常使用缓冲区溢出。当执行基于堆栈或堆的缓冲区溢出时,shellcode会被注入,并且通常会给攻击者提供一种通过诸如命令shell(因此其名称)来控制目标系统的方式。

每当新的shellcode变得可用时,反病毒软件开发者(如果他们希望保持与该行业的相关性)开发签名或其他方法来检测恶意内容,则有责任。作为黑客/笔试者,我们需要不断地改变我们的shellcode来逃避杀毒软件,保持隐身和有效。OWASP-ZSC是我们可以用来创建,编码和混淆我们的shellcode以防止目标计算机上的防病毒软件检测到的一个工具。

我们来看看如何使用OWASP-ZSC来构建,编码和混淆shellcode。

Step #1 Fire Up Kali

当然,第一步是启动Kali或其他攻击操作系统。OWASP-ZSC是为在Linux,OSX或Windows上运行而开发的,但是我建议你在Linux下运行它,因为在其他两个操作系统下,一些组件不能正常工作。

Step #2 Download OWASP-ZSC

OWASP-ZSC不是内置于Kali中,也不是在Kali存储库中,所以我们需要从github.com下载它。

kali > git clone https://github.com/zscproject/OWASP-ZSC

一旦我们将OWASP-ZSC下载到我们的Kali系统,下一步就是安装它。

导航到OWASP-ZSC的目录。

kali > cd OWASP-ZSC

接下来,我们需要执行安装脚本

kali > ./installer.py

一旦安装程序运行,您应该看到上面的屏幕。请注意,要卸载OWASP-ZSC,只需运行./uninstaller脚本。此外,一旦安装了OWASP-ZSC,只需键入zsc即可启动该脚本。

kali > zsc

Step #3 The OWASP-ZSC Help

在我们开始使用OWASP-ZSC之前,让我们来看看帮助屏幕。使用新的应用程序时总是一个好主意。

zsc > help

在上面的屏幕截图中,您可以看到OWASP-ZSC在其帮助屏幕中显示所有命令。关键的命令是前六个,但是也要注意在使用OWASP-ZSC时有用的后退,清除,帮助,退出命令。

Step #4 Generate Shellcode

现在,让我们生成一些shellcode。从帮助屏幕上我们可以看到,我们只需键入“shellcode”然后“生成”即可。

zsc > shellcode

zsc > generate

OWASP-ZSC使用TAB键来显示任何命令的选项,所以现在我们使用TAB来显示shellcode选项。

如下所示,OWASP_ZSC有三个操作系统shellcode选项,linux_x86,osx_x86和windows_x86。由于我们大多数人都对Windows感兴趣,所以让我们输入;

zsc> windows_x86

现在我们已经选择了目标OS平台的类型来构建一个shellcode,我们可以打TAB来获得更多选项。

OWASP-ZSC现在显示它为windows_x86提供的shellcode选项。请注意,我们不限于这些shellcode。

OWASP-ZSC可以处理任何shellcode,但是这些shellcode默认是内置的。

你可以得到的shellcodes过多在使用shell-storm.org其他地方,包括中exploit-db.com。OWASP-ZSC有一个连接到www.shell-storm.org网站的API,使您可以直接从该网站的数百个shellcode中进行搜索和下载

                                     shell-storm.org

我们使用add_admin shellcode。这个shellcode会 - 正如其名称所暗示的 - 在目标系统上添加另一个管理员用户。

zsc> add_admin

OWASP-ZSC现在会提示我们输入用户名和密码。当然,我输入了我的名字“OTW”和密码“黑客起来”。

在下一步中,我们需要确定是否要编码shellcode。如果您不想编码,请输入“none”。在这里,我选择使用随机XOR(xor_random)进行编码。随机编码会产生不同的shellcode,每次都会使其更容易被AV忽略。

输入我的编码类型后,OWASP-ZSC会提示我是否要输出汇编代码,以及是否要将我的shellcode输出到屏幕上。我说汇编“n”,“y”输出shellcode到我的屏幕。当然,没有必要。

OWASP-ZSC现在提示我们是否要输出到.c文件。我输入了“y”。然后它会提示我输入文件名。你可以调用你的新的shellcode任何合格的文件名,但我输入“mynewshellcode”。

当我创建新的shellcode时,默认情况下将其保存在OWASP = ZSC目录中。让我们来看看。请注意,“mynewshellcode”保存在/ root / OWASP-ZSC。

Step # 6 Obfuscate

混淆的过程是试图隐藏代码的真正目的。这样,法医调查员或事件处理程序就不太可能理解我们的shellcode的目的。

接下来,我们要混淆shellcode。输入“混淆”;

zsc > obfuscate

现在,要查看选项,请按TAB键。它会显示您的混淆选项。这些包括;

  • javascript

  • perl

  • php

  • python

  • ruby

我选择了Perl。有关Perl的更多信息,请参阅我的关于黑客脚本的系列文章。这可能不是攻击Windows系统的最佳选择,因为Perl解释器很少在Windows系统上使用,但我仍然将其用于演示目的。另一方面,AV不太可能在Perl中有这个shellcode的签名,所以它很可能不会被Windows AV检测到,而且对于安装Perl解释器的罕见系统也是有效的。

OWASP-ZSC现在会提示您输入想要混淆的文件名。只需输入我们新的shellcode的完整路径或者您的系统上的任何shellcode。在我的情况下,它是/ root / OWASP-ZSC / mynewshellcode。

然后它会提示你输入你想要使用的编码,我选择了simple_hex。

最后一步是测试你的新的shellcode反对AV软件。如果你知道目标正在使用什么软件,只需对其进行测试(查看我的关于重建的文章以确定目标正在使用的AV)。如果不是的话,你可以在VirusTotal上测试你的新shellcode,看看它是如何逃避大多数商业AV软件的。


转载请注明出处:https://www.freearoot.com/index.php/how-to-evade-av-with-owasp-zsc-part-1.html

文章来源:https://www.hackers-arise.com/single-post/2017/05/03/How-to-Evade-AV-with-OWASP-ZSC-Part-1