木马免杀原理

木马免杀原理##木马免杀原理###一、实验目的1.了解杀毒软件特征码查杀病毒的基本原理2.掌握木马特征码免杀的原理和方法###二、实验环境1.系统环境:Windows环境,XP环境2.软件工具:灰鸽

大家好,又见面了,我是你们的朋友全栈君。

木马免杀原理

一、实验目的

1.了解杀毒软件特征码查杀病毒的基本原理

2.掌握木马特征码免杀的原理和方法

二、实验环境

1.系统环境:Windows环境, XP环境

2.软件工具:灰鸽子,MYCCL,OC_cntrump,AVG杀毒软件,ollydbg

三、实验原理

杀毒软件特征码查杀病毒的工作原理
首先让我们简单了解一下杀毒软件特征码查杀病毒的原理,特征码就是能识别一个程序是病毒的一段不大于64字节的特征串。特征码定位法分为文件从查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定义一段病毒特征码到病毒库中,然后与扫描的文件比对,如果一致则认为是病毒。内存查杀则是载入内存后再比对,行为检测法是新出现的一种定义病毒的方法它利用的原理是某些特定的病毒会有某些特定的行为来做出是否为病毒的判断

四、实验步骤

打开Windows7虚拟机,打开工具软件安装包安装AVG杀毒软件,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

打开灰鸽子远程控制软件,点击配置服务程序,输入本机的IP地址,生成服务器,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

将生成的Server.exe程序复制到桌面,在其右键菜单中选择“Scan with AVG Anti-Spyware”用杀毒软件对其进行扫描,发现杀毒软件报毒,这里选择不采取任何操作,关闭杀毒软件,如图所示:

<span role="heading" aria-level="2">木马免杀原理

对Server.exe做免杀处理,首先需要定位其特征码,MYCCL工具是一款复合特征码定位系统,主要定位木马病毒的特征码工具。打开MYCCL工具,点击文件,打开Server.exe程序,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

将开始位置为00000400,分块个数设置为100,点击生成按钮,在桌面上生成了OUTPUT文件夹,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

桌面生成了OUTPUT文件夹,此文件夹可以看到由木马源程序衍生处的100个程序,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

右键点击OUTPUT文件夹,用杀毒软件对其扫描,扫描完成之后点击Apply all actions按钮处理所有可疑文件,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

处理完所有可疑文件之后,再次打开OUTPUT文件夹,可以发现可疑文件都被删除了只剩下83个程序,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

在MYCCL工具点击二次处理,提示找到一处特征码,程序提示为文件0009A509_00001DB3中发现特征码,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

继续扫描OUTPUT文件夹,没有发现可疑文件,表示其他位置已没有特征码

<span role="heading" aria-level="2">木马免杀原理

在MYCCL工具中,点击特征码区间按钮打开区间设定界面,右键点击打开右键菜单,选择复合定位此处特征码,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

将分块个设置为100,点击生成,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

处理完成之后,点击二次处理,提示已经找到特征码,选择yes继续寻找其他特征码,扫描OUTPUT文件夹,没有发现可疑文件,表示已经没有其他特征码,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

<span role="heading" aria-level="2">木马免杀原理

<span role="heading" aria-level="2">木马免杀原理

完成上述操作之后,点击二次处理,显示特征码分布示意图,并精确定位特征码于0009B9C3处,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

打开OC_cntrump.exe,将Server.exe文件拖入OC_cntrump.exe软件中,输入文件偏移地址0009B9C3(刚刚通过MYCCL定位的地址),将地址转换为内存地址,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

用ollydbg工具对Server.exe进行处理,按下快捷键ctrl+g,输入上一步获取的内存地址,跳转至0049C5C3处,向上滑动滚轮,自动归位到指令首址,内容为MOV EAX,DWORD PTR SS:[EBP-101C](特征码包含在该指令中),如下图所示:

<span role="heading" aria-level="2">木马免杀原理

