-
-
[原创]APT Lazarus 样本分析
-
发表于: 2022-6-27 18:51 15343
-
Lazarus(T-APT-15)组织是来自朝鲜的APT组织,该组织长期对韩国、美国进行渗透攻击,此外还对全球的金融机构进行攻击,堪称全球金融机构的最大威胁。该组织最早的攻击活动可以追溯到2007年。
样本为带宏word文档,运行文档后提示用户启用宏,宏在运行过程中解压PNG图片,释放hta恶意代码,创建二阶样本AppStore.exe。二阶样本通过硬编码密钥解密三阶样本到内存中并启动三阶样本。三阶样本尝试向420K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3A6A6L8X3A6A6L8Y4m8A6k6#2)9J5k6h3y4G2i4K6g2n7i4K6u0W2i4K6g2p5K9%4u0Q4c8e0y4Q4z5o6m8Q4z5o6q4E0j5h3W2D9i4K6u0W2L8X3q4E0N6i4y4G2k6Y4c8Q4y4f1u0Q4x3X3g2Q4y4f1c8C8M7W2!0q4y4g2!0n7b7W2!0n7b7g2!0q4y4#2!0m8b7W2)9^5b7W2!0q4z5g2)9&6x3#2!0n7c8g2!0q4y4W2)9^5c8g2!0m8y4g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5g2)9^5x3q4)9&6b7g2!0q4y4q4!0n7c8W2!0m8x3g2!0q4y4W2)9^5z5q4)9&6x3q4!0q4y4g2)9^5b7g2)9&6c8W2!0q4y4g2)9&6x3q4)9^5c8g2!0q4y4#2!0m8c8q4)9^5z5g2!0q4y4g2!0n7c8g2)9^5y4f1y4o6i4@1f1@1i4@1t1^5i4K6S2n7i4@1f1#2i4K6S2r3i4K6V1I4i4@1f1$3i4K6S2o6i4K6R3%4i4@1f1@1i4@1u0n7i4@1p5@1i4@1f1K6i4K6R3H3i4K6R3J5
MD5
表 基本信息
样本是一个带宏的韩文world文档,启用宏后自动创建“image003.png”,该图片中压缩了一段zlib恶意对象。随后宏代码将该PNG图片转换成名为“image003.zip”的BMP格式图片,其目的为:通过图片格式转换,解压PNG图片中zlib恶意对象。最后调用mshta运行zlib恶意对象解压出的hta代码,创建二阶样本AppStore.exe。
一阶样本是一个韩语world文档,打开文档后提示用户启用宏,启用宏后显示文档内容。
图 文档界面
图 文档内容
通过监控程序可以发现样本运行后创建了一系列文件
图 文件创建
ALT+F11打开文档宏,发现提示需要输入密码,这里用到工具“olddump.exe”(用pyinstaller将oledump.py打包成exe方便使用)绕过密码限制查看宏。宏代码中发现部分字符串用BS64方式编码,解码字符串,其含义为:WMI对象、mshta、“zip”文件后缀。经分析宏代码主流程为:创建“image003.png”并将.png格式转换为.bmp格式并重命名为“image003.zip”(image003.zip=image003.bmp),随后使用mshta运行“image003.zip”,最后删除目录。
图 宏代码
使用binwalk打开“image003.png”,发现其存在zlib压缩部分。BMP格式为未压缩图文格式,攻击者将zlib恶意对象压缩到PNG图中能避开静态检测,将PNG转换为BMP格式时会解压恶意zlib对象。
图 PNG格式
记事本打开“image003.bmp”,发现内部有js代码,其功能为:创建'C:/Users/Public/Libraries/AppStore.exe'。删除无用部分并修改“image003.bmp”为“image003.hta”,双击运行,即可获得二阶样本AppStore.exe。
图 BMP格式
表 基本信息
运行该样本后会产生网络链接,但样本自身无网络模块。样本多次使用解密及内存拷贝函数获取所需字符串。样本末尾存在大量加密字符串,经分析分别为二阶样本字符串解密密钥和三阶样本。
a)请求2个域名 565K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3A6A6L8X3A6A6L8Y4m8A6k6#2)9J5k6h3y4G2i4K6u0W2K9%4u0Q4c8e0y4Q4z5o6m8Q4z5o6q4E0j5h3W2D9i4K6u0W2L8X3q4E0N6i4y4G2k6Y4c8Q4x3X3g2C8M7W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5q4!0m8c8W2!0n7y4#2!0q4y4W2!0n7x3g2)9^5x3W2!0q4y4g2!0m8y4q4!0n7x3g2!0q4z5q4!0n7y4q4!0m8y4g2!0q4y4g2)9&6x3q4)9^5c8g2!0q4y4g2)9^5z5q4!0m8x3q4!0q4z5g2)9&6z5g2!0m8y4q4!0q4z5q4)9^5y4#2!0m8b7g2!0q4z5q4!0n7b7g2!0m8b7R3`.`.
b)尝试创建“C:\Users\root\AppData\Local\Temp\edg89COA.bat”
图 域名请求
图 文件创建
IDA打开样本,未发现网络模块,无注册表操作。样本存在文件创建函数、内存拷贝行为。winhex查看样本,在样本末尾处存在大量加密字符串,字符串经后续分析为解密密钥“by7mJSOkVDaWg*Ub”及三阶样本。
图 加密字符串
使用GetTickCount函数判断程序是否被调试。
图 判断程序是否被调试。
样本使用memset和memmove函数拷贝自身加密字符到新空间并利用自定义解密算法解密,获取三阶样本。通过该方式解密出三阶样本不会有驻留文件仅存于内存中。
图 解密三阶样本
表 基本信息
样本创建名为“Microsoft32”互斥体,通过解密函数解密字符串,获取kernel32.dll、WS2_32.dll、user32.dll、iphlpapi.dll相关函数。尝试向2个域名d77K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3A6A6L8X3A6A6L8Y4m8A6k6#2)9J5k6h3y4G2i4K6u0W2K9%4u0Q4c8e0y4Q4z5o6m8Q4z5o6q4E0j5h3W2D9i4K6u0W2L8X3q4E0N6i4y4G2k6Y4c8Q4x3X3g2C8M7W2!0q4y4g2)9^5c8W2)9&6x3g2!0q4z5g2)9^5x3q4)9^5x3g2!0q4y4W2)9&6y4g2!0n7x3q4!0q4y4W2)9^5c8q4!0m8c8g2!0q4y4g2!0n7z5g2!0n7y4W2!0q4y4g2)9^5c8W2)9&6x3g2!0q4y4#2)9^5c8g2!0n7x3q4!0q4y4W2)9&6b7#2)9^5z5e0g2Q4c8e0N6Q4b7e0N6Q4z5p5c8Q4c8e0k6Q4z5p5y4Q4z5o6N6Q4c8e0c8Q4b7V1u0Q4b7e0c8Q4c8e0y4Q4z5o6m8Q4z5o6t1`.
a)发现样本存在WS2_32.dll网络模块
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
- [原创]APT 摩诃草样本分析 13923
- [原创]APT 蔓灵花样本分析 10905
- [原创]APT 双尾蝎样本分析 9052
- [原创]APT Turla样本分析 11928
- [原创]APT Lazarus 样本分析 15344