挖矿病毒排查分析
一、挖矿病毒概述1. 常见植入流程攻击者上传并执行恶意程序或脚本。恶意程序启动后可能会清理其他同类进程或竞争样本。下载或释放挖矿程序。写入权限维持与持久化机制确保重启后仍可运行。2. 排查方向典型危害CPU 拉满网络阻塞服务器卡顿存在可疑外联3. 分析定性思路可以从以下两个方向进行定性分析进程分析通过可疑进程找到对应文件再将样本上传到威胁情报平台分析。网络分析通过异常外联找到 URL 或 IP再提交到威胁情报平台分析。4. 应急处置思路总体流程分析入口点 → 切断入口点 → 排查并清理病毒程序重点检查重启生效项启动项、计划任务等入侵入口利用了什么漏洞或弱口令及时隔离主机阻断异常网络通信二、靶场案例1. Windows Server 2022 挖矿事件账号Administrator / zgsf123参考https://mp.weixin.qq.com/s/Z789QrPTAopCc7RftAK1QQ练习重点如何定性为挖矿事件处置挖矿服务及任务处置挖矿攻击入口点修复攻击入口点隐患2. Linux CentOS 挖矿事件账号root / 1qaz2wsx3edc参考https://mp.weixin.qq.com/s/OuzkbDRVqeNmH_kgptjwug练习重点如何定性为挖矿事件处置挖矿服务及任务处置挖矿攻击入口点修复攻击入口点隐患三、Linux基础排查命令1. 进程查看查看进程资源占用挖矿程序通常会持续占用大量 CPUtop查看外联进程情况挖矿病毒通常存在异常网络连接netstat -anpt根据 PID 查看具体执行命令从而定位可疑文件路径ps -f PID2. 启动项检查列出当前用户计划任务crontab -l编辑当前用户计划任务crontab -e3. 服务检查查看所有服务状态systemctl list-units --typeservice --all只看运行中的服务systemctl list-units --typeservice --staterunning查看已启用开机自启动的服务systemctl list-unit-files --typeservice --stateenabled重点关注伪装成系统组件的可疑名字例如systemd-updateupdatekswapdclean查看某个服务的详细状态systemctl status ServiceName查看服务日志journalctl -u systemd-update.service -xe查看最近一小时日志journalctl --since 1 hour ago -u systemd-update.service4. 服务清除示例# 1. 停止服务防止它自动重启 sudo systemctl stop systemd-update.service # 2. 禁用开机自启动 sudo systemctl disable systemd-update.service # 3. 删除服务文件 sudo rm -f /etc/systemd/system/systemd-update.service # 如果有 timer定时器也一起删除 sudo rm -f /etc/systemd/system/systemd-update.timer # 4. 重新加载 systemd 配置 sudo systemctl daemon-reload sudo systemctl reset-failed # 5. 删除恶意脚本和日志 rm -f ~/.config/systemd-update.sh ~/.config/mining.log # 6. 额外清理 cron防止双保险 ls -al /etc/cron.* crontab -l | grep -v systemd-update | crontab - # 或直接 crontab -r清空所有用户 cron谨慎使用四、模拟样本与排查练习下面以一个简单的模拟脚本进行排查练习。1. 挖矿模拟脚本#!/bin/bash # # 【三重保险】守护进程 Systemd Timer Cron 持久化 # 仅供应急响应学习和红蓝对抗使用 - 教育目的 # 模拟真实挖矿病毒的多层“杀不死”机制 # MINER_NAMEminer_payload.sh WATCHDOG_NAMEwatchdog_guard.sh SERVICE_NAMEsystem-update TIMER_NAMEsystem-update.timer MINER_PATH/usr/local/bin/$MINER_NAME WATCHDOG_PATH/usr/local/bin/$WATCHDOG_NAME SERVICE_FILE/etc/systemd/system/${SERVICE_NAME}.service TIMER_FILE/etc/systemd/system/${SERVICE_NAME}.timer LOG_FILE/var/log/system-update.log WATCHDOG_LOG/var/log/watchdog.log # 1. 自我复制 cp $0 $MINER_PATH 2/dev/null || true chmod x $MINER_PATH # 2. 创建主挖矿脚本假 CPU 负载 cat $MINER_PATH EOF2 #!/bin/bash LOG_FILE/var/log/system-update.log echo [] Simulated Monero mining started (fake only)... $LOG_FILE while true; do result0 for i in {1..800000}; do result$((result i * i % 1000000)) done HASHRATE$((RANDOM % 35 65)) echo $(date %Y-%m-%d %H:%M:%S) | Block mined! Hashrate: ${HASHRATE} KH/s | Wallet: fake_xmr_wallet_abc123 $LOG_FILE sleep 2 done EOF2 chmod x $MINER_PATH # 3. 创建守护进程Watchdog cat $WATCHDOG_PATH EOF3 #!/bin/bash MINER_PATH/usr/local/bin/miner_payload.sh WATCHDOG_LOG/var/log/watchdog.log while true; do if ! pgrep -f miner_payload.sh /dev/null; then echo [$(date %Y-%m-%d %H:%M:%S)] Miner died → restarting... $WATCHDOG_LOG nohup bash $MINER_PATH /dev/null 21 fi sleep 3 done EOF3 chmod x $WATCHDOG_PATH # 4. 创建 Systemd Service运行 Watchdog cat $SERVICE_FILE EOF [Unit] DescriptionSystem Update Service Afternetwork.target [Service] Typesimple ExecStart$WATCHDOG_PATH Restartalways RestartSec2 Userroot Nice10 [Install] WantedBymulti-user.target EOF # 5. 创建 Systemd Timer每 5 秒触发一次 cat $TIMER_FILE EOF [Unit] DescriptionSystem Update Timer (Watchdog) [Timer] OnBootSec5 OnUnitActiveSec5 AccuracySec1us [Install] WantedBytimers.target EOF # 6. 启用 Systemd 服务和 Timer systemctl daemon-reload systemctl enable --now $SERVICE_NAME.service systemctl enable --now $SERVICE_NAME.timer echo [] Systemd Service Timer 已启用 # 7. 添加 Cron 多重计划任务reboot 每分钟检查 # 用户级 cron (crontab -l 2/dev/null; echo reboot nohup $WATCHDOG_PATH /dev/null 21 ) | crontab - # 系统级 cron cat /etc/cron.d/system-update EOF */1 * * * * root nohup $WATCHDOG_PATH /dev/null 21 reboot root nohup $WATCHDOG_PATH /dev/null 21 EOF echo [] Cron 计划任务已添加reboot 每分钟 echo [] 三重保险安装完成Watchdog Timer Cron echo [] 现在开始模拟挖矿... # 立即启动一次 nohup bash $MINER_PATH /dev/null 21 echo echo 安装完成请用下面命令练习排查和清除 echo 2. 启动模拟脚本chmod x eval.sh ./eval.sh3. 自评估脚本#!/bin/bash # # 三重保险挖矿病毒清理彻底度自测评分脚本 # 专为 watchdog systemd timer cron 三重机制设计 # echo echo 三重保险挖矿病毒清理彻底度评分工具 echo 当前时间: $(date) echo SCORE0 MAX_SCORE100 ISSUES() echo [1/8] 检查用户态恶意进程... if pgrep -f miner_payload.sh|watchdog_guard.sh /dev/null; then echo × 发现残留恶意进程miner 或 watchdog ps aux | grep -E miner_payload|watchdog_guard | grep -v grep ISSUES(残留进程) else echo ✓ 无用户态恶意进程 ((SCORE 20)) fi echo [2/8] 检查 Systemd Service... if systemctl list-unit-files 2/dev/null | grep -q system-update.service; then echo × 发现残留 system-update.service systemctl status system-update.service 2/dev/null | cat ISSUES(残留 Service) else echo ✓ system-update.service 已清理 ((SCORE 15)) fi echo [3/8] 检查 Systemd Timer... if systemctl list-unit-files 2/dev/null | grep -q system-update.timer; then echo × 发现残留 system-update.timer systemctl status system-update.timer 2/dev/null | cat ISSUES(残留 Timer) else echo ✓ system-update.timer 已清理 ((SCORE 15)) fi echo [4/8] 检查核心恶意文件... FILES_FOUND0 for file in /usr/local/bin/miner_payload.sh /usr/local/bin/watchdog_guard.sh /var/log/system-update.log /var/log/watchdog.log; do if [ -f $file ]; then echo × 发现残留文件: $file ((FILES_FOUND)) ISSUES(残留文件) fi done if [ $FILES_FOUND -eq 0 ]; then echo ✓ 所有核心恶意文件已删除 ((SCORE 20)) fi echo [5/8] 检查 Crontab用户级 系统级... CRON_USER$(crontab -l 2/dev/null | grep -E watchdog_guard|miner_payload|system-update) CRON_SYS$(ls /etc/cron.d/system-update 2/dev/null) if [ -n $CRON_USER ] || [ -n $CRON_SYS ]; then echo × 发现残留 Cron 任务 crontab -l 2/dev/null | grep -E watchdog|miner [ -f /etc/cron.d/system-update ] echo 系统级 cron: /etc/cron.d/system-update ISSUES(残留 Cron) else echo ✓ Crontab 已完全清理 ((SCORE 15)) fi echo [6/8] 检查日志文件... if [ -f /var/log/system-update.log ] || [ -f /var/log/watchdog.log ]; then echo × 发现残留日志文件 ISSUES(残留日志) else ((SCORE 5)) fi echo [7/8] 检查 systemd 缓存残留... if systemctl list-unit-files --typeservice,timer 2/dev/null | grep -q system-update; then echo × systemd 仍有 system-update 相关单元缓存 ISSUES(systemd 缓存) else ((SCORE 5)) fi echo [8/8] 最终验证... echo echo echo 你的清理彻底度得分: **$SCORE / $MAX_SCORE** 分 if [ $SCORE -ge 90 ]; then echo ✅ 优秀清理非常彻底三重保险机制已被完全清除。 elif [ $SCORE -ge 75 ]; then echo ✅ 良好基本清理干净还有少量改进空间。 elif [ $SCORE -ge 60 ]; then echo ⚠️ 中等还有明显残留重点检查 service/timer 或 cron。 else echo ❌ 清理不彻底请重点处理 systemd 和文件残留。 fi if [ ${#ISSUES[]} -gt 0 ]; then echo echo 发现的问题 for issue in ${ISSUES[]}; do echo - $issue done fi echo echo 清理建议 echo 1. systemctl stop system-update.service system-update.timer echo 2. systemctl disable system-update.service system-update.timer echo 3. rm -f /etc/systemd/system/system-update.* echo 4. systemctl daemon-reload systemctl reset-failed echo 5. reboot 后再次运行本脚本验证 echo 五、实际排查过程记录1. 使用top定位可疑进程两个进程都比较可疑先查看第一个ps -f 5126发现是一个挖矿进程这里是通过日志方式模拟挖矿。尝试停止kill -9 5126看似停止后再查看另一个ps -f 5160同样可疑继续尝试停止kill -9 5160进程又被拉起说明存在守护机制。2. 检查守护进程与服务systemctl status 9687尝试停止服务systemctl stop system-update显示刚停止又被启动因此继续检查system-update.timersystemctl status system-update.timer该定时器相当于看门狗会持续监听服务状态一旦停止就再次拉起。先处理看门狗服务# 停止 systemctl stop system-update.timer # 取消自启动 systemctl disable system-update.timer # 查看状态 systemctl status system-update.timer # 删除服务 rm -rf /etc/systemd/system/system-update.timer再处理挖矿服务# 停止 systemctl stop system-update # 取消自启动 systemctl disable system-update # 查看状态 systemctl status system-update # 删除服务 rm -rf /etc/systemd/system/system-update3. 继续检查系统占用top4. 定位并删除核心脚本查看miner_payload.sh和watchdog_guard.sh说明miner_payload.sh主挖矿脚本watchdog_guard.sh守护进程脚本删除这两个脚本rm -rf /usr/local/bin/miner_payload.sh /usr/local/bin/watchdog_guard.sh随后 kill 掉相关进程进程恢复正常。5. 检查启动项与计划任务查看当前用户计划任务crontab -l编辑计划任务crontab -e查看隐藏定时目录ls -al /etc/cron.*删除恶意定时任务rm -rf /etc/cron.d/system-update立即杀掉所有相关进程防止 watchdog 继续拉起sudo pkill -9 -f miner_payload.sh sudo pkill -9 -f watchdog_guard.sh sudo pkill -f system-update清理日志文件rm -rf /var/log/system-update.log rm -rf /var/log/watchdog.log使用自评脚本检测六、题解 / 最终清理命令# 1. 强制杀死两个核心脚本的所有进程 sudo pkill -9 -f miner_payload.sh sudo pkill -9 -f watchdog_guard.sh # 2. 停止并禁用 systemd 相关服务防止 watchdog 被再次拉起 sudo systemctl stop system-update.service system-update.timer 2/dev/null || true sudo systemctl disable system-update.service system-update.timer 2/dev/null || true # 3. 删除服务文件 sudo rm -f /etc/systemd/system/system-update.* # 4. 删除这两个核心恶意脚本 sudo rm -f /usr/local/bin/miner_payload.sh sudo rm -f /usr/local/bin/watchdog_guard.sh # 5. 删除产生的日志 sudo rm -f /var/log/system-update.log sudo rm -f /var/log/watchdog.log rm -rf /var/log/system-update.log # 6. 清理 cron crontab -r sudo rm -f /etc/cron.d/system-update # 7. 清理 systemd sudo systemctl daemon-reload sudo systemctl reset-failed # 8. 最后再杀一次保险 sudo pkill -9 -f miner_payload|watchdog_guard|system-update echo 核心脚本已删除请重启机器后验证 echo ps aux | grep -E miner|watchdog七、结合 AI 巡检工具的排查记录使用 AI 巡检工具https://github.com/hzhsec/AI-Security-Agent配置好api后1. Payload你是一名具备 root 权限和 shell 执行能力的 Linux 应急响应助手。当前主机疑似感染挖矿病毒表现为 CPU 占用异常偏高。请直接进入实战模式自主排查异常进程、异常网络连接、可疑 systemd 服务、定时任务、启动项、可疑文件和持久化机制并基于证据逐项分析和清理。不要只给建议必须给出并执行完整命令。对于每一个恶意 systemd 服务必须严格按以下顺序清理systemctl stop → systemctl disable → 删除 service 文件 → systemctl daemon-reload。同时清理相关脚本、二进制、计划任务、启动项、守护脚本、下载器、残留日志、临时文件和隐藏文件避免删后复活。最后输出1. 感染概述2. 排查结果3. 恶意项分析4. 实际执行的清理命令5. 完整的一键清理脚本6. 详细的病毒原理报告。要求内容严谨、命令可复制、执行顺序规范、尽量无残留。2. 开始前3. 启动后

