更新11/24/2015.
销售点(POS)恶意软件涉及一些最近最近的数据泄露,罢工零售商,餐馆,热情好客和组织的各种行业,通常针对美国的消费者。[1]曾经考虑过太难对网络犯罪分子进行实用,2013年底的零售违规表明,这些攻击对网络犯罪分子来说都是可行的,并且对于网络犯罪,而POS恶意软件则继续发展并在各种和复杂程度中增长。[2]
校对点威胁研究人员最近检测到POS恶意软件景观的新补充。通过校对点研究人员命名为abaddonpos,最初被发现,因为它在vawtrak感染过程中下载。这种使用额外的有效载荷来增强攻击能力,通过在单个广告系列中传送多个有效载荷来提供威胁演员,通过包括潜在的POS终端,通过在单个广告系列中传送多个有效载荷来提供另一个努力的示例。这篇文章将分析abaddonpos;讨论观察到的感染载体;并曝光,有关用于检索新POS恶意软件的下载程序的详细信息。我们还将提供证据表明下载恶意软件和POS恶意软件密切相关,甚至可以由同一行动者或演员写。
已知的感染载体
10月8日,检测点研究人员观察到Vawtrak [3](项目ID 5)下载TinyLoader,一个使用自定义协议从其命令和控制(C2)服务器下载可执行有效载荷的下载器。然后使用TINYLoader以ShellCode的形式下载另一个下载者,然后下载AbaddonPos。Although this infection vector was initially specific to Vawtrak’s project ID 5, we have also since observed it delivered in project IDs 6, 9, 10, 12, and 13. The project ID’s are most easily observed with Vawtrak C2 traffic, as they are stored encoded in the PHPSESSID cookie value. Using the cookie value we provided as an example in our research on Vawtrak enables us to see it in a decoded state (Fig. 1). Bytes 4-7 contain the project ID in little-endian byte order.
图1:解码的Vawtrak cookie显示广告系列/项目ID
除了观察Abaddonpos,因为它由Angler Ek→卧别→Vawtrak感染(Cyphort,[4])和Angler Ek→贝pEP(绕过Vawtrak),校对点研究人员还观察到武器化微软提供的这种感染行为®办公文件下载小马→Vawtrak(图2)。
图2:Abaddonpos感染链
TINYLOODER.
TinyLoader在这个感染链中的唯一目的是从C2中检索可执行指令,这使得攻击者除了下载和执行额外的恶意软件负载之外,还可以在受感染的机器上执行他们自己的自定义shellcode。正如它的名字一样,TinyLoader的大小通常是2-5KB。TinyLoader的一个显著特征是,在接触其单一硬编码的C2 IP地址之前,恶意软件将首先检查它是否使用IsWow64Process Windows API作为x64或x86进程运行(图3.)。TinyLoader根据这个API调用的结果选择一个值,然后用这个结果告诉C2应该将哪个可执行代码下载到受感染的客户端。
图3:TinyLoader API呼叫检查x86或x64
如上图所示,0x84与X86过程一起使用,而0xBA与X64工艺一起使用;但是,每个架构用于每个架构的值都根据变型而变化。选择正确的架构后,TinyLoader会构建数据包以发送到C2以启动有效载荷下载过程。在检索下载abaddonpos的下载程序之前,我们已经观察到TinyyLoader首先检索自身的副本(此步骤可能略有不同),然后通过将注册表项添加到HKLM \ Software \ Microsoft \ Windows \ CurrentVersion,然后将其用作持久性方法\ run(图4)。TinyLoader还可以下载自己的DLL版本,在这种情况下,观察到的注册表项类似于以下内容:regsvr32.exe / s“c:\ progra〜2 \ [a-za-z0-9] + \。DLL”
图4:TinyLoader持久注册表项的示例
一旦持久化有效负载写入磁盘,TinyLoader就会以shellcode的形式下载另一个有效负载(图5),其目的是手动创建一个HTTP请求,然后使用该请求下载AbaddonPOS有效负载(图6)。
图5:TinyLoader二进制协议检索shellcode
图6:HTTP请求检索AbaddonPOS变体,由shellcode制作
abaddonpos.
AbaddonPOS是POS恶意软件类别的另一个,这在多年来引起了恶意软件作者的大量注意力。[4]类似于TINYLOODER,ABADDONPOS是一种相对较小的包装,大多数样品的尺寸为5KB。虽然这个新增的核心功能相当简单,但它包含了几个特征,优异分析和进一步讨论:反分析,代码混淆,持久性,定位信用卡数据以及用于exfiltrated数据的自定义协议。
Anti-analysis和困惑
AbaddonPOS实现了几个基本的反分析和混淆技术,以阻碍手动和自动分析技术。例如,AbaddonPOS使用CALL指令将函数参数压入堆栈,而不是简单地使用,例如,更常见的push指令。CALL指令将下一个地址压入堆栈,通常用作RETN指令之后的返回地址。在这种情况下,CALL指令被用来压入包含字符串的地址(图7):具体来说,包含字符串“devil_host”的地址被压入堆栈,然后被用作互斥锁。
图7:使用呼叫指令来阻碍静态分析的Abaddonpos
大多数AbaddonPOS的代码没有被混淆或打包,除了用于编码和传输被盗信用卡数据的代码。这个shellcode使用一个4字节的异或键进行编码;然而,密钥不是硬编码的。相反,使用前4字节的解码shellcode,恶意软件迭代所有可能的4字节异或密钥,直到正确的是通过检查结果与硬编码的指令:0x5589E58B(图8)。一旦异或结果与硬编码的指令匹配,那么正确的密钥已经找到,恶意软件继续使用该密钥解码shellcode。
图8:AbaddonPOS shellcode解码例程
查找信用卡数据
AbaddonPOS通过使用GetCurrentProcessID API读取其自己的PID来搜索所有进程的内存来搜索信用卡。要查找信用卡数据,AbaddonPOS粗略地遵循此过程:
- 搜索3,4,5或6个字符串字符,指示潜在信用卡的第一个数量
- 信用卡号码长度> = 13和<= 19
- 有效的跟踪分隔符(轨道1:“^”,轨道2:“=”,或“D”)
- 轨道1最大长度:120,轨道2最大长度:60
- 基于是否找到曲目1或跟踪2分隔符的附加检查
- 使用LUHN算法检查信用卡号码
我们对md5哈希值为:f63e0a7ca8349e02342c502157ec485d的AbaddonPOS样本进行了上述过程分析。稍旧版本的AbaddonPOS可能包含稍作修改的功能,包括不允许“D”作为轨道2分隔符。
窃取被盗的信用卡数据
虽然许多不同的POS恶意软件系列依赖于HTTP到Exfiltrate数据,但AbadDonPOS使用自定义二进制协议。信用卡数据的通信和exfiltration由上面讨论的解码的shellcode进行。单个硬编码的IP地址用作C2地址,以及用于混淆exfiltrated数据的编码例程。在单一信用卡数据Exfiltration尝试期间生成的网络流量的示例如图9.A所示,该分析的结果,校样点创建并发布了ET Pro IDPS签名(ID的2814677-2814680),以便于10月30日检测exfiltration尝试。
图9:AbaddonPOS将信用卡编码数据提取到C2
网络流量的前四个字节是编码数据的长度,而下面四个字节是OpenProcess返回的进程句柄的值。随后的字节是已编码的溢出数据,在解码状态下遵循以下格式:
[信用卡数据] *** [进程名称]
要对数据进行编码,恶意软件首先具有处理句柄的四个字节,然后是具有硬件4字节键的第二个XOR。图9中的Exfiltration网络流量在图10中以明文状态显示。
图10:明文exfiltrated信用卡数据和流程名称
可以使用以下Python脚本来解码网络流量,只要它已经使用上述技术编码:
导入sys,struct,hexdump filename = sys。argv[1] with open(filename, 'rb') as f: c2_traffic = f.s read() encoded_size = struct.unpack('图11:TinyLoader和Abaddonpos的代码历史比较
结论
威胁行动者通过利用单一战役来提供多个有效载荷来增加目标表面的做法,现在已经是一种成熟的做法。在使用这种技术提供销售点不常见的恶意软件,美国假日购物季的方法使网络罪犯有充足理由最大化回报活动被分配一个新的、强大的PoS恶意软件,可以捕获假日购物者的信用卡和借记卡交易。
更新2015年11月24日
进一步研究TINYLOODER和ABADDONPOS的样本,表明自2015年至少八月以来,这一威胁已在野外。目前最早的ABADDONPOS样本包括:
266ce6d907a90e83da0083eee06af123 - > svchost_bin - > 50.7.138.138:13131 - >编译时间戳2015-08-19 22:29:46
91992A1CAC7F15E899B22D9A53CABF71 - > SVCHOST_BIN - > 50.7.124.172:13131
538482356b4eb4e0552d16b08d5c2908 -> svchost_bin -> 50.7.124.172:13131
05134CD6A50440B2C6D9EF62D2C2C3A3 - > SVCHOST_BIN - > 50.7.124.172:13131
7b137055fd40c39bdc76d27ff4fc82ed -> 50.7.124.171:15151 -> Location: [hxxp://50.7.71[.]99/970/ad06b6e922623e436c7a.exe],下载TinyLoader.C (md5: 4aa0ca129358b82a285e0d069a36e7fb)
7e49d646cb74718dcce21d3d3ad948d1 - > svchost_bin - > 50.7.124.172:14141 - >位置:[hxxp://50.7.71 [。] 99 /上传/ 7e49d646cb.exe],由tinyloader.c下载(md5:3733b7a96e3091183d80b7a4914c830)
C7DB01BA6B73188640E0FB65AAB0D535 - > SVCHOST_BIN - > 50.7.124.172:15151
最早版本的abaddonpos主要是以它首先瞄准跟踪数据分隔符(“=”和“^”)来查找潜在信用卡数据而不是开始编号(“3”,“4”,“5”,和“6”)。
已经确定了三个早期版本的abaddonpos(信用:尼克霍夫曼):
81055D3E6AB2F349F334A87B090041DC - > SVCHOST_BIN - > 50.7.138 [。] 138:13030
DA0CD8228745081B58594103163D22B8 - > SVCHOST_SIN - > 50.7.138 [。] 138:13030
04B68E4F4C7583201397D6674A320397D6674A3E2503 - > SVCHOST_GHOST - > 50.7.138 [。] 138:14040
在原始帖子中分析的这些版本和AbaddonPOS版本之间的主要区别在于这些其他版本包含进程黑名单:不会扫描这些进程以扫描信用卡数据。实现是唯一的,因为它仅搜索每个进程的前四个字节;如果这四个字节匹配,那么它将搜索两个;如果这些匹配也是如此,将跳过该过程。(图12)黑名单包含以下部分进程名称:
svchso
Iexplo.
SMSS.E.
CSRSS。
Winlog.
lsass。
线轴
Alg.ex.
Firefo.
铬
威尼尼
蒸汽。
Skype。
dwm.ex.
图12:abaddonpos svchost.exe黑名单指令
校对点研究人员发现了Abaddonpos的以下额外散列:
4a85feef07d4aed664624331cdbcdd66 - > devil_task - > 5.8.60 [。] 23:21920
6ac78bc0bd16273c654cec105567c73e -> no startup mutex -> 5.8.60[.]23:21930
6B02FEF0580DCE8E49D27196CFF6825 - > M_RAY - > 193.28.179 [。] 13:20930
6F1D8CA36190668163F005C7F2C9007F - > M_Ray - > 193.28.179 [。] 13:20950
421dfc4856262445d12fe110bf4f2c56 -> DeviL_TasK -> 5.8.60[.]23:21940
9646E0A87BE71C225F2AA8639354BD4F - > M_Ray - > 193.28.179 [。] 13:20940
46810f106dbaaff5c3c701c71aa16ee9 -> no startup mutex -> 176.114.0[.] 163:21940
e9aeb88d393e6259b5fb520bc7a49ac0 -> M_REX -> 193.28.179[.]105:20910
这些actor可能使用的其他恶意软件包括:
(md5: 79dc1ce122f7bddd730d886df1a4739a, location: [hxxp://50.7.71[.]99/file/bin86crypt_full.exe])
Tinyloader.b(MD5:A94C51C5E316D6E3B1CDE1F80F99EB94)下载绒面绒(MD5:637B764C78DDDA0E1D5351A10B19BCB8,位置:[HXXP://50.7.71 [。] 214 /上传/ 7777.exe])
md5: c755c9532c1ee517b25f98719968e154 and md5: 9a2fb9aa94d78313420c4106108b5fef, location: [hxxp://80.79.123[.]98/aurum/c.work.exe
TinyLoader.C(MD5:19516ab9a7169c53bd811c975d5fea7d)用于下载Fleercivet(MD5:227e6b1f3e66f00a4fc683d4f39da904,位置:[hxxp://50.7.143 [] 61 / id_1123.exe。])和外带TinyLoader.C(MD5:a86b91fda7ec634e44e4b6b7e69ed659,位置:[HXXP://50.7.143 [。] 61 / 40930.exe])
这些参与者可能在某些时候也使用了CryptoWall,因为227e6b1f3e66f00a4fc683d4f39da904的impash匹配已知CryptoWall样本的impash (md5: 2af149845f4d1ce8e712622d3f1ec46e)。两个样本都是打包的,所以有可能是两个参与者使用了相同的打包/加密器或打包/加密服务。
参考
[3]https://www.prooppoint.com/us/threat-insight/post/in-the-shadows.
[5]http://researchcenter.paloaltonetworks.com/2015/10/understand-and-preventing-point-of-sale-attacks/
妥协指标(ioc)
IDS/IPS检测(ET签名id)
TinyLoader:
2020150-2020153,2020849-2020852,2812523,2812524,2814778,2814779,2814803
TinyDownloader.(下载ShellCode HTTP请求):
2814810.
Abaddonpos:
2814677-2814680
TinyLoader样本:
0 c77886a3ea42b75fcd860d4d97e72c5
A3EA1A008619687BDFEF08D2AF83F548
a53d8212a47bf25eeca87c1e27042686
a7a666ab9548fd1f0a8eb8050d8ca483
A9CC6736E573AD9E77359062E88114E2
aaac35389c9be79c67c4f5c4c630e5d5
B3A057F55A8FA2AAD5B8D212A42B4A88
BCF271E83C964EB1FD89E6F1A7B7A62F
c42f20e2a68b8829b52b8399b7b33bf2
d785592932323f6ddaa121bcdcbceba0
e08aeb0bfcbae33b851af9f8be413111
E92254F9CE7D6F45E907E77DE146EF37
EC322598EEC364A755B5AEA70D2A2DA8
1 c02f2f3fa15cc6a472119389d25983e
1C2A757C63EE418135E89CC8EF0D6E63
2 b3704e0acbcbc265d0d08502a9bf373
3 a7ac0c907b2c406ab480d4ed2f18161
3 f71031ce8ecb0f48847ccb8be86a5fe
4b86cbb2e9f195bef3770d877206068d
6ee164908A94A881032D0649E2BD2505
6 f7fabeb9ce76a1d52dbf5a40cbc74e8
7 b7ffdd46d1f7ccea146fd9d5a2412ae
7C69DC17977B3431FF15C1AE5927ED0D
7eddBF17A3D1E398621194B0F22402A7
8 d6d7a7d77215370d733bda57ef029f4
8df542e35225e0708cd2b3fe5e18ac79
9B340AC013C052FFB2BEB29D26009A24
47E5C290F3F443CCA027AA344CBF194F
54F1CDA856AE921846E27F6D7CC3D795
77F124332A17B3EF6C0B6A799AD0C888
89A19CCB91977D8B1A020F580083D014
9320175 f8af07503a2b2eb4d057bac07
885829081F91C6BAF4581666C3F42E281
a1d1ba04f3cb2cc6372b5986fadb1b9f
TINYLOADER C2 IP地址:
91.234.34 [。] 44
50.7.138 [。] 138
167年149.154.64(。)
5.8.60 [。] 23
176.114.0 [。] 165
abaddonpos样品:
5BF979F90307BAC11D13BE3031E4C6F9
A168FEF5D5A3851383946814F15D96A7
a55843235cd8e36c7e254c5c05662a5b
1 c19494385cb21b7e18252b5abd104f6
2B58F7CB4DF18509A743226064B30675
752DCAE6EB492263608A06489546098F.
976275965FCF19A98DA824B1959500C1
227年e6b1f3e66f00a4fc683d4f39da904
8 ca1278e2821fd2dd19c28725f754577
AC03E0E9F701366ADEDE78872E45F6182
12CD4DF2264624578919596371edee81
317F9C57F7983E2608D5B2F00DB954FF
F63E0A7CA8349E02342C502157C485D
0900582BA65C70A421B5D21D4ED21F16
4b0db5398f02dae5315f0baff1475807
703年f492b2624899ec47b929f65265bbb
5E33B1273B2E2D4CD0986B9873AB4BC4
d11c4a4f76b2bea502b80229a83c30bc
e50edb61e796c6ead88cac53719e2d00
DC1A975E20CA705C6C78DC24F1290B5
6 a6977ea317f0240a3dacc0753257518
5E06563F6303AB10C3CD46F0FD5C2D6
7EF654CDC7C2B54772400E26EB292CAF
946年be7ddd511ff9f49b5073896346eab
Abaddonpos Exfiltration C2 IP地址:
5.8.60 [。] 23:21910
5.8.60 [。] 23:21930
50.7.138 [。] 138:13030
50.7.138 [。] 138:15050
91.234.34 [。] 44:20940
91.234.34 44:20970。
149.154.64 [。] 167:20910
149.154.64 [。] 167:20920
149.154.64 167:20940。
149.154.64 167:20940。
176.114.0 165:20910。
176.114.0 [。] 165:21910
176.114.0 [。] 165:21940
观察到Abaddonpos位置网址:
[hxxp: / / 50.7.143 [] 61 / f_p / f_940.exe]
[HXXP://50.7.143 [。] 61 / n_p / n_940.exe]
[HXXP://50.7.143 [。] 61 / kor_up.exe]
[HXXP://50.7.143 [。] 61 / f_p / f_910.exe]
[HXXP://50.7.143 [。] 61 / f_p / 15050.exe]
[hxxp: / / 50.7.143 [] 61 / a_p / a_970.exe]
[hxxp://50.7.143 [。] 61 / x_file / x_910.exe]
[hxxp: / / 50.7.143 [] 61 / x_file / x_930.exe]
[hxxp://50.7.143 [。] 61 / files / p_910.exe]
[hxxp: / / 50.7.143 [] 61 / a_p / a_970.exe]
[hxxp://50.7.138 [。] 138 / file_x / x_910.exe]
[hxxp://50.7.138 [。] 138 / file_x / x_930.exe]
[HXXP://50.7.138 [。] 138 / n_940.exe]
[hxxp: / / 50.7.138 [] 138 / n_910.exe]
[HXXP://50.7.71 [。] 99 / Explorer.exe]
Abaddonpos Yara Signature:
规则abaddonpos.
{
元:
描述=“abaddonpos”
作者=“Darien Huss,校样点”
参考= " md5,317f9c57f7983e2608d5b2f00db954ff "
字符串:
$s1 = "devil_host"全字ASCII码
$s2 = "Chrome" fullword ascii
$ s3 =“软件\\ Microsoft \\ Windows \\ CurrentVersion \\ Run”全文ASCII
$ i1 = {31 ??81 ??55 89 E5 8B 74}
状况:
UINT16(0)== 0x5a4d和(所有($ s *)或$ i1)和文件大小<= 10kb
}
代码比较样本
TinyLoader。1, e4906b4cfcad2e8d34a4937fa0c93e2
TinyLoader。B1, c0d530c9724d7c42adab3c7030a2383b
tinyloader.b2,bd69714997e839618a7db82484819552
tinyloader.c,739cea68598ae347fae1d983e16a7d27
TinyLoader。D1 7 eddbf17a3d1e398621194b0f22402a7
tinyloader.x64,b10444fcb83c03a5d6395831721fe750
abaddonpos,f63e0a7ca8349002342c502157c485d
订阅校对点博客