木马免杀原理

木马免杀原理##木马免杀原理###一、实验目的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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • svn服务端安装使用教程_ug安装教程

    svn服务端安装使用教程_ug安装教程直接上干货第一步:首先要下载SVN,记住是服务端哦,客户端的安装请查看:https://blog.csdn.net/u012974916/article/details/116002250下载地址:https://www.visualsvn.com/server/download/,根据系统选择对应的版本。第二步:双击安装程序VisualSVN-Server-4.2.1-x64.msi第三步:勾选复选框选择同意,然后选择Next,选择Upgrade第四步:设置服..

    2022年10月18日
    2
  • 为什么从Java开发转测试?

    为什么从Java开发转测试?前言很多粉丝关注我可能是从乐优商城项目关注的,这确实是我曝光度最高的一篇blog了包括现在新增的粉丝的话也是从乐优商城项目blog关注的ps:大家有询问我要源码,我以前是有上传到github上的,但是由于里面用到了阿里云,github天天给我发邮件报警说有风险,然后我就删除了,所以源码的话,现在是没有了的但是我觉得乐优商城过于大,用的技术栈也很多,如果面试的时候不能充分讲明白的话,尽量不要用这个项目去面试大家如果要用他面试的话可以从以下几个思路去讲1、整体是一个什么项目?主体业务流程是什么

    2022年7月16日
    14
  • qt无法解析的外部符号lnk2019_2019最新驾考宝典

    qt无法解析的外部符号lnk2019_2019最新驾考宝典在编译工程的时候经常会碰到”LNK2019:无法解析的外部符号… “的报错。一般来说,碰到这个错误有一下几种情况:1、头文件中声明了函数或者类型,但是没有相关的实现源文件解决:在编译结果中找到并定位该函数,删去多余的定义并对未实现的定义进行实现;注意删去Debug和Release文件夹,并重新构建。2、调用了第三方库,但是未链接成功解决:重新添加库的.lib和.dll及相关.h文

    2022年10月5日
    2
  • python语法(二)——截取字符串的方法详解

    python语法(二)——截取字符串的方法详解下面是基于python2+版本;python3+print输出的内容要加括号str=’0123456789’printstr[0:3]#截取第一位到第三位的字符printstr[:]#截取字符串的全部字符printstr[6:]#截取第七个字符到结尾printstr[:-3]#截取从头开始到倒数第三个字符之前printstr[2]#截取第三个字符printstr[-1]…

    2022年5月10日
    42
  • XXE初探

    XXE初探最近经常看到XXE出没,以为是最近才出现的一种类型,后来发现14年,乌云上面就有好多的案例,实在是我太lo了~@Time:2018/11/15在jarvisoj上面有着一道xxe的练习题,感兴趣的大佬可以去玩玩https://www.jarvisoj.com/challenges在写题之前,我们先科普一下,什么是xxe?xxe是xml外部实体注入,这里有一段xml的解释XM…

    2022年5月10日
    58
  • lamp环境下phpwind,wordpress,discuz论坛的搭建全过程

    lamp环境下phpwind,wordpress,discuz论坛的搭建全过程phpwind,wordpress,discuz3大论坛群英聚会目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。这四个软件都是遵循GPL的开放源码软件,它们安全、稳定、快速、功能强大…

    2022年9月18日
    3

发表回复

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

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