在程序的最下发找到一段“00”空白区,例如004A21E4双击这一行,在弹出窗口填入特征码段内容MOV EAX,DWORD PTR SS:[EBP-101C],点击“汇编”保存设置。此时会自动跳至下一地址进行编辑,输入JMP 0049C5C7跳转到代码“MOV EAX,DWORD PTR SS:[EBP-101C]”的下一个地址,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

<span role="heading" aria-level="2">木马免杀原理

返回到0049C5C1处,右键点击代码,选择汇编,写入跳转指令JMP 004A21E4,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

右键点击空白处,依此选择“复制到可执行文件”-“所有修改”-“全部复制”,在弹出界面空白处点击右键,选择“保存文件”,文件名称为“Server2.exe”,退出ollydbg程序,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

<span role="heading" aria-level="2">木马免杀原理

在桌面右键Server2.exe进行扫描,发现杀毒软件没有报毒,说明特征码免杀成功,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

在Windows7虚拟机启动灰鸽子控制软件,将免杀之后的Server2.exe挂马到网页上,在从XP虚拟机访问http://192.168.70.133,访问成功后,返回到Windows7虚拟机发现上线主机出现,说明免杀木马安装成功并能正常运行,如下图所示:

<span role="heading" aria-level="2">木马免杀原理

五、修改特征码的方法

方法一:直接修改特征码的十六进制法

  • 修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制

  • 适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能否正常使用

方法二:修改字符串大小写法

  • 修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了

  • 适用范围:特征码所对应的内容必需是字符串,否则不能成功.

方法三:等价替换法

  • 修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令

  • 适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等

方法四:指令顺序调换法

  • 修改方法:把具有特征码的代码顺序互换一下.

  • 适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行

方法五:通用跳转法

  • 修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.

  • 适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154991.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • EasyBoot用户名注册码

    EasyBoot用户名注册码用户名:中华人民共和国注册码:2898-5448-5603-BB2D

    2022年7月4日
    21
  • 如何实现分布式缓存_分布式数据库缓存

    如何实现分布式缓存_分布式数据库缓存本文转载自https://msdn.microsoft.com/zh-cn/library/ff384253.aspx,主要内容是对msdn中对AppFabric分布式缓存的介绍的整合以及一些自己的理解。AppFabric是什么  AppFabric是微软提供的可以集成到Web应用程序和桌面应用程序的分布式缓存。其原名为Velocity,后更名为AppFabric。AppFabric能够提高

    2022年10月16日
    2
  • Mac里配置maven环境变量

    Mac里配置maven环境变量从windows转IOS还是有点难度的,就如环境变量来说吧,整整配置了一天啊。说实话网上教程很多,也写的很全,但不是每个人遇到的情况都一样,所以就有我这样的情况出现了,按照网上的教程配了好久,一直不好使。现在我就记录下来,避免以后忘记了。。。先说明下我的问题,我是在fishshell下编辑的profile文件,就是编辑完保存后就会一直报错,不是文件里面“=”不支持,就是git命令不好…

    2022年6月18日
    40
  • Py2exe_py import

    Py2exe_py import转载自:http://www.cnblogs.com/jans2002/archive/2006/09/30/519393.html一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkin

    2022年9月10日
    3
  • 通达OA 工作流执行出现的异常现象处理(图文)

    通达OA 工作流执行出现的异常现象处理(图文)一个朋友用的工作流,突然说这里面多了很多人不应该看到这个流程的,就是在查询工作时,最上面多了一个“查阅信息”项,然后最下面多了很多人查询的记录。这个项目是从哪里来的呢?普通的流程倒也无所谓了,而有些流程如发文、任职等还是需要保密的,这样让大家查阅肯定是不行的。一开始以为是使用了工作流的转存文件柜的功能,实验了一下,这样转存后并不会在流程里关联查看到查阅信息。又实验了一下转发布公告,同样不是。最后咨

    2022年6月23日
    38
  • docker容器端口冲突_docker web管理工具

    docker容器端口冲突_docker web管理工具COMMAND_FAILED:’/sbin/iptables-tnat-A Docker -ptcp-d0/0–dport8111-jDNAT–to-destination172.17.0.6:8111!-idocker0’failed:iptables:Nochain/target/matchbythatname.pk

    2022年8月31日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号