相关新闻

告别HttpCanary:基于Frida RPC与Burp Suite的安卓加密流量实时篡改实战

告别HttpCanary:基于Frida RPC与Burp Suite的安卓加密流量实时篡改实战

1. 项目概述:为什么我们需要告别HttpCanary?如果你做过安卓应用的渗透测试或者逆向分析,尤其是面对那些请求体被加密得一塌糊涂的App,HttpCanary 这类抓包工具大概率是你的老朋友,也是你的“痛点”。它能抓到包&#x…

2026/7/2 8:34:30阅读更多 →
IntelliJ IDEA重命名避坑手册:5步精准验证,告别编译失败与运行时异常

IntelliJ IDEA重命名避坑手册:5步精准验证,告别编译失败与运行时异常

更多请点击: https://kaifayun.com 第一章:IntelliJ IDEA重命名避坑手册:5步精准验证,告别编译失败与运行时异常 IntelliJ IDEA 的 Rename 功能虽强大,但若未结合上下文验证,极易引发隐式引用失效、Spring…

2026/7/2 8:34:30阅读更多 →
终极指南:5步掌握网页资源智能捕获技术

终极指南:5步掌握网页资源智能捕获技术

终极指南:5步掌握网页资源智能捕获技术 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经在浏览网页时,发现一段精…

