技术分享:逆向分析ATM分离器

文章内容仅供技术交流,请勿模仿操作!
背景(作者)
每一次外出时, 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分离器的更多相关文章
- C++反汇编与逆向分析技术揭秘
C++反汇编-继承和多重继承 学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的 ...
- 20145307陈俊达_安卓逆向分析_Xposed的hook技术研究
20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌 ...
- 《C++反汇编与逆向分析技术揭秘》--算术运算和赋值
一.加法 1.Debug下: 14: int nVarOne0 = 1 + 5 - 3 * 6;//编译时计算得到结果 00C0550E C7 45 F8 F4 FF FF FF mov dword ...
- 《C++反汇编与逆向分析技术揭秘》--认识启动函数,找到用户入口
<C++反汇编与逆向分析>和<程序员的自我修养>都是以VC6的代码作为例子讲解的.这里是在vs2017下,CRT代码有些区别,但整体流程上都是初始化环境,设置参数,最后转到用户 ...
- IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...
- 【开源.NET】 分享一个前后端分离的轻量级内容管理框架
开发框架要考虑的面太多了:安全.稳定.性能.效率.扩展.整洁,还要经得起实践的考验,从零开发一个可用的框架,是很耗时费神的工作.网上很多开源的框架,为何还要自己开发?我是基于以下两点: 没找到合适的: ...
- 一文了解安卓APP逆向分析与保护机制
"知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...
- 知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路
本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享. 1.引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动 ...
- 腾讯技术分享:微信小程序音视频技术背后的故事
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
随机推荐
- css3制作滚动按钮
1,中间圆点用到css3的gradient属性 2,运动用到css3的transition属性 3,需要写各个浏览器的兼容 代码如下 <!DOCTYPE html> <html la ...
- 《javascript高级程序设计》第三章 Language Basics
3.1 语法syntax 3.1.1 区分大小写case-sensitivity 3.1.2 标识符identifiers 3.1.3 注释comments 3.1.4 严格模式strict mode ...
- 数据库中Schema(模式)概念的理解
在学习SQL的过程中,会遇到一个让你迷糊的Schema的概念.实际上,schema就是数据库对象的集合,这个集合包含了各种对象如:表.视图.存储过程.索引等.为了区分不同的集合,就需要给不同的集合起不 ...
- Hibernate映射之实体映射
1.使用@注解配置实体类 实体类一般有ID.普通属性.集合属性等,分别对应数据库的主键.普通列.外键.@注解配置中,实体类用@Entity注解,用@Table指定对应的数据表,用@Id配置主键,用@C ...
- iOS开发之内购-AppStore
本文会给大家详细介绍iOS内购,虽然之前网上也有内购的教程,但是还不够详细,我重新整理出一份教程,希望对大家有所帮助. 基于Xcode7.1.1版本,模拟器iphone6,9.1系统.部分地方直接摘自 ...
- iOS开发几年了,你清楚OC中的这些东西么!!!?
iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...
- cycleInterpolator 循环加速器
CycleInterpolator Repeats the animation for a specified number of cycles. The rate of change follows ...
- 《JavaScript权威指南》读书笔记(二)
日期:2015-12-04 js 的原型::闭包:闭包这是个相当复杂的东西...现在初步理解: http://segmentfault.com/a/1190000000652891 闭包有 ...
- 求平均排序MATLAB code
A0=R(:,1:2:end); for i=1:17 A1=A0(i,:); p=sort(unique(A1)); for j=1:length(p) Rank0(A1==p(j))=j; end ...
- 石子归并问题(nyoj737)
石子合并(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的 ...