如何进行免杀

news2024/12/24 20:32:12

0x03 免杀思路总结

环境准备:

火绒(静态)、360、windowsdef(动态) 免杀的最基本思路就是去除其特征,这个特征有可能是特征码,也有可能是行为特征,只要在不修改其 原有功能的情况下,破坏了病毒与木马所固有的特征,一次免杀就能完成。 文件免杀

修改特征码

在讲述修改特征码前,先解释一下啥叫特征码 特征码就是杀软用于判断文件是否带病毒的一段独一无二的代码,这些特征码在不同的杀软的病毒库中 不同。 但总体来说,特征码就是一种只在病毒或木马文件内才有的独一无二的特征,它或是一段字符,或者在 特定位置调用的一个函数。总的来说,如果某个文件具有这个特征码,那杀软就会认为它是病毒。反 之,如果将这些特征码从病毒、木马的文件中去除或破坏掉,那杀软就会认为它是一个正常文件。 更改特征码达到免杀的效果实际上包含两种思想。 一种方法是直接修改特征码,这也是免杀的最初方式,例如在木马病毒中有一句话表明它是木马,只要 将相应地址内的那句话改成别的就可以了,在不影响功能的情况下,可以考虑直接删掉 第二种方法是针对目前推出的校验和查杀技术,原理虽然仍是特征码,但已经不是纯粹意义上特征码的 概念。其方法就是针对杀软匹配的特定区域的校验和进行修改,使得这一区域的校验和改变,从而完成 免杀。也正因此,在定位特征码时,会存在定位了两次却得出不同结果。

花指令免杀

花指令就是一段毫无意义的指令,也称为垃圾指令,花指令对程序的运行和功能没有任何影响,它存在 的唯一目的就是阻止反汇编程序,或者增加反汇编的难度。然而这种操作对杀软的影响也是致命的。 它之所以能影响杀软是因为杀软是靠特征码判断文件是否有毒,然而目前各大安全厂商为了提高杀软的 效率,会将特征码限制在一定偏移量之内,而添加花指令,程序的部分偏移会受到影响,若杀软不能识 别这段花指令,检测特征码的偏移量会整体移一段位置,无法正常检测。 这仅仅是针对第一代扫描技术的方法,不过即使是杀软采用虚拟机分析、校验和扫描或启发式分析,花 指令也会起到一定的作用,针对不同的检测方式,花指令起到的作用也不同,其最根本的思想是扰乱程 序运行顺序,并未破解者设下陷,若花指令可以成功保护软件真正代码不被轻易反汇编,那对于杀软来 说,其检测的也并非木马或病毒的真正内容了。

例:使用msf的encode模块,对shellcode进行编码处理

基于shellcode编码&加密

msfvenom -l encoder 查看工具中具有的编码方式

具体命令:-p payload -e encoder -i encoder的次数 -b 排除那些字符,一般是排除空“xff x00 x0A x0d”

可使用原生编码进行多重编码,注:只有最后一次导出文件,之前的编码都使用-f raw原始数据的形式 通过管道符传递

加壳免杀

软件加壳也可称为软件加密(软件压缩),只是加密的方式与目的不同。 加壳的目的是减少被加壳应用程序的体积,或避免让程序遭到不法分子的破坏与利用。 很多人就会想,如果加壳的话会不会破坏程序,其实并不会,当我们运行这个加壳的程序时,系统首先 会运行程序的“壳”,然后由壳将加密的程序逐步还原到内存中,最后运行程序。 加密后的文件结构已经发生了巨大的变化,原有的特征码已经不知去向,杀软也就自然认为其为一个正 常的文件。 使用市面上的常见/不常见的加壳应用,对上方生成的exe文件进行压缩处理

风险:可能导致无法正常上线

加壳后去特征

kali中编辑器可修改hex数据 

找到对应加壳软件的名称部分,通过修改数据去除特征,(光标上下左右选择)

内存免杀

众所周知CPU不可能为某一款加壳软件特别设计,因此某个软件被加壳后的代码CPU无法读懂,这就要 求在执行外壳代码时,要先将原软件解密,并放到内存中,然后再通知CPU执行,因此杀软可以在这设 立一个关卡对木马和病毒进行检测让其原形毕露,也正因此我们前面讲到的文件免杀在这里统统失效。 于是我们考虑在内存中对抗杀软的查杀,其实思想与文件查杀一样,因为杀软的内存扫描原理与硬盘上 的文件扫描原理一样,都是通过特征码对比,为了制造迷惑性,大多数杀软的内存扫描与文件扫描采用 的特征码不同,就导致一个病毒木马同时拥有两套特征码,需要全部破坏掉才能躲避杀软的查杀,在一 定程度上增加了免杀的难度

