专栏首页信安之路金融黑客的惯用手段 MITB

金融黑客的惯用手段 MITB

本文作者:晚风

所谓的 MITB 技术就是 man-in-the-browser 的简称,也就是浏览器中间人攻击方式。我们先来回顾一下经典的中间人攻击方式。

如上图,正常的通信是用户和服务器直接进行数据传输。而现在,攻击者通过某种方式截断了用户与服务器的直接通信,扮演起了一个代理服务器的角色,把用户与服务器的流量做了一个转发,用户以为攻击者就是真正的服务器,服务器以为攻击者就是真正的用户。从而,攻击者作为一个中间人,就可以截获到用户与服务器之间的所有通信,还可以随意篡改这些通信数据。表面上看起来数据仍然在正常的传输,实际上已经被第三方获取了。经典的中间人攻击一般会采用 ARP 欺骗或者 DNS 欺骗等手段,欺骗原本通讯的双方,但这种方式就需要把通讯流引到自己的 IP 上,容易被检测出来。

而浏览器中间人攻击的突破点是在用户自己的浏览器,在数据流入用户本机的传输层之前就已经被截获并篡改了,获取和篡改数据的整个过程发生在用户的本机,而且一般在原始数据还未被加密之前就被篡改了,无需经过攻击者的机器。因此,这种浏览器中间人攻击方式更加隐蔽,更难以被检测出来。

浏览器中间人攻击更像是我们熟知的木马攻击。一般可以通过社会工程学的方式,以诱骗目标的手段植入目标的计算机,经过一段时间的潜伏,在特定的时间激活并执行恶意操作。而浏览器中间人攻击也是如此。它通常使用脚本或 ActiveX 控件,以浏览器扩展的形式出现。当用户访问特定的网站时,它就会被激活,在浏览器接口和外部网络之间开始偷偷捕获并修改数据。通过这种方式,用户的整个交易过程看似正在像预期的那样进行,但实际上正在执行的交易可能跟预期的完全不同。相关的交易细节可能会被修改,并且一些完全不相关的交易过程可能会被偷偷启动。这一切都在用户不知情的情况下进行着。

由于传统的病毒扫描方式是基于病毒特征和行为方式,所以很难直接扫描到这种木马病毒,许多传统的防御手段都对浏览器中间人攻击束手无策。并且它能直接获取认证的数据(像静态和一次性的密码甚至是一些生物特征数据)和交易的细节。

在未来普通用户被攻击的可能性非常大。像众所周知的浏览器中间人攻击就包括 Zeus 和 Slientbanker 木马等等。

MITB 流程详解

阶段一:感染

攻击的第一阶段是感染目标计算机。方法有很多,一般采用社会工程学的方法欺骗用户,使木马的本体植入目标计算机。或者也可以使用浏览器和系统的漏洞来植入木马。

1、下载感染

一般采用社会工程学的方法,给目标发一封具有诱骗性误导性的邮件,内容可以是推荐一款好用的免费软件、工作中的一份待接收的文件,或者引导用户进入一个包含伪装好的恶意软件的钓鱼网站,诱骗用户去下载(比如看视频需要下载某某播放器等等)。这些邮件的附件中就包含了精心混淆加密免杀的恶意木马。当用户下载并打开的时候,恶意软件就已经在用户不知情的情况下植入用户的计算机了。

2、浏览器漏洞

跟第一种类似,引导用户进入一个恶意网站。只不过这里不是诱骗用户下载恶意软件了。而是利用未修补的浏览器漏洞直接在用户的计算机上静默安装恶意软件。

阶段二:交易接管

在这个阶段,当用户启动浏览器,木马就会自动被激活,偷偷监视着用户的一举一动。当用户访问银行网站并通过身份认证时,MITB攻击就开始了。木马已经接管了整个交易过程,可以随意修改收款方,随意修改转账的金额,也可以暗中收集用户的个人信息、隐私,然后发送给第三方。这一切的一切,都在用户不知情的情况下进行着。

下面是整个交易接管的流程表。

至此整个 MITB 攻击完成。所带来的危害就是用户的资金和金融机构的信誉的损失。

MITB 的演示

这里我们自己搭建一个环境模拟真实的网上银行交易过程。然后制作一个利用了 MITB 技术的扩展,模拟整个攻击过程。

第一步:网上转账环境搭建

首先是一个银行转账的界面。用户可以输入收款人的名字和转账的金额。其实就是一个GET表单,没有任何安全措施。

下面是银行的服务端页面。接受收款人和金额两个变量进行相应转账操作,为了便于大家更直观的看到效果,操作成功后会回显进行转账操作后所有用户的金额。

这里假设我自己是 Alice,我现在有 20 元钱,我的朋友 Bob 有 30 元钱,黑客 Candy 没有钱。我想要转账给我的朋友 Bob 10 元钱。Candy 是利用 MITB 技术的攻击者,想从 Alice 的账户里转账 20 元给到自己的账户。

我们来测试一下正常的交易过程。

结果符合我们的预期,没毛病。

第二步:恶意扩展的编写

这一步我们来写一个恶意扩展。这个扩展包含两个文件,扩展清单文件 manifest.json 和扩展主体文件 background.js。具体思路是当 Alice 无意间被暗中安装了这款恶意扩展,扩展在 Alice 进行转账操作时便会拦截 Alice 的转账请求,将收款人修改为 Candy,金额修改为 20 元,从而 Bob 不会收到钱,Alice 会损失自己的钱财,而黑客 Candy 会获利 20 元。

