最近,很多关注都集中在勒索软件和其他直接攻击消费者和企业以获取金钱报酬的威胁上。尽管如此,销售点(POS)恶意软件仍然是网络犯罪分子窃取信用卡数据和相关收入的重要来源。
芯片密码信用卡的不断推出,以及2014年零售网络的严格标准,给POS恶意软件黑市带来了进一步的压力。但是正如我们在这里看到的AbaddonPOS恶意软件,POS恶意软件不仅仅是活着的,它正在积极地发展。
5月5日,一名被Proofpoint追踪为TA530的演员(在我们之前的博客“Phish Scales”[1]中也提到过)向零售公司发送了一份高度个性化的电子邮件活动,试图安装TinyLoader和AbaddonPOS的销售点恶意软件。选择垂直零售可能是因为感染POS系统的可能性更高。2015年10月,当Vawtrak[2]交付AbaddonPOS时,我们首次观察到它。我们还发现TinyLoader和AbaddonPOS已经通过几种方式进行了更新。
交货的细节
我们观察到的信息使用的主题是“团体预订[公司名称]”和个性化的附件名称,如:
- (公司名称). doc
- (公司名称)_booking.doc
- (公司名称)_reservation.doc
图1中显示的示例消息在电子邮件正文中使用收件人的姓名,在电子邮件正文中使用公司的姓名和附件的名称。图2所示的附件使用了一个有趣的诱饵。它描述了在加载内容时期望看到的转轮图像,并要求用户启用内容。
点击“启用内容”按钮启用恶意宏,然后通过下载TinyLoader开始感染,TinyLoader反过来又下载AbaddonPOS。
我们看到的大多数信息都被交付给零售公司(图3)。
图1:发送TinyLoader的电子邮件示例
图2:提供TinyLoader的示例文档
图3:按消息卷的顶部目标垂直
载荷分析
TinyLoader
这次活动中使用的TinyLoader的变体与我们之前分析过的AbaddonPOS类似。一个重要的变化包括在从命令控制(C&C)服务器接收的shellcode上添加一个基本的4字节异或混淆层(图4)。
图4:TinyLoader解码和执行从C&C接收的shellcode
XOR键是由C&C动态生成的,并且在每个会话中都不同。一旦shellcode被解码,执行将立即传递给解码的shellcode。虽然TinyLoader的控制器理论上可以通过自定义shellcode执行任何操作,但我们仍然观察到这类恶意软件被用作下载程序。图5显示了一个TinyLoader响应,其中包含编码好的shellcode,用于构建用于下载有效负载的虚假HTTP请求。
图5:从TINYLoader C&C收到的编码响应
一旦shellcode被解码,就可以看到用于创建HTTP请求的字符串(图6)。加载此代码后,TinyLoader的C&C操作符可以自由提供目标IP和URI,以指示受感染的机器人检索有效负载。
图6:解码TinyLoader shellcode用于构建HTTP请求
在这个活动中,我们观察到初始的TinyLoader有效载荷检索到另一个连接到不同的C&C的TinyLoader有效载荷。这个新的TinyLoader感染然后收到另一个指令来下载一个不同的有效载荷(图7和8),这是AbaddonPOS的一个新变体。
图7:TinyLoader收到下载AbaddonPOS的指令
图8:TinyLooder HTTP请求下载Abaddonpos
AbaddonPOS
这次活动中下载的AbaddonPOS的功能与我们发现的原始样本非常相似。然而,它确实包括了一些重要的变化:
- 用于检查黑名单进程的优化代码(将不会检查信用卡数据的进程)
- 潜在销售点(POS)相关进程名的白名单进程列表(这些是将扫描POS数据的唯一进程)
- exfiltration xor键已更改
AbaddonPOS白名单进程名称检查现在使用一个单独的部分进程名称字符串(每个6字节)连接在一起。常见的进程名黑名单和POS进程名列表(参见进程列表部分)都以静态偏移量存储在分配的内存中(图8),黑名单为0x1A8, POS进程列表为0x5B4。
图9:AbaddonPOS存储流程列表供以后使用
AbaddonPOS分别使用这两个列表。这意味着通用进程名称列表对POS名称列表没有影响。两个列表也使用完全相同的代码进行检查。然而,根据当前是在主线程中执行还是在衍生线程中执行,会产生不同的结果。作者使用硬编码的0x0C0C0C0C值(图10)来实现这种跟踪能力。
图10:AbaddonPOS保存主线程标识符
在针对任何列表中检查进程名称之前,首先将运行的进程名称转换为小写(图11)。接下来检查当前执行是否存在于主线程中或生成的线程。如果找到0x0c0c0c0c,则abaddonpos知道它位于主线程中,因此将准备检查对公共过程名称黑名单的进程名称(图12)。如果找不到0x0c0c0c0c,则将使用POS进程名称列表。
图11:将大写字母更改为小写
图12:利用进程列表取决于执行是在主线程还是派生线程中
与旧的AbaddonPOS变体类似,将首先检查进程名的前4个字节(图13,A)。如果它们相等,则检查接下来的2个字节(图13,B)。如果第二次检查成功,则将再次检查线程上下文(图13,B)。C).如果当前执行在主线程中,那么当前进程将被跳过(图13,D),而在派生线程上下文中进程将被打开并搜索POS数据(图13,E)。
根据正在执行的上下文,当被检查的进程名称不匹配硬编码列表中时,将发生不同的行为。如果在主执行上下文和未找到匹配中,则将打开该过程并检查POS数据(图13,F),而如果在生成的线程上下文中,则不会打开并检查该过程(图。13,g)。
这种特殊的实现有效地使POS进程名列表无效,因为主线程最终将在所有不匹配公共进程名黑名单的进程中搜索POS数据,包括所有的POS进程。
这个实现可能是由恶意软件作者部分的错误导致的,但似乎更有可能是作者在此示例中测试各种黑名单/白名单实现。将一个线程只用于已知pos相关名称的进程,可以确保线程总是更频繁地扫描这些进程,而不是用于扫描所有非系统相关进程的主线程。此外,如果最终看到AbaddonPOS变体只包含通用进程名称方法或POS进程名称方法,而不同时包含这两种方法,也就不足为奇了。
图13。进程名比较码
在窃取信用卡数据的方式上也做了一些小改变。首先,IP地址不再以ASCII字符串的形式存储(图14)。这也意味着不再需要inet_addr API。最后,将硬编码的异或键更改为0x4C5D6E7F(图15)。
图14:硬编码的C&C IP地址和端口
图15:新的过滤XOR键
虽然改变了第二个异或键,但与我们之前的分析相比,数据的总体编码和提取方法基本相同(图16、17)。
图16:经过编码的信用卡数据
图17:解码的exfiltrated信用卡数据
结论
我们继续看到TA530定期通过电子邮件向目标销售点系统发送威胁,利用个人信息增加感染的机会。
TinyLoader和AbaddonPOS正在积极开发中。我们预计,随着网络罪犯以销售点系统为目标,以获取信用卡数据,这两种攻击将继续出现在电子邮件攻击中。尽管信用卡领域发生了变化,PCI DSS合规要求也更加严格,但如果能够大规模实施,与信用卡相关的网络犯罪对威胁行动者来说仍是有利可图的。全面的电子邮件、网络和端点保护——以及用户教育——仍然是保护系统和客户数据的最佳方法。
参考文献
[1]//www.road2fusion.com/us/threat-insight/post/phish-scales-malicious-actor-target-execs
[2]//www.road2fusion.com/us/threat-insight/post/AbaddonPOS-A-New-Point-Of-Sale-Threat-Linked-To-Vawtrak
AbaddonPOS过程列表
常用进程名黑名单
cmd.ex
Conhos.
dllhos.
excel。
空洞
补丁。
mmc.ex
dwm.ex
csrs.e
winlog
蛤蜊
regsvr
mobsyn
rundll
runonc
线轴
svchos
taskho
winwor
系统
winini
smss.e
lsm.ex
csr。
搜索
notepa
POS进程列表
积极的
mercur
ocius4
rs232m
SDPDVK.
sihot。
unilec
focus8
ehubem
fdfdo。
羊肉
cps.po.
powerp
saleso
finedi
推行
infigm
adrm.e
afr38。
aldelo
araavl
aracs。
bestpo
bosrv。
cardau
现金
checki
cre200
叉。
游离的
cxsret
ddcdsr
dovepo
dsihea
鹰
电工实习
Fincha.
发明
isspos.
issret
magtek
nails1
Omnipo.
工资人
工资人
pixela
pos24f
Posini.
prm.cl
ptserv
qbdbmg
qbpos。
qbposs.
零售
rmposl
roomke
rpro8。
rwpos。
sales3
soposu
spaint
telefl
transa
utg2sv
视觉的
wickr。
xcharg.
妥协指标(IOC)
表1:妥协指标
国际奥委会 | 国际奥委会类型 | 描述 |
7 dc57aef76a1ddb5eef7bfd1a1350e1e951b5f216bfc805f51796545d04d80a0 | SHA56散列 | 例子宏文件 |
e5fbfd61b19561a4c35d1f7aa385f4ca73a65adb2610504398e4ca47c109bace | SHA56散列 | 初始TinyLoader下载 |
B30EE5185C7F649DA42EFABE9512D79ADCAA53F3F3647E0025B7C68BF7CC8734 | SHA56散列 | TINYLOODER更新 |
24 e39756c5b6bdbdc397dabde3ece587cdb987af9704d5e5329e00b5b2aaa312 | SHA56散列 | AbaddonPOS |
[hxxp: / / dolcheriva [] com/img/del/a/cg-bn/word.exe] | URL | 示例Tinyloader下载 |
[hxxp: / / 50.7.124 [] 178 / file.e] | URL | 使用TinyLoader更新下载 |
[hxxp://85.93.5 [。] 136 / zrh4j2 / p_kyj3gxehtpasmjxz.d] | URL | 例子AbaddonPOS下载 |
50.7.124 178:30010。 | 知识产权 | TinyLoader C2 |
85.93.5 136:50010。 | 知识产权 | TinyLoader C2 |
85.93.5 136:50011。 | 知识产权 | AbaddonPOS C2 |
Chamel1on. | 互斥锁 | TinyLoader互斥 |
选择ET签名,将发射这样的流量:
2022658 || ET CURRENT_EVENTS Possible Malicious Macro DL EXE Feb 2016 (WinHTTPRequest)
2812523 || ETPRO TROJAN TinyLoader.C CnC Beacon x86
2812524 || ETPRO TROJAN TinyLoader.C CnC Beacon x64
2814778 || ETPRO木马TinyLoader。D CnC Beacon x86
2814779 || ETPRO木马TinyLoader。D CnC信标x64
2814803 ||etpro trojan win64.tinyloader CNC灯架
2814810 ||etpro木马tinydownloader检索pe
5 . ETPRO TROJAN AbaddonPOS exextracextracating CC Numbers
2816698 ||ETPRO TROJAN ABADDONPOS EXFILTRATING CC号6
2816699 ||ETPRO TROJAN ABADDONPOS EXFILTRATING CC号7
2816700 || ETPRO木马AbaddonPOS exextracextracating CC Numbers 8
订阅校正博客