两例Lazarus的样本分析
2020-01-23 19:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:93 收藏


本文为看雪论坛优秀文章

看雪论坛作者ID:顾何

0x00 前言
 

网上已经很多很多关于Lazarus的介绍,我也随便分享一下我对该组织的了解以及看法。


Lazarus Group ,又称Hidden Cobra、NICKEL ACADEMY、Guardians of Peace、ZINC....总之就是别名超级多,据说隶属于朝鲜人民军121局:


我个人觉得Lazarus 是全球最臭名昭著的APT组织了。

近两年勒索病毒泛滥,像GlobeImposter、GandCrab、CrySiS、CryptON...各种勒索以及变种数不胜数,根据数据表示,当今勒索泛滥的一个主要原因就是17年席卷全球的wannacry,而早些时候,wannacry被爆出与Lazarus 相关,很有可能就是Lazarus发起的。所以说是Lazarus 挑起了这个现在这个勒索站也不为过。

其次就是今年10月份的印度核电厂被攻击事件(https://mp.weixin.qq.com/s/haCZK4m3JVpmgxXNMj30hQ),此次攻击导致核电站的某一个反应堆被紧急关闭,种种迹象表明此次攻击或许也是Lazarus所为。

好在前段时间,我看了美剧《切尔诺贝利》,看到了如果核泄漏,将会给人类,给环境带来不可弥补的伤害,不由觉得对核电站发起攻击真的是有点丧心病狂。

还有一些其他原因,但是再写的话感觉此贴改为Lazarus 批判大会得了。就还是回到样本分析。

0x01 样本基本信息
 

>>>>

样本hash

此次两个样本攻击手法类似,都属于非PE样本,就一起写一下。


样本1 e1d363f853f2e666ef062102db360dce
样本2 6850189bbf5191a76761ab20f7c630e

>>>>

IOC

样本1
https://towingoperations.com/chat/chat.php
https://baseballcharlemagnelegardeur.com/wp-content/languages/common.php
https://www.tangowithcolette.com/pages/common.php

样本2
https://crabbedly.club/board.php
https://craypot.live/board.php
https://indagator.club/board.php

关联hash
6885d0dd48c08576c55966dc97072afa
c3626fb922d18361b6ce6822465bc453
4cbd45fe6d65f513447beb4509a9ae3d
da4981df65cc8b5263594bb71a0720a1
4345798b2a09fc782901e176bd0c69b6
e1d363f853f2e666ef062102db360dce
5c64d771b5e811cb810c591a1460c406
870e315b3bda54a13acd6cad5481e235
d150e39d9782a0bfff4a8c44a188e33c

>>>>

样本1

样本下载到本地,winhex查看一下,发现是ole格式的,应该是doc文档:


将样本添加后缀名doc,office2013打开:

看样子是一个典型的宏利用样本,启用宏并alt+f11查看宏代码:


还是利用之前帖子里面提到的aopr进行破解,破解之后打开宏代码如下:


可以看到代码最开始对操作系统做了一个判断,接着是一些解密和转换。


程序的入口点在最下面的AutoOpen函数:


AutoOpen函数

拼接路径"C:\Users\Shyt\AppData\Local\Temp\ujzwbyjntbpmh.ps1"
看到这里基本可以确定程序会将上面看到的数据解密并写入到ujzwbyjntbpmh.ps1文件中了。


由于我运行了两次,所以多出了一个snphhuatvsbkw.ps1文件,但其实两个文件是完全相同的,因为这里是根据随机数计算出来的文件名,所以每次运行,在%temp%目录下都会多一个文件。


接着程序会依次调用四个解密函数,将ps代码写入到刚才创建的文件中。


最后通过一句shell命令执行,这里shell命令翻译出来其实是:

Shell powershell -ExecutionPolicyBypass -file spath, 0

这里的spath就是释放的ps文件的路径

ujzwbyjntbpmh.ps1分析

打开ps文件,映入眼帘的是三个硬编码的C2地址:


https://towingoperations.com/chat/chat.php
https://baseballcharlemagnelegardeur.com/wp-content/languages/common.php
https://www.tangowithcolette.com/pages/common.php

域名分别为:
towingoperations.com
baseballcharlemagnelegardeur.com
www.tangowithcolette.com

该样本所用到的地址早已和Lazarus关联起来:


翻看一下代码,可以看到入口点在最后面的mlp函数:


直接上powershell ISE 调试:


在mlp函数下断点然后运行报错:

因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"

这是由于powershell权限导致的,以管理员身份启动一个powershell,执行set-executionpolicy remotesigned即可。


再次运行,成功命中断点:


在powershell ISE调试中

F10 逐过程
F11 单步
shift + F11 跳出函数
F5 运行
F9 设置断点

通过对代码的分析可知,程序最开始会调用sdducpt函数:


对于已经执行过的命令,可以在下方的DBG窗口中打印变量值:


这里可以看到又是利用随机数生成了两个字符串,结合后面的代码,$unm将作为请求参数,而$fnm应该是一个文件名。

接着是创建web访问对象,然后依次设置参数,最后发起请求。


请求信息如下:


如果请求失败则休眠60s:


然后请求其他地址,一直循环。


如果请求成功,则会通过$w.Write($pbdy,0,$pbdy.Length)发送一些其他数据到服务器。


格式化一下发送的$pdby:


远控模块分析

如果请求成功,则最后会执行到inses函数:


nmsg2 slp函数,程序休眠:


nmsg3 结束当前程序:


nmsg11 收集当前计算机一些基本信息,并进行格式转换,等待上传:


nmsg12 检索程序当前状态:


nmsg14 显示当前程序的一些配置信息:


nmsg15 更新恶意程序的配置文件:


nmsg18 以隐藏方式启动cmd:


nmsg20 上传文件:


nmsg21 下载文件:


nmsg24 通过Start-Process执行命令:


macOS模块分析

在宏代码中就已经判断了操作系统,如果是MacOS操作系统则执行如下代码:


程序通过curl下载https://nzssdm.com/assets/mt.dat保存到本地的/tmp目录,文件名为长度为12的随机字符。


然后通过chmon +x 给文件赋予权限。


popen执行

现在域名好像已经无法访问了,VT查询一下发现大概是今年五月份攻击者所使用的域名:


通过关联查询,找到了这个mt文件:


mt.dat是一个macOS下的二进制文件,下载到本地之后可以通过IDA查看
查看mt.dat文件的字符串信息:


可以看到请求头 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 和windows powershell脚本中一样,且出现了和powershell中相同的地址:


https://towingoperations.com/chat/chat.php
https://baseballcharlemagnelegardeur.com/wp-content/languages/common.php
https://www.tangowithcolette.com/pages/common.php

网络请求函数InitNetInfo:


如果InitNetInfo请求成功则通过Send函数发送数据;如果Send函数发送成功,则通过Recv接收;最后UninitNetInfo释放:


Send内容同powershell看到的基本相同:


macOS中的远控模块:


关联分析

该样本中有三个域名:

towingoperations.com
baseballcharlemagnelegardeur.com
www.tangowithcolette.com

towingoperations.com关联样本如下:


hash:
6885d0dd48c08576c55966dc97072afa
c3626fb922d18361b6ce6822465bc453
4cbd45fe6d65f513447beb4509a9ae3d
da4981df65cc8b5263594bb71a0720a1
4345798b2a09fc782901e176bd0c69b6

baseballcharlemagnelegardeur.com关联样本如下:


hash:
e1d363f853f2e666ef062102db360dce
5c64d771b5e811cb810c591a1460c406
4cbd45fe6d65f513447beb4509a9ae3d(重合)
870e315b3bda54a13acd6cad5481e235
4345798b2a09fc782901e176bd0c69b6(重合)

www.tangowithcolette.com关联样本如下:


hash:
d150e39d9782a0bfff4a8c44a188e33c
4cbd45fe6d65f513447beb4509a9ae3d(重合)
4345798b2a09fc782901e176bd0c69b6(重合)

>>>>

样本2

样本下载到本地,发现是xls格式文档,直接加上xls后缀:


office2013打开,样本以文件调查的形式展现,欺骗用户:


这个问卷的内容大概如下:


由于左上角突出的"启用内容"四个大字,该样本很有可能是利用宏进行攻击的,于是启用内容,并alt + f11 查看宏:


通过aopr工具清除密码后代码大概长这样:


大概分析一下,这个VBA脚本一共有三个函数:

Sub Doc_Data(pth)
Sub Doc_Init()
Sub SmileyFace1_Click()

根基之前Excel的表现来看,SmileyFace1_Click应该是触发函数,也就是最开始文档中的那个笑脸:


可以看到调用链如下:


SmileyFace1_Click -> Doc_Init -> Doc_Data


函数首先会判断AA1的值是否为0,如果为0则调用Doc_Init函数:


Doc_Init函数内容就比较简单:


其中有一句cpf = powershell -ExecutionPolicy Bypass -file
很明显这里是在temp目录下新建一个powershell脚本,并将这个路径作参数传递到Doc_Data中进行填充。


填充了之后会调用WinExec执行
文件路径为:"C:\Users\Shyt\AppData\Local\Temp\sopiiubuvsclwukz.ps1"


最后生成的powershell脚本:


样本1powershell代码分析

powershell进来首先是硬编码了三个url地址到auri变量:


根据逻辑,程序会先调用sdducpt函数:


$rq初始化完成如下:


请求失败后会sleep60s然后不断请求其他的C2地址


如果请求成功会返回$rq,最后该函数(ses)返回$rs = $true:


执行inses方法:


然后根据之前请求的返回值进行相关操作:


这里可以看到,两个样本释放的powershell代码结构,执行流程十分相似,几乎可以说是一模一样。就只是请求的域名、攻击的前半部分不太相同。

关联分析

样本2涉及到了三个地址:
https://crabbedly.club/board.php
https://craypot.live/board.php
https://indagator.club/board.php

可以看到域名已经被打上了Lazarus的标签:


0x02 总结
 

从这两个样本来看,目前Lazarus有一种比较经典的攻击方式,就是通过钓鱼邮件发送带有宏(宏带密码)的文档,然后通过宏解密释放powershell脚本到temp目录下,最后执行这个远控功能的powershell脚本。

而从此次攻击来看,Lazarus已经将攻击平台扩展到了MacOS,不得不说这个业务能力还是可以,生怕MacOS用户感受不到Lazarus的关爱。

本次分析的样本只是一种比较简单的攻击方式,之后遇到更多有意思的再分享~

- End -

看雪ID:顾何

https://bbs.pediy.com/user-757351.htm 

*本文由看雪论坛  顾何  原创,转载请注明来自看雪社区

推荐文章++++

实战栈溢出漏洞

栈溢出原理和利用

堆栈别乱用

栈溢出漏洞--GS和DEP

CVE-2019-0708 bluekeep 漏洞研究分析详细完整版

好书推荐

公众号ID:ikanxue
官方微博:看雪安全
商务合作:[email protected]
“阅读原文”一起来充电吧!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458303069&idx=1&sn=e9a8c167358c754d7b0f14d952897e9b&chksm=b1818ad786f603c1f49be34c57a8421d6fc5384c925393f5c0db58cd8b1ba92b96ec147a6bfb#rd
如有侵权请联系:admin#unsafe.sh