-
-
[原创]两例Lazarus的样本分析
-
发表于: 2019-12-3 16:29 4283
-
网上已经很多很多关于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月份的印度核电厂被攻击事件(d05K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8X3S2S2b7#2A6w2y4r3@1K6d9W2k6H3L8h3N6^5h3p5&6y4K9U0x3H3K9q4q4Q4c8f1k6Q4b7V1y4Q4z5o6W2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0k6Q4b7f1c8Q4b7e0c8Q4c8e0k6Q4b7f1y4Q4b7e0q4Q4c8e0k6Q4z5e0c8Q4b7V1u0Q4c8e0g2Q4z5o6N6Q4b7V1u0Q4c8e0g2Q4b7f1k6Q4b7V1y4Q4c8e0S2Q4z5o6N6Q4b7U0c8Q4c8e0k6Q4b7e0m8Q4b7U0S2Q4c8e0N6Q4z5e0c8Q4b7U0g2Q4c8e0N6Q4b7f1u0Q4z5e0W2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0k6Q4z5f1k6Q4z5e0m8Q4c8e0c8Q4b7U0S2Q4z5o6m8Q4c8e0c8Q4b7U0S2Q4b7f1q4Q4c8e0g2Q4z5p5k6Q4z5p5c8Q4c8e0g2Q4b7V1q4Q4z5e0c8Q4c8e0g2Q4b7e0m8Q4z5o6k6Q4c8e0S2Q4b7e0u0Q4b7f1u0Q4c8e0N6Q4b7U0c8Q4b7e0N6Q4c8e0k6Q4z5o6m8Q4b7e0g2Q4c8e0g2Q4z5o6g2Q4b7U0y4Q4c8e0W2Q4z5e0N6Q4b7f1c8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4b7e0N6Q4z5p5c8Q4c8e0N6Q4b7e0N6Q4z5p5c8Q4c8e0S2Q4b7V1k6Q4b7U0W2Q4c8e0S2Q4b7U0q4Q4b7e0q4Q4c8e0S2Q4b7e0q4Q4b7e0S2Q4c8e0k6Q4z5e0S2Q4z5p5g2Q4c8e0k6Q4b7f1c8Q4b7e0c8Q4c8e0k6Q4b7f1y4Q4b7e0q4Q4c8e0k6Q4z5e0c8Q4b7V1u0Q4c8e0g2Q4z5o6N6Q4b7V1u0Q4c8e0k6Q4z5o6S2Q4z5e0k6Q4c8e0S2Q4b7f1g2Q4b7U0S2Q4c8e0c8Q4b7U0W2Q4z5f1k6Q4c8e0k6Q4z5e0S2Q4b7f1k6x3j5i4A6S2M7Y4g2K6i4@1f1$3i4K6R3&6i4K6R3H3i4@1f1@1i4@1t1^5i4@1u0m8i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1$3i4K6R3I4i4@1t1H3i4@1f1#2i4@1p5#2i4@1u0p5i4@1f1#2i4K6W2o6i4@1p5^5i4@1f1#2i4K6R3&6i4K6S2p5i4@1f1$3i4@1q4q4i4@1t1#2i4@1f1$3i4K6V1%4i4@1t1$3i4@1f1&6i4K6V1%4i4@1t1@1i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1$3i4K6R3^5i4K6V1I4i4@1f1%4i4K6W2o6i4K6S2n7i4@1f1@1i4@1u0m8i4K6R3$3i4@1f1%4i4@1u0q4i4K6S2q4i4@1f1#2i4K6R3&6i4@1p5%4i4@1f1K6i4K6R3H3i4K6S2m8i4@1f1#2i4K6R3^5i4K6R3%4i4@1f1#2i4@1t1H3i4K6V1@1i4@1f1^5i4@1q4r3i4@1u0m8i4@1f1^5i4@1t1@1i4K6W2p5i4@1f1#2i4K6R3^5i4@1p5&6i4@1f1K6i4K6R3H3i4K6S2n7i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1%4i4K6W2o6i4K6S2n7i4@1f1#2i4K6R3^5i4@1t1H3i4@1f1@1i4@1u0m8i4K6R3$3i4@1f1#2i4@1p5$3i4K6R3J5i4@1f1$3i4K6W2q4i4K6W2o6i4@1f1$3i4@1p5H3i4@1t1^5i4@1f1$3i4@1t1K6i4K6R3@1i4@1f1$3i4@1u0o6i4K6S2r3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4@1t1H3i4K6R3$3i4@1f1@1i4@1u0o6i4K6W2m8i4@1f1%4i4@1u0n7i4K6V1&6i4@1f1@1i4@1u0m8i4@1u0m8i4@1f1%4i4@1t1I4i4@1u0n7i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1%4i4@1u0n7i4K6V1&6i4@1f1%4i4K6S2q4i4@1q4r3i4@1f1#2i4@1p5J5i4K6R3K6i4@1f1#2i4@1t1^5i4@1p5$3i4@1f1$3i4K6W2p5i4@1p5#2i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1#2i4K6S2r3i4@1q4r3i4@1f1#2i4@1u0o6i4@1p5#2i4@1f1^5i4@1p5I4i4@1p5#2i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1@1i4@1u0o6i4@1p5@1i4@1f1#2i4@1q4q4i4@1t1K6i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1%4i4K6V1@1i4@1t1I4i4@1f1^5i4@1p5%4i4K6R3&6i4@1f1#2i4@1u0q4i4K6V1%4i4@1f1#2i4@1q4r3i4@1t1&6i4@1f1$3i4@1p5H3i4@1t1^5i4@1f1%4i4K6V1@1i4@1t1#2i4@1f1%4i4@1q4n7i4K6V1&6i4@1f1#2i4K6S2r3i4K6V1I4i4@1f1^5i4@1t1#2i4@1t1%4i4@1f1$3i4K6V1@1i4@1u0n7i4@1f1#2i4K6R3%4i4@1u0n7i4@1f1%4i4K6W2o6i4K6W2r3i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1$3i4K6W2o6i4K6R3&6i4@1f1%4i4K6R3J5i4@1t1&6i4@1f1@1i4@1t1^5i4@1p5%4i4@1f1#2i4@1u0r3i4K6R3K6i4@1f1%4i4K6V1%4i4K6R3#2i4@1f1%4i4K6S2n7i4K6R3J5i4@1f1K6i4K6R3H3i4K6R3J5
还有一些其他原因,但是再写的话感觉此贴改为Lazarus 批判大会得了。就还是回到样本分析。
此次两个样本攻击手法类似,都属于非PE样本,就一起写一下。
样本1 e1d363f853f2e666ef062102db360dce
样本2 6850189bbf5191a76761ab20f7c630e
样本1
b44K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1L8%4N6A6L8X3N6G2M7r3g2J5j5i4c8A6L8$3&6K6i4K6u0W2j5$3!0E0i4K6u0r3j5$3S2S2N6q4)9J5c8X3y4Z5j5i4c8Q4x3X3g2H3K9s2l9`.
216K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5i4y4W2j5X3q4D9L8r3y4Z5j5i4u0D9k6h3#2S2k6$3&6W2L8r3g2Y4j5i4u0V1k6i4g2J5i4K6u0W2j5$3!0E0i4K6u0r3N6%4m8Q4x3X3c8U0L8$3&6@1k6h3&6@1i4K6u0r3L8r3q4F1k6%4g2S2k6$3g2K6i4K6u0r3j5$3!0E0L8h3!0F1i4K6u0W2M7r3S2H3
4d5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2@1j5h3&6Y4L8%4N6A6N6r3S2U0L8$3I4W2N6s2c8W2i4K6u0W2j5$3!0E0i4K6u0r3M7r3q4Y4k6i4y4Q4x3V1k6U0L8$3#2E0L8$3&6Q4x3X3g2H3K9s2l9`.
样本2:
b53K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0M7X3q4T1j5X3g2V1L8s2W2Q4x3X3g2U0L8s2g2T1i4K6u0r3j5X3!0S2M7X3c8Q4x3X3g2H3K9s2l9`.
3c9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0M7X3q4&6M7r3!0@1i4K6u0W2L8r3W2$3k6g2)9J5c8X3u0G2j5i4u0V1i4K6u0W2M7r3S2H3
ba1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6L8X3c8S2k6$3q4@1L8%4u0Q4x3X3g2U0L8s2g2T1i4K6u0r3j5X3!0S2M7X3c8Q4x3X3g2H3K9s2l9`.
关联hash:
6885d0dd48c08576c55966dc97072afa
c3626fb922d18361b6ce6822465bc453
4cbd45fe6d65f513447beb4509a9ae3d
da4981df65cc8b5263594bb71a0720a1
4345798b2a09fc782901e176bd0c69b6
e1d363f853f2e666ef062102db360dce
5c64d771b5e811cb810c591a1460c406
870e315b3bda54a13acd6cad5481e235
d150e39d9782a0bfff4a8c44a188e33c
样本下载到本地,winhex查看一下,发现是ole格式的,应该是doc文档:
将样本添加后缀名doc,office2013打开:
看样子是一个典型的宏利用样本,启用宏并alt+f11查看宏代码:
还是利用之前帖子里面提到的aopr进行破解,破解之后打开宏代码如下:
可以看到代码最开始对操作系统做了一个判断,接着是一些解密和转换。
程序的入口点在最下面的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文件的路径
打开ps文件,映入眼帘的是三个硬编码的C2地址:
270K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1L8%4N6A6L8X3N6G2M7r3g2J5j5i4c8A6L8$3&6K6i4K6u0W2j5$3!0E0i4K6u0r3j5$3S2S2N6q4)9J5c8X3y4Z5j5i4c8Q4x3X3g2H3K9s2l9`.
71eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5i4y4W2j5X3q4D9L8r3y4Z5j5i4u0D9k6h3#2S2k6$3&6W2L8r3g2Y4j5i4u0V1k6i4g2J5i4K6u0W2j5$3!0E0i4K6u0r3N6%4m8Q4x3X3c8U0L8$3&6@1k6h3&6@1i4K6u0r3L8r3q4F1k6%4g2S2k6$3g2K6i4K6u0r3j5$3!0E0L8h3!0F1i4K6u0W2M7r3S2H3
923K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2@1j5h3&6Y4L8%4N6A6N6r3S2U0L8$3I4W2N6s2c8W2i4K6u0W2j5$3!0E0i4K6u0r3M7r3q4Y4k6i4y4Q4x3V1k6U0L8$3#2E0L8$3&6Q4x3X3g2H3K9s2l9`.
域名分别为:
towingoperations.com
baseballcharlemagnelegardeur.com
e07K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4c8S2L8X3N6G2N6$3W2@1K9r3y4G2L8r3g2@1N6r3g2Q4x3X3g2U0L8$3@1`.
该样本所用到的地址早已和Lazarus关联起来
翻看一下代码,可以看到入口点在最后面的mlp函数
直接上powershell ISE 调试:
在mlp函数下断点然后运行报错
这是由于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操作系统则执行如下代码:
程序通过curl下载f7cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1P5Y4y4K6k6r3#2Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7%4y4W2N6s2y4Q4x3V1k6E0N6q4)9J5k6h3c8S2N6q4!0q4y4q4!0n7c8W2)9&6c8q4!0q4y4g2!0m8c8q4)9&6z5q4!0q4y4g2)9^5z5q4!0n7x3q4!0q4y4W2)9&6b7#2!0m8b7#2!0q4y4g2)9&6b7#2!0n7x3q4!0q4y4#2)9&6b7g2)9^5y4q4)9J5c8Y4c8E0M7q4!0q4y4#2)9&6b7W2!0m8c8g2!0q4y4g2!0n7c8q4)9&6y4g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4q4!0n7b7W2!0n7y4W2!0q4y4g2)9&6x3q4)9^5c8q4!0q4y4q4!0n7z5q4!0n7b7g2!0q4z5g2)9&6y4g2!0n7c8W2!0q4y4g2!0n7b7g2!0m8y4W2!0q4y4q4!0n7z5q4!0n7b7e0p5J5i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1&6i4K6W2m8i4K6S2r3i4@1f1$3i4K6W2o6i4@1u0m8i4@1f1#2i4@1q4p5i4K6V1%4i4@1f1%4i4@1q4o6i4@1p5$3i4@1f1K6i4K6R3H3i4K6R3J5
然后通过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中相同的地址:
525K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1L8%4N6A6L8X3N6G2M7r3g2J5j5i4c8A6L8$3&6K6i4K6u0W2j5$3!0E0i4K6u0r3j5$3S2S2N6q4)9J5c8X3y4Z5j5i4c8Q4x3X3g2H3K9s2l9`.
ae1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5i4y4W2j5X3q4D9L8r3y4Z5j5i4u0D9k6h3#2S2k6$3&6W2L8r3g2Y4j5i4u0V1k6i4g2J5i4K6u0W2j5$3!0E0i4K6u0r3N6%4m8Q4x3X3c8U0L8$3&6@1k6h3&6@1i4K6u0r3L8r3q4F1k6%4g2S2k6$3g2K6i4K6u0r3j5$3!0E0L8h3!0F1i4K6u0W2M7r3S2H3
376K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2@1j5h3&6Y4L8%4N6A6N6r3S2U0L8$3I4W2N6s2c8W2i4K6u0W2j5$3!0E0i4K6u0r3M7r3q4Y4k6i4y4Q4x3V1k6U0L8$3#2E0L8$3&6Q4x3X3g2H3K9s2l9`.
网络请求函数InitNetInfo:
如果InitNetInfo请求成功则通过Send函数发送数据
如果Send函数发送成功,则通过Recv接收
最后UninitNetInfo释放
Send内容同powershell看到的基本相同
macOS中的远控模块:
该样本中有三个域名:
towingoperations.com关联样本如下:
hash:
6885d0dd48c08576c55966dc97072afa
c3626fb922d18361b6ce6822465bc453
4cbd45fe6d65f513447beb4509a9ae3d
da4981df65cc8b5263594bb71a0720a1
4345798b2a09fc782901e176bd0c69b6
baseballcharlemagnelegardeur.com关联样本如下
hash:
e1d363f853f2e666ef062102db360dce
5c64d771b5e811cb810c591a1460c406
4cbd45fe6d65f513447beb4509a9ae3d(重合)
870e315b3bda54a13acd6cad5481e235
4345798b2a09fc782901e176bd0c69b6(重合)
ad8K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4c8S2L8X3N6G2N6$3W2@1K9r3y4G2L8r3g2@1N6r3g2Q4x3X3g2U0L8$3#2Q4c8e0g2Q4z5o6g2Q4b7U0y4Q4c8e0S2Q4z5o6q4Q4z5e0c8Q4c8e0k6Q4b7e0m8Q4b7U0N6Q4c8e0k6Q4z5f1y4Q4b7f1y4Q4c8e0g2Q4b7e0k6Q4z5o6u0Q4c8e0c8Q4b7U0S2Q4z5p5u0Q4c8f1k6Q4b7V1y4Q4z5f1p5`.
hash:
d150e39d9782a0bfff4a8c44a188e33c
4cbd45fe6d65f513447beb4509a9ae3d(重合)
4345798b2a09fc782901e176bd0c69b6(重合)
样本下载到本地,发现是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脚本
powershell进来首先是硬编码了三个url地址到auri变量:
根据逻辑,程序会先调用sdducpt函数:
$rq初始化完成如下:
请求失败后会sleep60s然后不断请求其他的C2地址
如果请求成功会返回$rq,最后该函数(ses)返回$rs = $true
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
- [推荐] [小活动] 庆祝建党,发帖送书送T恤 5040
- [原创] 分享一份恶意代码分析方向的基础技能表 22857
- [分享]分享一些平时在进行恶意代码分析时常用的网站 12444
- [原创]南亚APT组织"蔓灵花"历史攻击活动浅析(上) 7407