先写一个扩展的清单文件 manifest.json

再来写恶意扩展的主体 background.js

至此一款非常简易的利用了 MITB 技术的恶意扩展就写完了。

第三步:测试成果

下面我们来测试一下我们的成果。

在浏览器上安装这个恶意扩展,假装被感染了。

上面是被拦截的请求,可以看到,我们先发起了第一个请求,但随后就被恶意扩展拦截并修改成了第二个请求,服务器收到的就是被修改后的请求。黑客 Candy 成功的实施了一次浏览器中间人攻击。虽然现实生活中的银行安全体系不会这么脆弱,但攻击的原理还是一样的。

注意:最后的回显这样显示只是为了更清楚得演示,当然我们也可以在扩展中拦截并修改银行服务器的响应,让用户看到他们预期的数值。

其他的利用姿势

利用浏览器中间人攻击拦截并修改通信双方的请求是一种利用方法。此外,还有一些,比如可以作为木马,在宿主的浏览器控制台里执行任意命令,读取浏览器本地存储,造成 token 泄露;也可以获取一些在线IM通讯应用的聊天记录;也可以化身为键盘记录器,记录你的各种账号密码,偷偷发送到黑客的远程服务器...危害还是非常大的。

防范措施

虽然这种攻击方式看似很难防范,但仍有一些防御措施来对付这种攻击方式。由于 MITB 的活跃时间位于用户通过认证后、执行相应的操作之前,所以现有的身份认证技术对该类攻击无效。我们只能在用户执行操作时再进行防御。以下防御措施依据效果好坏来排序。

1、反病毒软件

恶意扩展肯定是要安装在宿主机上的,所以通过反病毒软件可以检测出来。但由于扩展的修改十分方便,一点小小的改动就可以造成较大的特征差异。所以现代反病毒软件对这类的恶意扩展的效果不理想。

2、更安全的浏览器

可以使用便携版的浏览器进行交易操作。便携版浏览器一般放在U盘中,很少与外界网络接触,一般不会被恶意扩展感染。缺点是每次操作时都要使用U盘中的浏览器,较为麻烦。

3、OOB(Out-of-band)

对抗 MITB 攻击的理论上最有效的方式就是 OOB 认证方式,即带外认证。在用户的浏览器与银行的远程服务器通信时,通过除浏览器以外的渠道与用户验证浏览器上的通信结果是否正确。比如我向别人转账时,银行服务器在收到请求后不立刻执行这个请求,而是先向我发送一条短信,告诉我即将向谁转账多少钱,请求我的确认。在得到我的确认后,银行的服务器才开始执行这个转账的请求。被同时控制多条通信途径是非常罕见的,也是非常困难的,这样就保证了整个交易过程的正确性。

本文分享自微信公众号 - 信安之路(xazlsec),作者:晚风

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 支付宝红包暴力薅羊毛

    特地去知乎搜了一波,果然有各路大佬在分享源码,特地弄了一个进行源码审计,学习学习~

    信安之路
  • 我是如何找到 Google Colaboratory 中的一个 xss 漏洞的

    在本文中,我来讲讲我碰到的一个有趣的 XSS。2018 年 2 月,我在 google 的一个网络应用中发现了这个 XSS。这篇文章我不希望只是直接写出这个 X...

    信安之路
  • 实战中遇到的sql小姿势

    笔者有个好习惯就是喜欢做笔记,即使当时没来来得及弄懂,之后也可以慢慢研究。今天就选取出一些之前所做笔记里的个人认为比较有趣的,关于 SQL 注入/ SQL 方面...

    信安之路
  • 还在让浏览器自动保存密码?“自动填充”功能曝重大安全隐患

    “用指尖改变世界” ? 来自普林斯顿大学的隐私安全保护专家警告说,互联网广告公司或者数据分析公司可以使用隐藏的登录字段从网页浏览器中提取用户保存的用于登录某些网...

    企鹅号小编
  • 对话派派王耿:派派找到了AI之匙

    当移动互联网的红利消失殆尽,社交行业也在经历着阵痛的转型之路。在消极者看来,已有的社交霸主格局无法被撼动,机会难觅,而在积极者看来,人工智能、大数据、VR/AR...

    腾讯云互联网TechDay
  • [译] 怎样把取消订阅的用户吸引回来

    Android 开发者
  • 用Python和Tableau对母婴商品销量进行数据分析(附Python源码及Tableau文件)

    Ali_Mum_Baby是一个包含超过900万儿童信息(生日和性别)的数据集,由消费者提供,他们共享这些信息是为了获得更好的推荐或搜索结果。本次数据共有两个cs...

    朱小五
  • 一直陪伴你成长的 QQ 相册后台长什么样?

    QQ 空间陪伴大家走过了将近12年的时光。时至今日,QQ 相册已经存储了超过 2 万亿张图片,本文从存储架构、容灾、加速等多方面对相册的架构进行了阐述。

    腾讯架构师
  • 谈谈 Linux 性能优化

    性能优化是软件系统中最有挑战的工作之一,就算看了很多资料和书籍,一旦涉及到解决具体问题,还是会一脸懵逼。

    iMike
  • 一直陪伴你成长的QQ相册后台长什么样?

    QQ空间陪伴大家走过了将近12年的时光。时至今日,QQ相册已经存储了超过2万亿张图片,对比业界,可以说是当之无愧的中国第一大相册,也是世界上规模最大的图片类产品...

    腾讯大讲堂

扫码关注云+社区

领取腾讯云代金券