别太小看“静态免杀“

0x01 简述

免杀总体来说可分为两种,静态免杀/动态免杀。往往来说,我们更注重于在内部代码层面实现一些免杀技巧,但在有些时候,动态免杀+静态免杀以"打组合拳"的方式效果往往会更出人所料。

当我们的程序生成后,杀毒软件会对整个文件做一个扫描(反编译、行为监控等)当匹配到其病毒特征库时,则会kill掉我们的程序,静态免杀则是让杀软“摸不着头脑”,匹配不到其的特征库。以下将会介绍几种方法来实现静态免杀。

 

一.花指令

花指令(junk code)是一种专门用来迷惑反编译器的指令片段,这些指令片段不会影响程序的原有功能,但会使得反汇编器的结果出现偏差,从而使破解者分析失败。比较经典的花指令技巧有利用 jmpcallret指令改变执行流,从而使得反汇编器解析出与运行时不相符的错误代码。

直接上代码,在vs中使用内敛汇编的方式将花指令插入其中:

__asm
    {
      PUSH EAX
      XOR EAX, EAX
      JZ True1
      __asm __emit(0xca)
      __asm __emit(0x55)
      __asm __emit(0x78)
      __asm __emit(0x2c)
      __asm __emit(0x02)
      __asm __emit(0x9b)
      __asm __emit(0x6e)
      __asm __emit(0xe9)
      __asm __emit(0x3d)
      __asm __emit(0x6f)
      True1:
      POP EAX
    }
    
  __asm
    {
      PUSH EAX
      XOR EAX, EAX
      JZ True2
      __asm __emit(0xd5)
      __asm __emit(0xb6)
      __asm __emit(0x43)
      __asm __emit(0x87)
      __asm __emit(0xde)
      __asm __emit(0x37)
      __asm __emit(0x24)
      __asm __emit(0xb0)
      __asm __emit(0x3d)
      __asm __emit(0xee)
      True2:
      POP EAX
    }  

在这段代码中,首先使用PUSH EAX和POP EAX指令保存和恢复EAX寄存器的值。XOR EAX, EAX指令将EAX寄存器的值设置为0,然后使用JZ True1指令跳转到True1标签。在这两个指令之间,可以看到一系列__asm __emit指令,它们将一些随机字节插入到代码中。这些字节对程序的功能没有影响,但会影响反编译之后的分析过程。

二.数字签名

当我们为一个exe添加官方的数字签名后,也会规避一些杀软的检测。

工具:sigthief.py(可私信获取),以企鹅为例子

python .\sigthief.py -i 企鹅.exe -t target.exe -o
demo.exe

输出后的demo.exe会带上企鹅的签名:

1703581533_658a975d98412169faec4.png!small?1703581534372

三.资源混淆

听名字就可以很好的理解,将一个安全的程序于我们远控程序进行资源整合并输出资源混合后的文件,这样也能规避杀软的检测。

工具:Restorator

将我们编译出来的exe与正常文件进行合并资源,将正常文件的特征合并到远控exe中。以某录屏软件进行演示

1703581568_658a97804e7ffb45e7a3a.png!small

这里可以看到我们的Project12.exe带上了正常软件的图标、版本、Manifest

1703581601_658a97a12493abd099959.png!small?1703581602723

四.加壳

加壳,意思是加个保护壳,具体含义是利用特殊的算法,对可执行文件里的资源进行压缩,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。它们附加在原程序上通过加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。

这里直接采用VM来进行加壳:

将我们编译后的exe直接拖入该软件,以最基础的保护作为演示,左上角进行编译后,则会输出加壳后的exe

1703581683_658a97f30ecb3f800e3d3.png!small?1703581683778

拖入ida后会弹出如下警告:

1703581742_658a982e35cfdf9030aed.png!small?1703581743122

代表成功加壳。

以上四种就是常见的静态免杀,当然还有其他的方式例如分离shellcode、白加黑等等。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

 1.学习路线图 

 攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。 

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。 

 还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CCAA认证人员注册全国统一考试开始报名

备受瞩目的CCAA(中国认证认可协会)认证人员注册全国统一考试即将拉开报名序幕。 考试基本信息: 1)报名网站网址:https://kaoshi.ccaa.org.cn/ 2)考试报名系统自2024年6月17日12:00时起面向考生正式开通&…

Apache DolphinScheduler查看版本信息

我找了半天,没有看到版本在哪里。然后我看配置,他要连接数据库,我去他存储数据库的表里面,看到了相关的版本信息。 cd /home/dolphinscheduler/dolphinscheduler/bin/env dolphinscheduler找到了里面的密码 版本是3.1.3

【C++】模板初级

【C】模板初级 泛型编程函数模板函数模板的概念函数模板格式函数模板的原理函数模板的实例化模板参数的匹配原则 类模板类模板格式类模板的实例化 泛型编程 当我们之前了解过函数重载后可以知道,一个程序可以出现同名函数,但参数类型不同。 //整型 voi…

网络安全等级保护制度详解,一文掌握核心要点!

一、等级保护制度发展情况 等级保护制度的法律依据 《计算机信息系统安全保护条例》(1994年General Office of the State Council第147号令) 公安部主管全国计算机信息系统安全保护工作。 计算机信息系统实行安全等级保护,安全等级的划分…

Python+Selenium自动化测试环境搭建步骤(selenium环境搭建)

一、自动化简介 1.自动化测试概念: 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程 2.自动化测试分类: 一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一段程序来测试一个软件的功…