2026/7/2 8:34:30阅读更多 →
LinkSwift:2025年开源网盘工具革新,一键解锁九大平台高速下载体验

LinkSwift:2025年开源网盘工具革新,一键解锁九大平台高速下载体验

LinkSwift:2025年开源网盘工具革新,一键解锁九大平台高速下载体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘…

2026/7/2 9:39:41阅读更多 →
随机森林实战解密:原理、陷阱与生产部署

随机森林实战解密:原理、陷阱与生产部署

1. 这不是“又一个”随机森林教程——它是一份你真正能用上的实战手记我第一次在真实业务中部署随机森林,是给一家区域连锁药店做滞销药品预警。当时模型准确率卡在82%死活上不去,特征重要性图里排前三的变量全是“库存周转天数”“近30天采购频次”这类…

2026/7/2 9:39:41阅读更多 →
解锁Mac生产力新姿势,VMware虚拟化macOS实操手册:含EFI补丁、显卡加速、HiDPI适配三重硬核配置

解锁Mac生产力新姿势,VMware虚拟化macOS实操手册:含EFI补丁、显卡加速、HiDPI适配三重硬核配置

更多请点击: https://kaifayun.com 第一章:VMware虚拟化macOS的可行性与法律边界解析 在x86-64架构的Windows或Linux主机上,通过VMware Workstation Pro(v16.0)或VMware Fusion(macOS平台)运行…

