文章内容仅供技术交流,请勿模仿操作!

背景(作者)

每一次外出时, Elizabeth和我总是格外的小心,同时把我们身上的钱藏在特殊的皮带上面,这样还不够,我们还采取了“狡兔三窟”的方式来藏身上带的银行卡,但我们在外出时没有从ATM取款机取走100美元的时候,我们总是手挽手,连走路时候都很小心。期初我认为我也有些偏执症,但由于每一次去取钱还是要输入密码,我也很清楚这一切早晚都会发生的。。。。。

ATM Skimmer

ATM Skimmers 即ATM分离器,Brian Krebs(1995 ~2009 年一直在华盛顿邮报当记者,专门写一些安全相关的文章)曾写过不少关于这些方面的文章,他甚至可以被认为是研究ATM取款机的记者,当然我也在他的文章中得到了很多有关ATM取款机的知识,基本上这些设备就想得到以下两点

攻击者想要得到你的卡号

攻击者想要得到你的银行卡密码

为了得到这些信息,攻击者有不少选择,但使用传统的方式即将ATM分离器偷取你卡里的信息然后偷走你的钱。

当然设备必须尽量靠近读卡器口,这样就更加隐蔽了。甚至有些时候,攻击者会将整个ATM取款机的面板换掉,但更多的时候会在读卡器卡槽里面做手脚,又或者攻击者在ATM取款机的线路上做手脚,他们将这种手法称为“network skimming”。

好吧,假如他们已经获得了你的卡号,下一步不难猜测,就是需要获取你的密码。

这一步有不少犯罪分子已经想到了好的方法,比如利用一些隐蔽的摄像头来记录你在键盘上面的输入信息,当然这也不是很轻松的,比如这种方法就需要有电源来供电并记录信息提供给攻击者,而还有一种方法,覆盖在POS机上面的ATM分离器,详情:点击我

那么应该如何保护自己呢?

这里有两点建议:

1.可以用手去拉一拉读卡器的口,看看有没有松动。有些情况下,那些ATM分离器可能是用胶粘的,所以试试还是很有用的。

2.在你输入密码的时候需要用手来覆盖在上面,这样即使有隐蔽的摄像机也没有那么容易获取到你密码了。

在印度尼西亚巴厘岛一家食品杂货店外发现有问题的ATM

虽然照片不多,但是几乎每个ATM取款机都有自己的独立入口,这样游客看到这样的设施也会感到比较安全,因为这样不会在大街上交易被人打劫。我之前用过这个ATM取款机,当我和Elizabeth 取钱的时候,我曾尝试拉下读卡器口,结果悲剧了。即使没有出现这种情况,但有隐藏的摄像头并在输入密码的时候没有用手掩饰,那么密码也会被盗取。

很明显这就是ATM分离器,它有一个小开关以及一个供电端口,我甚至可以在黑暗中看到微弱的蓝光。

出现了这种情况我也不知道该肿么办,但这个也不是我安装上的,但为了更详细的分析,我决定将这个带回家好好分析一下,看看是怎么工作的。然后作者开始猜测是不是像电影情节一样卷入了一场风波,最后有一群摩托党将他们击毙。

逆向分析

1.端口分析

我们回到家之后就开始拆解,最后发现前面的那个端口非常有特点,于是猜测这应该就是攻击者下载键盘记录数据接口。

在图片里面可以看见一共有四根线,我立刻就想到了“USB”,我利用实验室的工具,将手机充电器的线打开一部分,并进行了对比。

下面我将会了解每根线的作用,我认为这都和USB接口类似可以参考下面的图片进行比对。

2.穿线

把整理好的电线穿过小洞,40分钟后,我终于完成了线的整理工作。

然后我将手里的线通过USB端口接入我的电脑,在进行这一步的时候把我吓了一跳,我开始从设备复制文件,这里有两个文件夹,一个是“Google Drive”,另外一个是“VIDEO”。最后一个文件夹是空的,视频文件总大小是11G,在45分钟之后将文件全部复制到了电脑上,在这一段时间我一直都保持设备以及电脑不动,防止因抖动设备造成的断线情况,而这其中大部分都是记录输入密码的信息。

视频观看

设备记录了声音,我起初以为记录声音没有大用,但是看到视频之后才意识到是比较有用的,通过按键的声音也可以记录更多有效的信息,当然一般情况下不会按更多的按键来混淆视听,最后钱的声音也不是没有用的,这样可以确认这个卡是有攻击价值的。这里面还有一些有趣的片段,比如安装分离器,但是没有看到人脸或者一些标识信息比如纹身等。

完整拆解

这一步是比较痛苦的,因为这个塑料外壳是一体的,并用热熔胶固定好了,下面的图可以简单诠释是如何实现工作的

