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

背景(作者)

每一次外出时, 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. Xcode + Swift 制作动态原型

    转载: Xcode + Swift 制作动态原型 为什么是 Xcode 和 Swift 我们尝试过的动态原型设计工具,Origami, Form, Hype, FramerJS,Pixate 等,但都 ...

  2. ajax正确的简单封装“姿势”

    window.meng = window.meng || {}; (function ($) { function getAjaxDate(url, apikey) { var datas; $.aj ...

  3. js(引用类型和setTimeout scope)

    题目是群中小伙伴出的. var a = [1,2,3]; c= a //todo 限制条件 c 不能出现在 = 左边 console.log(a) console.log(c) console.log ...

  4. 在Windows8.1中通过IIS发布网站产生HTTP Error 503错误的解决方案

    1.解决IIS下网站Bin目录中32位DLL不能使用,如图所示 2.解决通过IIS浏览网站,出现Http503的问题,如图所示

  5. css样式初始化

    不同的浏览器对有些标签的默认显示是不同的,对css样式初始化可以实现样式的统一,消除不同浏览器间页面显示的差异性... 一般初始化方式为:*{margin:0:padding:0:}

  6. hdu-----(1507)Uncle Tom's Inherited Land*(二分匹配)

    Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  7. Spring配置文件解析--bean属性

    1.bean设置别名,多个别名用逗号隔开 <!--使用alias--> <bean id="app:dataSource" class="...&quo ...

  8. Oracle “dba_tables”介绍

    DBA_TABLES describes all relational tables in the database. Its columns are the same as those in ALL ...

  9. BZOJ3308 九月的咖啡店

    Orz PoPoQQQ 话说这题还有要注意的地方... 就是...不能加SLF优化,千万不能加 n = 40000,不加本机跑出来2sec,加了跑出来40sec...[给跪了 /*********** ...

  10. myeclipse设置编码格式的4种情况

    (1).设置myeclipse工作空间的编码格式,作用范围最大 window-->preference-->general-->workspace-->text file en ...