2026/7/2 9:39:41阅读更多 →
租游戏号总踩坑?主流租号渠道售后保障能力横向对比

租游戏号总踩坑?主流租号渠道售后保障能力横向对比

对很多轻度手游玩家来说,租号是一种低门槛低成本体验高配账号的方式。但现在市面上大大小小的租号渠道越开越多,大家选平台时除了关注性价比、账号库存、登录便捷度,更要关心出了问题有没有可靠的售后兜底。租号过程中常见的登不上、被顶号、账号与描述不符、租金纠纷等问题,一…

2026/7/2 9:39:41阅读更多 →
三步搞定网盘限速:开源直链助手让下载速度飞起来

三步搞定网盘限速:开源直链助手让下载速度飞起来

三步搞定网盘限速:开源直链助手让下载速度飞起来 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …

2026/7/2 9:39:41阅读更多 →
如何在Blender中快速实现专业级3MF格式支持:终极免费插件指南

如何在Blender中快速实现专业级3MF格式支持:终极免费插件指南

如何在Blender中快速实现专业级3MF格式支持:终极免费插件指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 想要在Blender中无缝处理3D打印文件吗&#xff…

2026/7/2 9:34:41阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/1 5:19:01阅读更多 →
塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想在《塞尔达传说:旷野之息…

2026/7/2 0:03:01阅读更多 →
告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

在本地开发环境使用云厂商 CLI 时,传统的 AccessKey(AK)方式需要手动创建、下载和保管密钥,不仅繁琐,还存在泄漏风险。其实,主流云平台都已提供基于 OAuth 2.0 的免密认证方案,让开发者可以通过浏览器登录一次性完成授权,CLI 自动管理临时凭证的刷新,兼顾了便利与安全…

2026/7/2 0:03:01阅读更多 →
基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

1. 项目背景与核心价值在嵌入式系统开发领域,高精度定位与导航一直是极具挑战性的技术方向。传统方案往往面临成本、精度和实时性难以兼顾的困境。这个项目通过13DOF(13自由度)传感器组合与PIC32MZ2048EFH100高性能MCU的协同工作,…

2026/7/2 0:03:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/2 0:33:58阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/2 1:32:11阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/2 1:50:13阅读更多 →