数据预处理之基于统计的(3σ,Z分数,Boxplot箱线图)异常值检测#matlab

基于统计的异常值检测 1.异常值的含义 异常值是指在数据集中偏离大部分数据的数据,使人怀疑这些数据的偏离并非由随机因素产生,而是产生于完全不同的机制。 异常挖掘(outlier mining)问题由两个子问题构成:(1)如何度量异常。(2)如何有效发…

我一直看不明白:“C++会被java/python等这些语言替代”

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 有些程序,是既可以…

【QT5】<重点> IMX6ULL开发板运行QT

目录 1. 安装交叉编译器 2. 命令行交叉编译QT项目 3. 运行该可执行程序 4. 开发板上运行UDP程序与Ubuntu通信 1. 安装交叉编译器 第一步:进入正点原子论坛找到IMX6ULL开发板的资料,下载“开发工具”,将“交叉编译工具”中的fsl-imx-x11-…

Spring中的IOC

IOC(Inversion of Control,控制反转)是Spring框架核心概念之一。它是一种设计原则,用来实现对象的松耦合和依赖管理。在传统的编程中,对象负责创建或查找其依赖对象,而在IOC模式下,这些职责被移…

el-date-picker 有效时间精确到时分秒 且给有效时间添加标记

el-date-picker实现有效日期做标记且时分秒限制选择范围 代码如下&#xff1a; // html部分 <el-date-pickerv-model"dateTime"type"datetime":picker-options"pickerOptions" > </el-date-picker>// js部分 /*** 回放有效日期开始时…

WPF/C#:如何将数据分组显示

WPF Samples中的示例 在WPF Samples中有一个关于Grouping的Demo。 该Demo结构如下&#xff1a; MainWindow.xaml如下&#xff1a; <Window x:Class"Grouping.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x&q…

文心一言 VS 讯飞星火 VS chatgpt (283)-- 算法导论21.2 1题

一、使用链表表示和加权合并启发式策略&#xff0c;写出 MAKE-SET、FIND-SET 和 UNION 操作的伪代码。并指定你在集合对象和表对象中所使用的属性。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 在并查集&#xff08;Disjoint Sets&#xff09;或集合合并&…

6.7.29 基于卷积神经网络的乳腺良恶性图像分类

计算机化乳腺癌诊断系统在早期癌症诊断中发挥着重要作用。为此&#xff0c;应用深度学习&#xff0c;利用卷积神经网络 (CNN) 对基于小型乳房 X 线图像分析协会 (mini-MIAS) 数据库的乳房 X 线图像中的异常&#xff08;良性或恶性&#xff09;进行分类。观察准确度、灵敏度和特…

天锐绿盾数据防泄密软件有哪些功能

天锐绿盾数据防泄密软件的功能丰富而全面&#xff0c;旨在从源头上保障企业数据的安全。以下是对其主要功能的归纳和介绍&#xff1a; www.drhchina.com 一、文件加密模块 透明加密&#xff1a;在不影响用户工作流程的前提下&#xff0c;对需要保护的文件进行自动加密处理。文…

unity 打包PC安装包中常见文件的功能

目录 前言 一、打包好的文件 二、常用文件 1.文件夹XXX_Data 2.文件夹MonoBleedingEdge 3.文件夹XXX_Data内部 三、文件的应用 1.如果你替换了一个图片 2.如果你新增了或减少了图片和资源 3.场景中有变动 4.resources代码加载的资源改了 5.如果你代码替换了 四、作…

大模型时代:消失的飞轮

在移动互联网时代&#xff0c;“数据飞轮”效应深入人心&#xff1a;场景催生应用&#xff0c;应用生成数据&#xff0c;继而这些数据反馈优化算法&#xff0c;再反哺应用本身&#xff0c;进入迭代优化的良性循环。 随着生成式人工智能的兴起&#xff0c;许多人认为这一飞轮效…

springboot原理篇-bean管理

springboot原理篇-bean管理&#xff08;二&#xff09; 我们今天主要学习IOC容器中Bean的其他使用细节&#xff0c;主要学习以下三方面&#xff1a; 如何从IOC容器中手动的获取到bean对象bean的作用域配置管理第三方的bean对象 一、获取Bean 了解即可&#xff0c;默认情况下…

基于Python的花卉识别分类系统【W9】

简介&#xff1a; 基于Python的花卉识别分类系统利用深度学习和计算机视觉技术&#xff0c;能够准确识别和分类各种花卉&#xff0c;如玫瑰、郁金香和向日葵等。这种系统不仅有助于植物学研究和园艺管理&#xff0c;还在生态保护、智能农业和市场销售等领域展现广泛应用前景。随…

可视化大屏搞这样,是对前端开发尊严的巨大挑战。

现在可视化大屏不搞点炫酷的效果和3D交互&#xff0c;出门都不好意思给别人打招呼&#xff0c;作为前端领域的老司机&#xff0c;我感觉尊严受到了巨大挑战&#xff0c;必须迎难而上&#xff0c;hold住他们&#xff0c;老铁们你们觉得呢&#xff1f;

构建高效API接口:五个关键技术要点解析

构建高效API接口是现代软件开发中至关重要的一环。以下是五个关键技术要点&#xff0c;它们可以帮助开发者设计、实现、和维护高性能的API接口&#xff1a; 1. RESTful设计原则和HTTP协议最佳实践 资源定位与可寻址性&#xff1a;为每个资源定义清晰的URL&#xff0c;使用HTT…