这个外壳看起来像一个把手,这个应该是从某个地方订购的。黄色的部分应该是一种伪装,想要砸掉黄色部分并且不破坏产品很困难,花了一段时间,我终于看到了里面的部分。

在左边可以看到电源(三星的电池),控制面板的右边有排线,上面就可以看到摄像头了。

在网上搜索这个控制面板的信息发现,这是一个小型相机的面板。然后被改装后拿来使用,包括电池部分,开关以及USB连接部分(前面提到了)。

总的来说,这个分离器设计的还是可以的。如之前所述,我认为录音是一种不实际的考虑,但是后来发现这算是一种优势。但对于电池我也有了新的认识,这样可以长时间的储存密码以及窃取来的相关信息。同时这种制作的设备优势在于:尺寸、内置运动侦测、内置存储空间、内置的USB连接、低功耗。值得注意的是,该装置是手工制作,不是批量生产的那种。也就是说攻击者必须手动上传以及下载一些信息,可以做出这样一个推测他们应该留有备用的,但他们手里应该持有少量的设备。为了验证这一理论,我决定几天后再回去。

我没有发现ATM分离器,而银行方面在这个期间也没有给我打电话,而我也表示很高兴能够研究这样一个东西,好吧,文章到这里就结束了,希望文章能给你带来更多的思路以及方法。

*原文trustfoundry

技术分享:逆向分析ATM分离器的更多相关文章

  1. C++反汇编与逆向分析技术揭秘

    C++反汇编-继承和多重继承   学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的 ...

  2. 20145307陈俊达_安卓逆向分析_Xposed的hook技术研究

    20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌 ...

  3. 《C++反汇编与逆向分析技术揭秘》--算术运算和赋值

    一.加法 1.Debug下: 14: int nVarOne0 = 1 + 5 - 3 * 6;//编译时计算得到结果 00C0550E C7 45 F8 F4 FF FF FF mov dword ...

  4. 《C++反汇编与逆向分析技术揭秘》--认识启动函数,找到用户入口

    <C++反汇编与逆向分析>和<程序员的自我修养>都是以VC6的代码作为例子讲解的.这里是在vs2017下,CRT代码有些区别,但整体流程上都是初始化环境,设置参数,最后转到用户 ...

  5. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  6. 【开源.NET】 分享一个前后端分离的轻量级内容管理框架

    开发框架要考虑的面太多了:安全.稳定.性能.效率.扩展.整洁,还要经得起实践的考验,从零开发一个可用的框架,是很耗时费神的工作.网上很多开源的框架,为何还要自己开发?我是基于以下两点: 没找到合适的: ...

  7. 一文了解安卓APP逆向分析与保护机制

    "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...

  8. 知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路

    本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享. 1.引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动 ...

  9. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

随机推荐

  1. this 指向

    this-->当前行为发生的主体就是this,但是this是谁和这个方法在哪执行的或者在哪定义的都没有半毛钱的关系 如何的区分JS中的this? 1)函数执行,看函数名前面是否有".& ...

  2. python 练习 14

    方法一 #!/usr/bin/python # -*- coding: UTF-8 -*- def fib(n): a,b = 1,1 for i in range(n-1): a,b = b,a+b ...

  3. VMware Workstation 12 Pro虚拟机下载(含序列号)

    VMware Workstation 12 Pro 官网下载地址:http://www.vmware.com/products/workstation/workstation-evaluation V ...

  4. jQuery 2.0.3 源码分析 Deferrred概念

    转载http://www.cnblogs.com/aaronjs/p/3348569.html JavaScript编程几乎总是伴随着异步操作,传统的异步操作会在操作完成之后,使用回调函数传回结果,而 ...

  5. 127. 126. Word Ladder *HARD* -- 单词每次变一个字母转换成另一个单词

    127. Given two words (beginWord and endWord), and a dictionary's word list, find the length of short ...

  6. css背景定位

    日期:2015-12-05 背景定位算是才弄明白: background-position:50% 50%; 图片水平和垂直居中.与 background-position:center center ...

  7. 《JavaScript权威指南》读书笔记(一)

    日期 2015-11-28 把之前的读书笔记在我弄丢它之前搬过来~~ 时间过去好久,回头一看理解都不一样了. 重点浏览了一下和Java的不同之处: js是一种宽松类型语言:js不区别整形数值与浮点型数 ...

  8. 多条查询sql语句返回多表数据集

    + + "';SELECT ProductID,ProductTitle,ProductName,SalePrice,ListingPrice,MainPicture,SaledItemCo ...

  9. 用JavaScript操作Media Queries

    在响应式(或自适应)设计中要用到Media Queries这个CSS属性,但在某些时候我们需要对Media Queries进行动态操作,这时候可以使用Javascript. 如以下Media Quer ...

  10. splunk 索引过程

    术语: Event :Events are records of activity in log files, stored in Splunk indexes. 简单说,处理的日志或话单中中一行记录 ...