行为免杀

杀软目前都有主动防御,对恶意行为进行拦截提示,比如这些行为:

● 注册表操作、添加启动项、添加服务

● 文件写入、读系统文件、删除文件、移动文件

● 杀进程、创建进程

● 注入、劫持等 行为拦截原理 归根结底,恶意行为都是通过API调用来完成的,所调用的API可能是一个,也可能是多个API组合,杀软 通过技术手段拦截这些API调用,然后根据提前设置好的策略来判断是否属于恶意行为,因此我们想要对 因为免杀做出相应的措施需要关注的只有两个关键点:

● API

● 策略(顺序,调用源,参数等等) 常见的行为免杀有如下几种方法

1. 替换API 使用相同功能的API进行替换,由于杀软只会针对一部分API进行拦截,对于API不能做到面面俱到 的拦截,比如未导出API和底层API,所以这种方法还是有效的。

2. 重写API 完全重写系统的API功能,实现自己的对应功能API,对ring3的行为拦截非常有效。

3. 合理更改调用顺序 有时被拦截的行为是通过多个API组合来完成的,所以合理替换顺序,绕过杀软的拦截策略,也可 以绕过行为拦截

4. 绕过调用源 通过调用其他进行功能来完成API的功能,最经典的通过rundll32.exe来完成dll的加载等。 自己编写shellcodeloader

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于C#开发web网页管理系统模板流程-登录界面

