RtPOS恶意软件分析

ang010ela 系统安全 2018年9月18日发布
Favorite收藏

导语:POS和信用卡诈骗的恶意软件家族经常会出现,而只有一部分会被发现。RtPOS就是新发现的恶意软件家族。

POS和信用卡诈骗的恶意软件家族经常会出现,而只有一部分会被发现。RtPOS就是新发现的恶意软件家族。

简介

研究人员发现一款新的POS恶意软件—RtPOS。该恶意软件是根据样本(fb749c32b58fd1238f21d48ba1deb60e6fb4546f3a74e211f80a3ed005f9e046)的调试路径命名的:

C:\Users\nblat\Documents\Visual Studio 2015\Projects\rt19\Release\rt19.pdb

逆向

恶意软件中的alohae.exe会伪装成Windows logon Service(登陆服务),这也是恶意软件作者常用的混淆形式。还有出现的俄语代码,下面是全部的文件元数据(metadata):

图片.png

图片.png

程序只接受两个参数“/install”和“/remove”,分别负责在受害者设备上安装和卸载服务。这些函数在IDA中是可见的:

https://boozallenmts.com/sites/default/files/styles/wysiwyg_image/public/rtpos01.png?itok=a0RT7iUw

当提供install参数时,就会安装WinLogon服务,并将下面的内容发送给日志函数:

图片.png

服务描述更新:

图片.png

把转变为可读性更强的形式时,服务配置分析就类似于下面的伪代码:

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

服务安装之后, RtPOS会在被入侵的设备上重复申明可用或运行的进程。这是通过以下两步完成的:

· 首先用CreateToolhelp32Snapshot获取进程列表;

· 然后用Process32FirstW开始进程列表循环。

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

VirtualQuery (VirtualQueryEx)用于获取进程的边界:

https://boozallenmts.com/sites/default/files/styles/wysiwyg_image/public/rtpos07.png?itok=_8opnfqa

最后,RtPOS用ReadProcessMemory函数来获取被入侵系统的内容可见的权限。获取被入侵POS终端或其他支付处理系统的内存可见是RAM-scraping POS恶意软件的经典特征,因为支付卡数据未加密前保存和处理的位置就是内存空间。对内存空间的访问权限使RtPOS能够传递还有支付卡数据的缓存信息到定制的记录搜索算法(track search algorithm):

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

在找到track1和track2的数据后,获取的信息将传递给Luhn算法来进行验证。RtPOS中Luhn算法的实现在IDA的0x405a50处是可见的。

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

RtPOS通过Luhn算法验证了track1和track2的数据后,下一步就用Process32NextW来爬取数据:

https://boozallenmts.com/sites/default/files/styles/wysiwyg_image/public/rtpos10.png?itok=NCa8EaPf

如果在内存中找到成功支付的卡号,Luhn算法就会验证该号码,如下图所示:

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

传递来验证的track1和track2的数据会保存为sql8514.dat,用于之后的数据窃取。RtPOS恶意软件会在\Windows\SysWOW64文件夹下创建一个DAT文件,并使用下面的格式字符串%02d.%02d.%04d – %02d:%02d:%02d| %s: \t\t%s\n:

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

下图中可用看到一个写入RtPOS日志文件的信用卡号码的例子。DAT日志行的每条记录都含有日期和时间,用于将信息下入DAT日志文件的进程和最后获取的信息:

RtPOS - New malware uncovered by Booz Allen Managed Threat Service

获取下入DAT日志文件的支付卡数据示例如下:

24.08.2018 - 14:27:36| notepad.exe:         ;4888603170607238=05051011203191805191?
24.08.2018 - 14:30:05| notepad.exe:         ;4305500092327108=040110110000426?
24.08.2018 - 14:30:51| notepad.exe:         ;4264294318344118=04021010000044500000?
24.08.2018 - 14:30:54| notepad.exe:         ;4888603170607238=05051011203191805191?
24.08.2018 - 14:30:55| notepad.exe:         ;4305500092327108=040110110000426?
24.08.2018 - 14:30:55| notepad.exe:         ;4264294318344118=04021010000044500000?

结论

与Project Hook、TreasureHunter这样的恶意软件相比,RtPOS有许多的不同,比如没有原声的数据窃取能力。而其他POS恶意软件家族可用将获取的track1和track2的数据发送会C2服务器,而RtPOS只是将这些数据保存在本地。这样的活动与一些POS小工具有些类似,好像是为了减少RtPOS的网络活动痕迹,确保恶意软件能够长期潜伏,以获取更大的利益。RtPOS在特征上很简单,活动上都是自动化的,与成熟的POS恶意软件相比,缺乏很多特征,比如网络数据窃取特征、交互和用户命令特征。RtPOS可能只是开发中的POS恶意软件家族。

本文翻译自:https://boozallenmts.com/resources/news/rtpos-new-point-sale-malware-family-uncovered如若转载,请注明原文地址: http://www.4hou.com/system/13384.html
点赞 4
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论