MacOS 的 ssl4.plist 挖矿病毒排查记录

平时遇到基本上是 Linux 挖矿病毒,MacOS 还是第一次见,记录一下排查过程

发现

最近在内网发现大量挖矿告警,payload 如下:

1
2
3
4
5
6
7
8
9
10
{
"method": "login",
"params": {
"login": "",
"pass": "",
"rigid": "",
"agent": "xmr-stak/2.10.1/65ade74b9/master/mac/amd-cpu/20"
},
"id": 1
}

目的 ip 是:43.249.204.183,端口 8888

排查

由于是异地办公机,于是就只能要了个 vpn 远程控制进行排查。顺便吹一波 MacOS,内网远程控制特别方便:
首先确保防火墙是关闭的

然后点击 共享,

然后再点击 电脑设置

这个 打钩

然后 屏幕共享 勾选

右边会出现一个 vnc://ip,让你小伙伴把这个发给你就行了。打开 finder 之后,按 cmd+k

vnc://ip 拷贝进来,点击 连接 就 ok 了。然后会有个提示让你二选一,选择第一个就行(类似 什么权限申请之类的),然后你的小伙伴需要点个 确定,你就能看到小伙伴的屏幕了。

既然有通信的 ip,那当然是直接上 virustotal 看一下了:

可以看到,这个 ip 绑定的域名出现过恶意文件 ssl.zip,查看详情的时候会发现很多查杀的结果是挖矿病毒:

与现象吻合。

登陆之后,本来想打开 活动监视器 的,结果直接闪退。。。用 top 看了一下进程:

这个叫 ssl4.plist 的进程稳定占用了 80% 的 CPU,看了一下这个 pid 的路径:

1
2
3
$ lsof -p 37680
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssl4.plis 37680 macbook cwd DIR 1,4 256 33624176 /Users/macbook/Library/Caches/com.apple.XV

该目录的目录树:

1
2
3
4
5
6
7
8
9
10
11
» tree
.
├── config.txt # 钱包配置文件
├── cpu.txt # 性能限制的配置文件
├── openssl
│   └── lib # 必要的动态库
│   ├── libcrypto.1.0.0.dylib
│   └── libssl.1.0.0.dylib
├── pools.txt # 矿池配置文件
├── ssl3.plist # xmr-stak-rx
└── ssl4.plist # xmr-stak-rx

ssl3.plistssl4.plist 其实都是 xmr-stak-rx

1
2
» ./ssl4.plist -v
Version: xmr-stak-rx 1.0.4-rx 65ade74b9

随便提一下,xmr-stak 是一款集成了 CPU、GPU 挖矿的工具,由最初的 xmr-stak-cpuxmr-stak-amdxmr-stak-nvidia 三款集成而来,支持 64 位的 Windows、Linux 和 MacOS 系统。后面还出了 xmr-stak-rx,支持 RandomX 算法,感兴趣的可以自行搜索。

kill 了之后,还会有个 osascript 占用有点高:

然后过了一会 ssl4.plist 又出现了。不过也算意料之中,挖矿病毒一般都有自启动/常驻留的方式,比如 Linux 有 开机自启动 /etc/init.d/ 和 crontab。而 MacOS 也有 crontab 和开机自启动的脚本:

  1. /Library/LaunchDaemons:系统启动时运行,用户不登录也会运行
  2. /Library/LaunchAgents:用户登录后运行
  3. ~/Library/LaunchAgents:用户自定义的用户启动项
  4. /System/Library/LaunchDaemons:系统自带的启动项
  5. /System/Library/LaunchAgents:系统自带的启动项

这些目录下的每个 .plist 文件中,有 3 个属性控制着是否会开机自动启动:

  1. KeepAlive:决定程序是否需要一直运行,如果是 false 则需要时才启动。默认 false
  2. RunAtLoad:开机时是否运行。默认 false
  3. SuccessfulExit:此项为 true 时,程序正常退出时重启(即退出码为 0);为 false 时,程序非正常退出时重启。此项设置时会隐含默认 RunAtLoad = true,因为程序需要至少运行一次才能获得退出状态

而在 ~/Library/LaunchAgents 里就有 com.apple.FB1.plistcom.apple.XV.plist

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ cat ./com.apple.FB1.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.apple.FB1</string>
<key>Program</key>
<string>/usr/bin/osascript</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>do shell script "osascript ~/Library/LaunchAgents/com.apple.XV.plist"</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>60</integer>
<key>WatchPaths</key>
<array/>
</dict>
</plist>

至于 com.apple.XV.plist,是个二进制文件,又以 FasdUAS 开头,当 AppleScript 脚本被存储成 脚本 格式的时候(应该是被编译了),就是这个格式。准确的说,这个文件后缀应该是 .scpt。遗憾的是,这个脚本的作者在保存的时候选择了 仅运行,所以没法打开:

暂时没有找到逆向的方法,排查到此为止。

清理

  1. 删除 ~/Library/LaunchAgents 下的 com.apple.FB1.plistcom.apple.XV.plist(注意,文件名中的 FB1XV 可能是随机生成的)
  2. 删除 ~/Library/Caches/com.apple.XV/(注意,文件名与上面的 com.apple.XV.plist 对应。
  3. kill ssl4.plist(可能的格式为 ssl+数字.plist)以及 含有 osascript 的进程,比如:osascript /Users/xxx/Library/k.plist等等。(其实重启就好了应该
  4. 重启后再次确认是否有异常进程
  5. 检查是否有第三方网站下载的 app,或者盗版/破解版 app,卸载。

后续

收工之后,搜了一下 ondayon.com,找到了微步的一篇情报,差不多验证了我的猜测,其中也包括 活动监视器 闪退。另外这篇文章指出,感染的方式是安装了“破解版”的 APP 或者在第三方下载的 APP。

还有一篇更早的分析报告,很详细。

最后,从挖矿病毒的文件名来看,从最初的 ssl.plist 到现在的 ssl4.plist,可能已经变种很多次了。

其实上面的排查还差确认是哪个破解版的 app 附带的挖矿病毒,可惜找了一圈都没发现。下载了微步那篇文章里的样本,mac 版本太高没法运行;而根据安全客的文章,也没发现有单独的恶意脚本。猜测可能是安装的时候释放一次恶意脚本,然后就删除了,反正有自启动的方法。

IoC

IP

101.55.20.149
132.148.245.101
132.148.245.101
43.249.203.223
43.249.204.183
43.249.204.249
45.195.146.32

域名

fadayfa.com
funningx.com
ondayon.com
ondayon89464516.com
safaf4ghdn.space
sgposerverbc.com
wodaywo.com
wodaywo100001.com
wodaywo65465182.com
www.ondayon.com
www.wodaywo.com
www.wodaywo65465182.com

file url

http://ondayon.com:8080/ssl.zip
http://www.ondayon.com:8080/ssl.zip


来呀快活呀


MacOS 的 ssl4.plist 挖矿病毒排查记录
https://www.tr0y.wang/2020/03/05/MacOS的ssl4.plist挖矿病毒排查记录/
作者
Tr0y
发布于
2020年3月5日
更新于
2024年4月19日
许可协议