4、支付卡数据窃取技术:RAM Scraper、键盘记录器与网络嗅探
各位好,我是老周。今天聊的话题有点敏感——支付卡数据是怎么被偷走的。说实话,我在做渗透测试的头两年,对这类攻击的理解还停留在“黑客很厉害”的层面。直到亲自参与了几次真实的应急响应,才真正明白:这些技术并不神秘,但确实很致命。
咱们分三个方向来讲:内存 scraping、键盘记录与侧信道、网络嗅探与中间人。每个方向我都会结合自己踩过的坑来说。
4.1 RAM Scraper:内存里的“淘金者”
RAM Scraper,说白了就是内存扒手。它专门盯着支付终端或POS机的内存,找那些还没被加密的卡号、有效期、CVV。
攻击原理其实很简单:
- 支付卡数据在磁条或芯片里是加密的,但读出来之后,在内存里处理时往往是明文。
- RAM Scraper 会持续扫描进程的内存空间,匹配正则表达式(比如 16 位数字、Luhn 算法校验)。
- 一旦匹配成功,就把数据写到本地文件或直接外传。
我记得有一次做红队演练,客户说他们的POS系统“绝对安全”。我花了半小时写了个简单的内存扫描脚本,模拟 scraper 行为。结果呢?不到 10 秒就抓到了测试卡号。嗯,当时客户的脸色挺精彩的。
典型的攻击流程:
- 通过钓鱼邮件或漏洞利用,把 scraper 植入 POS 系统。
- Scraper 常驻内存,每隔几毫秒扫描一次。
- 匹配到卡数据后,通过 HTTP/DNS 隧道等方式外传。
- 攻击者收集数据,批量出售或用于欺诈。
你想想看,一个大型超市的 POS 网络,每天处理几千笔交易。如果 scraper 运行一周,能偷走多少卡号?我见过最夸张的一次,是某连锁餐厅被植入了 scraper,三个月内泄露了 20 万张卡。
4.2 键盘记录器与侧信道攻击
键盘记录器,这个大家可能更熟悉。但用在支付场景里,它有点不一样。
键盘记录器在支付中的变种:
- 传统键盘记录:记录物理键盘的按键序列。但 POS 机很多是触屏,所以这种不太管用。
- 虚拟键盘记录:针对触屏 POS,记录触摸坐标和点击事件。比如用户点了数字“1”的位置,记录器就知道按了“1”。
- 表单钩子:直接 hook 支付页面的输入框,在数据提交前截获。
我个人觉得,侧信道攻击才是更隐蔽的。什么叫侧信道?就是不直接偷数据,而是通过“副作用”来推断数据。
举个例子:
- 时序攻击:卡号校验时,如果第一位错了,系统立刻返回错误;如果第一位对了、第二位错了,系统多花 5 毫秒才返回。攻击者可以通过测量响应时间,逐位猜出卡号。
- 功耗分析:芯片卡在进行加密运算时,不同的操作会消耗不同的电量。通过分析功耗曲线,可以反推出密钥。
- 电磁泄露:键盘或屏幕的电磁辐射,可以被附近的接收器捕获并还原出按键内容。
为什么会这样?因为很多支付设备在设计时,只考虑了“数据加密”,没考虑“物理泄露”。你想想看,加密算法再强,如果电磁波把按键信息广播出去了,那加密还有什么意义?
4.3 网络嗅探与中间人攻击
网络嗅探,就是“听”网络上的数据包。中间人攻击,则是“改”数据包。这两个经常配合使用。
网络嗅探在支付场景中的典型用法:
- ARP 欺骗:攻击者伪造 ARP 响应,让 POS 机以为攻击者的机器就是网关。所有流量都经过攻击者。
- DNS 劫持:把支付网关的域名解析到攻击者的服务器。
- SSL 剥离:把 HTTPS 降级成 HTTP,让数据明文传输。
我记得有一次帮客户做评估,他们的 POS 机和后台服务器之间用的是 HTTPS。但仔细一看,证书是自签名的,而且 POS 机没有做证书校验。我直接在交换机上做了端口镜像,抓包一看——嗯,卡号、有效期、CVV,全在 HTTP 请求体里明文躺着。客户说“我们用了加密”,但实际是“穿了透明雨衣”。
中间人攻击的典型步骤:
- 攻击者接入同一网络(Wi-Fi 或内网)。
- 通过 ARP 欺骗或伪造网关,让 POS 机的流量经过攻击者。
- 攻击者转发流量到真实服务器,同时记录所有数据。
- 如果需要篡改,比如修改交易金额,攻击者可以在转发前修改数据包。
你可能会问:现在都用 EMV 芯片卡了,这些攻击还有用吗?有用,而且很有用。EMV 保护的是卡和终端之间的通信,但终端和后台之间的通信,EMV 管不了。很多攻击者就盯着这个“最后一公里”。
知识体系总览
下面这张图,是我自己整理的支付卡数据窃取技术的知识体系。你可以把它当成一个“攻击地图”,看看每个环节的薄弱点在哪里。
这张图里,我把三种攻击技术并列展示,下面是对应的防御措施。你可以看到,攻击者往往不是只用一种技术,而是组合使用。比如先用网络嗅探找到目标,再用 scraper 偷数据,最后用侧信道绕过加密。
好了,这一章的内容就到这里。记住一句话:支付安全不是单点防御,而是从物理层到应用层的全链路防护。下一章我们会聊更具体的渗透测试手法,到时候见。
公众号:蓝海资料掘金营,微信deep3321