前言,首先介绍一下本项目将要实现的功能 (一)登录界面 实现一个不算特别美观的登录窗口,当然这一步跟开发者本身的设计美学相关,像蒟蒻博主就没啥艺术细胞,勉强能用能看就行…… (二&#xff09…

极验3滑块逆向分析

1、底图还原 下 断点&#xff0c;可以分析底图还原逻辑 2、跟W值 var Str_Unicodefunction(str){var unid\\u00;for(let i0,lenstr.length;i<len;i){if(i<len-1){unidstr.charCodeAt(i).toString(16)\\u00;}else if(ilen-1){unidstr.charCodeAt(i).toString(16);}}re…

【数据结构】数组循环队列的实现

队列&#xff08;Queue&#xff09;是一种特殊的线性数据结构&#xff0c;它遵循FIFO&#xff08;First In First Out&#xff0c;先入先出&#xff09;的原则。队列只允许在表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;而在表的后端&#xff08;rear&#…

【408精华知识】提高外部排序速度的三种方式

文章目录 一、败者树二、置换-选择排序三、最佳归并树 一、败者树 还没写完… 二、置换-选择排序 三、最佳归并树 写在后面 这个专栏主要是我在学习408真题的过程中总结的一些笔记&#xff0c;因为我学的也很一般&#xff0c;如果有错误和不足之处&#xff0c;还望大家在评…

HTML的使用(上)

文章目录 前言一、HTML是什么&#xff1f;二、使用内容 &#xff08;1&#xff09;换行标记<br>&#xff08;2&#xff09;加粗标记<b> </b>&#xff08;3&#xff09;段落标记<p> </p>&#xff08;4&#xff09;标题标记<h1>~<h6> …

Autosar架构

蓝框那种叫component&#xff0c;绿框的叫function cluster。 接口 有三种接口&#xff0c;RTE跟SWC之间链接的叫Autosar Interface&#xff0c;RTE跟BSW的Components链接是Standardized Interface&#xff0c;RTE跟BSW的services链接的是Standardized Autosar Interface。 St…

P6397 [COI2008] GLASNICI

题目描述 一条直线上有 &#x1d45b; 个信使&#xff0c;将他们按照从左至右的顺序以 1 至 &#x1d45b; 编号。换句话说&#xff0c;设 &#x1d456; 号信使的的坐标为 &#x1d451;&#x1d456;​&#xff0c;则对于 1≤&#x1d456;<&#x1d45b;&#xff0c; &am…

Vue 中动态与静态处理 Element UI/Element Plus 组件禁用状态样式

目录 一、静态样式修改 - 使用 ::v-deep 穿透组件样式二、选择器的优先级和匹配顺序三、动态添加样式 - 使用 Vue 实例属性&#xff08;非推荐&#xff09;四、区别总结五、应用场景总结 本文主要探讨在 Vue.js 项目中&#xff0c;特别是搭配 Element UI 或 Element Plus 组件库…

多维 HighChart

showHighChart.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><!-- js脚本都是官方的,后两个是highchart脚本 --><script type"text/javascript" src"jquery1.7.1.min.js"&g…

10.nginx模板(开启监控取值页面)

nginx模板(开启监控取值页面) 1.开启监控页面 vim nginx.conflocation /nginx_status {stub_status;} systemctl restart nginx.server网页展示 导入模板&#xff0c;nginx监控模板zbx_nginx_template.xml <?xml version"1.0" encoding"UTF-8"?…

智慧畜牧:RFID技术在现代屠宰场的应用

智慧畜牧&#xff1a;RFID技术在现代屠宰场的应用 RFID猪肉溯源管理解决方案是一种利用无线射频识别&#xff08;Radio Frequency Identification&#xff0c;简称RFID&#xff09;技术来实现猪肉从养殖、屠宰到销售整个供应链过程中的追踪与追溯的现代化管理手段。这一方案通…

微服务部署不迷茫:4大部署模式深度解析,轻松驾驭云原生时代

微服务部署最全详解(4种常见部署模式) 微服务多实例部署 每个微服务都独立部署在自己的运行环境中&#xff0c;这是微服务架构的核心思想。 一般会采用每个主机多个服务实例&#xff0c;如下所示&#xff1a; 这是一种传统的应用部署方法&#xff0c;每个服务实例在一个或多个…

万事通,专精部分领域的多功能 Transformer 智能体

介绍 我们很高兴分享“万事通”(Jack of All Trades&#xff0c;简称 JAT) 项目&#xff0c;该项目旨在朝着通用智能体的方向发展。该项目最初是作为对 Gato (Reed 等&#xff0c;2022 年) 工作的公开复现启动的&#xff0c;Gato 提出训练一种能够执行视觉与语言以及决策任务的…

程序员学CFA——经济学

经济学 需求和供给分析消费者需求分析需求的相关概念需求需求定律需求函数需求曲线消费者剩余 需求弹性需求的自身价格弹性需求的交叉价格弹性需求的收入弹性 替代效应与收入效应替代效应收入效应替代效应和收入效应的综合作用 需求定律的例外 生产商供给分析供给分析的基本概念…

UniGen:用于生成自动驾驶场景的初始智体状态和轨迹的统一建模

24年5月谷歌WayMo论文“UniGen: Unified Modeling of Initial Agent States and Trajectories for Generating Autonomous Driving Scenarios”。 本文介绍 UniGen&#xff0c;一种生成交通场景的新方法&#xff0c;用于通过仿真评估和改进自动驾驶软件。 其方法在一个统一的模…

RabbitMq出现Not management user问题解决

在RabbitMq登录的时候突然弹出如下图&#xff1a; 提示“当前用户不是管理员用户”进入mq控制命令台下&#xff1a; windows版本在mq安装路径下的sbin下进入cmd弹出框&#xff1b; Linux版本没有测试&#xff1b; 输入以下命令&#xff1a; rabbitmqctl list_users 查询当…

python:__new__和__init__

python&#xff1a;__new__和__init__ 1 前言 在Python中&#xff0c;每个对象都有两个特殊的方法&#xff1a;__new__和__init__。这两个方法在对象的创建和初始化过程中起着重要的作用&#xff0c;但它们的功能和用法有所不同。 1.1 功能上的区别 __new__方法是Python中的…

【管理咨询宝藏101】普华永道并购尽调内部培训

【管理咨询宝藏101】普华永道并购尽调内部培训 【格式】PDF版本 【关键词】普华永道、兼并收购、尽职调查 【核心观点】 - 尽职调查的目的&#xff0c;发现潜在的致命缺陷&#xff0c;判断是否继续交易进程&#xff1b;发现潜在的问题&#xff0c;制定交易前后相应的应对措施。…

换个暴露又发一区(IF=10.1)!双样本孟德尔随机化+脂质组学发了高分

孟德尔随机化的热度一直很高&#xff0c;不少想发文的对此肯定又爱又恨。今天我们看的这篇文章就仅用了双样本孟德尔随机化的方法&#xff0c;看似显而易见的关系&#xff0c;竟然结合了脂质组学&#xff0c;立马升华&#xff0c;发表一区&#xff08;IF10.1&#xff09;&#…

ARIMA预测模型介绍

ARIMA&#xff08;Autoregressive Integrated Moving Average&#xff09;模型是一种常用的时间序列分析方法&#xff0c;能够对非平稳时间序列进行建模和预测。本文将详细介绍ARIMA模型的建模步骤&#xff0c;包括数据预处理、模型识别、参数估计和模型检验等环节&#xff0c;…