资讯动态

服务器挖矿程序入侵排查与清理实战

发布时间:2026/10/18 15:44:57 来源:尧图企业网站定制
半夜两点半被手机震醒打开一看是CPU使用率报警。那台服务器上跑的东西并不重平时负载不到1可监控面板里CPU已经连续五分钟拉满。登上机器看了一眼top进程列表第一行躺着一个名字很眼熟又有点陌生的进程CPU占用率稳稳压在95%以上可PID的启动时间和命令行又不像是服务商预装的系统组件。再往下翻发现它从某个临时目录反复拉起每杀一次过几十秒又自己回来了。这种场景干运维和服务器安全的朋友多多少少都撞见过。服务器被植入挖矿程序是当下互联网上非常普遍的入侵形态——攻击者拿到服务器权限后不删数据、不弹勒索、不改页面只是悄悄装一个挖矿程序借用你的CPU和带宽去日复一日地做哈希计算。因为不张扬很多服务器被“借用”了几个月甚至半年都没人发现。本文围绕服务器挖矿程序入侵排查与清理实战展开完整讲一遍我从发现告警、定位恶意进程、清掉残留文件、找到入侵入口再到加固服务器防复发的全过程以及中间踩过的坑和判断依据。内容偏实战适合有一定基础的运维、开发、独立站长参考也适合刚接触安全方向的新手建立一套完整的处置思路。1. 挖矿程序入侵后服务器会给你哪些“预警信号”1.1 CPU与负载的异常飙升先说最常见的信号CPU使用率和系统负载突然持续高位。正常业务服务器CPU使用率一般有固定曲线即便高峰期也不过冲上60%到80%而且会降下来。如果一台负载长期在个位数的机器某天开始7x24小时CPU跑满最优先怀疑的就是有程序在后台利用CPU干活。挖矿程序的核心就是算哈希对CPU消耗极大几乎都会把单核或多核跑满。但也别一看到CPU高就认定是挖矿业务代码死循环、高并发请求、数据库慢查询也能造成CPU高。判断的辅助手段是观察时间段挖矿往往是持续高频的不太随业务节奏波动。实际检测命令也不复杂top -c # 在top界面按 P 键按CPU使用率排序 ps aux --sort-%cpu | head -20 pidstat -u 1 5top -c可以显示完整命令行这一点很关键。很多恶意进程会伪装成系统进程名但完整命令行往往藏不住。比如看到/tmp/x、/var/tmp/...这种路径下的进程几乎没有正常业务会从临时目录直接运行二进制基本可以列为重点嫌疑。如果业务是Java或Python写的CPU高但进程路径符合预期那优先查业务自身如果进程路径落在临时目录、隐藏目录或者莫名其妙的一长串随机字符目录里那就要高度警惕。1.2 可疑网络连接和流量特征第二个高发信号是网络层异常。挖矿程序需要把算力结果上报给矿池程序会与外部某个IP或域名保持持续的TCP连接或者产生大量短连接。在业务服务器上这些连接往往既不是你的客户端也不是你主动访问的外部服务。检测手段ss -antp | awk $1ESTAB ss -antp | grep -v 127.0.0.1 lsof -i -n -P | grep ESTABLISHED从连接信息里找规律一个进程同时保持着几十条ESTABLISHED连接而且目标IP集中在某个网段源端口都在高位时间和CPU飙高时间段重合。再配合流量监控比如云平台的带宽监控会发现上行流量明显上涨。挖矿通信通常需要持续往外发数据包一天下来流量十分可观哪怕带宽不大也会在流量曲线上留下一条长长的“平顶”。我习惯顺手看一眼连接对应的进程PID再和第一步排查出的可疑进程对号入座。很多挖矿木马为了保持连接稳定会采用长连接加心跳的方式隔一段时间发一次数据。如果你发现某个进程的连接一直存在但业务上完全解释不通那就是一个很强的异常信号。1.3 账户、日志与安全告警里的端倪第三类信号不容易主动发现但事后排查价值很大。一个是被植入的SSH公钥与可疑系统用户攻击者为了回登服务器常常在~/.ssh/authorized_keys里追加自己的公钥或者创建名为sshd、sysadmin这类刻意模仿系统的账户。第二个是登录日志里出现陌生IP成功登录的记录或者大量失败登录尝试。第三个是云安全中心、基线检查等安全产品跳出的告警比如“检测到可疑命令行”“检测到恶意脚本下载”等。这些信号单独出现可能是误报但两三个同时出现基本就在告诉你这台机器已经被突破了。查看登录痕迹时我通常会执行这几条命令last -n 30 lastb -n 30 grep Accepted /var/log/secure | tail -30 grep Failed /var/log/secure | tail -30/var/log/secure是CentOS/RHEL系列的系统认证日志Debian/Ubuntu对应的是/var/log/auth.log。如果你的日志被攻击者清空了那至少还能通过last和lastb看到最近登录和失败尝试的痕迹。一旦发现成功登录的来源IP不是自己的办公网段也不是服务商跳板机那这就是一个非常明确的入侵信号。2. 一条完整的排查链路从进程到网络再到文件和计划任务2.1 进程排查先搞清楚谁在跑、跑在哪接到告警后的第一步先把“异常进程”的全貌看清楚而不是急着kill。我个人在处置时会按下面的顺序把证据留存一遍进程树、可执行文件路径、启动时间、父进程。留存证据的意义在于挖矿程序往往不是单个文件而是由一个“投放器下载脚本挖矿主程序守护进程”组成的团伙。只杀主程序守护脚本会再拉起来只删脚本已经落盘的二进制还在跑。把进程关系和文件路径记录完整后面清理才不会有遗留。我最常执行的命令组合# 按CPU占比列出进程 ps -eo pid,ppid,user,stat,%cpu,etime,cmd --sort-%cpu | head -30 # 查看指定PID的细粒度信息 ls -l /proc/PID/exe ls -l /proc/PID/cwd cat /proc/PID/status | grep -E Name|PPid|Uid lsof -p PID/proc/PID/exe这一项很关键它直接指向进程对应的可执行文件真实路径。有时候进程显示的名字是[kworker]或ksoftirqd这种内核线程风格但exe路径却落在/tmp/.x或者/usr/lib/xx/下明显是伪造名字的普通程序。另外还要看父进程PPID如果父进程是一个crond或者nginxworker说明它可能是被计划任务或web服务漏洞拉起来的。父进程为1systemd的进程也要留意它可能是被守护脚本通过double-fork方式孤儿化后常驻的。2.2 网络连接排查找出加密矿池通信进程确认后立刻看它的网络活动。挖矿程序一定会和矿池通信找出通信对端一是能确认这台机器确实在挖矿二是攻击者后续的管理通道往往也会复用类似的连接模式。命令ss -antp | grep PID ss -antp | grep -E 443|3333|4444|5555|8080|4445第三行我在处置中会特别跑一遍攻击者常喜欢用一些特定高位端口或非标准端口作为矿池通信端口。但这个端口号列表仅供参考不能作为唯一判断需要和进程、流量结合看。另一个重要操作是看DNS缓存或进程发起的域名解析有些挖矿木马会把矿池域名硬编码进二进制或脚本cat /etc/resolv.conf find /var/log -name *.log | xargs grep -i 可疑域名我的判断标准很简单不关心这个IP在哪个国家、属于哪家机房只看“业务是否需要这种外联”。需要判断依据的是进程的身份、路径、启动时间、和业务代码的关联。没有任何关联的可疑连接直接列为恶意不需要犹豫。2.3 计划任务、systemd和LD_PRELOAD三重持久化排查清理前必须先摸清持久化。挖矿程序要长期存活通常会通过某种机制实现“杀完自动复活”最常见的有三类。第一是计划任务。攻击者会在crontab里写入每分钟拉脚本执行的条目或者把脚本放进/etc/cron.d/、/var/spool/cron/下。排查crontab -l cat /etc/crontab ls -la /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ for c in /var/spool/cron/*; do echo $c ; cat $c; done挖矿用的计划任务特征很明显执行周期非常短往往是*/1 * * * *甚至* * * * *执行的命令多半是curl或wget从远程地址拉一个脚本再bash执行或者直接执行/tmp/xxx下的某个脚本。这种条目在正常业务服务器上几乎不会出现。第二是systemd服务。攻击者会在/etc/systemd/system/或/lib/systemd/system/下放一个精心命名的service文件设置Restartalways再通过daemon-reload加载。排查命令systemctl list-units --typeservice --staterunning systemctl list-timers find /etc/systemd/system/ -name *.service -mtime -30 systemctl cat 可疑服务名第三是LD_PRELOAD预加载注入。这个相对高级攻击者把恶意so文件写进/etc/ld.so.preload或者通过环境变量注入让系统里所有新启动的进程都加载恶意库以此隐藏进程或者实现提权。检查方法cat /etc/ld.so.preload cat /etc/ld.so.conf echo $LD_PRELOAD/etc/ld.so.preload文件在干净系统上通常不存在看到它本身就是危险信号。如果里面出现了一个不在你自己预期内的路径意味着系统启动链已经被污染即便你清掉所有计划任务和进程新起的进程也可能被重新注入。这一项是很多人会漏掉的持久化点处置不干净、几天后复发的案例里有相当比例是栽在这里。2.4 文件系统定位临时目录、可疑二进制和挖矿附件进程、连接、持久化都摸清了接下来把文件找出来。挖矿程序最喜欢放的路径包括/tmp、/var/tmp、/dev/shm、/var/tmp/.x这类带隐藏点或者看似随机的目录名。原因很简单这些目录任何用户都能写不需要提权而且不容易引起注意。查找方法ls -la /tmp /var/tmp /dev/shm find /tmp /var/tmp /dev/shm -type f -mtime -7 -ls 2/dev/null find / -path /proc -prune -o -name *.sh -mtime -3 -print 2/dev/null ls -l --timectime /usr/bin/ | sort -k6查看文件时要注意时间属性mtime内容修改时间、ctime状态变更时间、atime访问时间三个时间都能用来判断文件是什么时候落盘的。攻击者常用touch -r把mtime改成和系统库文件一致但通常改不了ctime。如果你发现某文件mtime很旧ctime却是最近的时间那基本可以断定是伪造时间的恶意文件。另一个值得注意的点是有些挖矿木马会释放“挖矿附属文件”比如用来隐藏进程的lib库、记录矿池地址的配置文件、日志文件。这些附属文件散落在各种目录删除时要用本文第3章的完整流程避免只删了主二进制、漏掉配置文件进程起来后重新生成一切。3. 清理不等于kill进程处置顺序与复发原因分析3.1 先断通信还是先杀进程很多人的第一反应是kill -9 PID这个动作本身没问题但顺序有讲究。我的建议是分两种情况处理。如果服务器有云安全组或快照先通过安全组把出方向流量全部阻断或者针对可疑IP做黑名单断开恶意程序与矿池、攻击者的联系。这样做的好处是防止挖矿程序在被清理前把大量数据传出去。如果你用的是物理服务器也可以临时在iptables里加一条DROP规则指向矿池IP只阻断到矿池的通信不影响业务出网。断通信之后再杀进程清理文件。反过来操作会怎么样你kill掉进程的一瞬间恶意程序的守护脚本马上又拉一个起来新起来的进程重新连上矿池你就陷入“杀一个起一个”的拉锯战还会给攻击者更多反应时间。更重要的一点是攻击者可能还保留着SSH后门看到进程反复被杀他完全可以登录上来再次投毒甚至直接打包数据离开。先断外联相当于把攻击者和矿池的指令通道一并掐掉。3.2 清理步骤的正确顺序我梳理出一套相对稳妥的处置顺序这套步骤我在多次处置中都验证过留存证据。把ps、ss、crontab -l、/etc/passwd中可疑账户、文件指纹md5sum记录到干净的日志文件里并复制到本地或独立的取证目录。这一步很多人会忽略等清理完才想起来自己没有记录攻击者的文件特征和矿池地址想复盘时只剩下模糊记忆。阻断矿池通信。安全组出方向全阻断或对可疑IP执行iptables -A OUTPUT -d IP -j DROP。删除持久化配置。先清掉计划任务、systemd服务、LD_PRELOAD、启动脚本让恶意程序失去“重启拉活”的机制。这是和直觉相反的一步——大多数人先杀进程我要强调先断持久化。删掉计划任务后即使进程还活着它也失去了自动复活的能力后面的清理压力会小很多。杀进程、删文件。kill -9对应PID再用find把所有关联文件删除包括脚本、二进制、配置、日志。清理账户和后门。删掉攻击者创建的账户、移除~/.ssh/authorized_keys里的陌生公钥、检查/etc/passwd的UID 0账户。复查清单。重复最初的排查命令确认进程不在了、连接不在了、计划任务干净了。等10到15分钟再复查一次防止被二次入侵。上面的步骤看起来简单但每一步都有细节。比如删除文件前最好先用chattr i给可疑文件加个不可修改属性防止它被守护进程抢先改回来再比如清计划任务时不只要看root的crontab还要看每个系统用户的crontab和/etc/spool/cron/下的文件因为攻击者很可能创建了一个低权限用户来跑计划任务。3.3 为什么单纯kill一定复发我在各类社区看到最多的“翻车帖”就是kill了进程第二天CPU又满了。原因很简单挖矿程序在设计时就考虑了被杀的问题。最常见是组合拳一个脚本负责下载和部署一个二进制负责挖矿一个守护脚本负责检查进程是否存活不存活就重新拉起。你只杀其中一个其他两个会把链路补上。再加上计划任务每分钟执行你杀进程的速度甚至不如它拉起的速度。所以判断是否清理干净不能只看进程列表里有没有那个名字而要分三个层面验证进程层面没有可疑存活进程、持久化层面没有任何定时任务、服务、预加载可以重新拉起它、入口层面攻击路径已经被堵住否则攻击者可以再投一次。三个层面缺一个都不能算清理完成。3.4 清理后的验证标准清理完成不能直接收工。我的验证标准包括四个方向验证方向验证方法通过标准CPU与负载vmstat 1 10、uptime回落到业务正常水位网络连接ss -antp不再有指向矿池IP的连接持久化配置crontab -l、systemctl list-timers、cat /etc/ld.so.preload全部干净业务功能访问业务端口、执行业务请求功能正常无报错如果30分钟内CPU又起来优先怀疑持久化没有清干净或者入口没堵住被二次投毒。这时候不要重复同样的kill动作要回到第2章把排查链路重走一遍重点看是否有之前遗漏的计划任务、服务或隐藏进程。有时候恶意程序的自我保护会做得非常隐蔽比如把自己的PID伪装成内核线程PID藏在/proc里普通的ps都不会显示这时候用ps -eLf或者ls -la /proc/[0-9]*/cmdline逐个确认。4. 比清理更关键的入口排查挖矿程序到底怎么进来的4.1 SSH弱口令、密钥泄漏与暴力破解挖矿程序要进服务器最先被盘的往往是SSH这个入口。我多次处置的经验是很大比例的小型服务器和测试机都死在弱口令上。root密码是简单的123456、admin123或者某个人名域名加年份组合攻击者用现成的字典跑一遍几十秒就进去了。判断SSH是否被暴力破解查登录日志grep Failed password /var/log/secure | tail -50 grep Accepted password /var/log/secure | tail -20 last -n 50如果发现成功登录的来源IP不是你自己的或者失败尝试之后紧跟成功登录时间上形成“爆破成功”的链路那基本是弱口令或者密钥泄露导致。另外一个容易被忽略的点是~/.ssh/authorized_keys被追加公钥。攻击者一旦写入自己的公钥可以随时无声无息重新进入系统。我处置时会把每个用户目录的公钥文件通读一遍确认每一行公钥的备注都是有业务关联的。4.2 中间件与组件漏洞Redis、Docker、Web应用除了SSH直连挖矿型的入侵更多是钻了中间件和开源组件的漏洞。常见的高危入口包括组件常见端口典型风险Redis6379未设置密码或弱密码可写入计划任务、加载恶意模块Docker Daemon2375/2376API未授权可创建容器挂载宿主机目录MongoDB27017未授权访问数据可被勒索或植入挖矿老版本Web框架80/443远程命令执行、任意文件上传消息队列/数据库各种弱口令、漏洞RCE以Redis为例如果6379端口暴露在外网且没有设置requirepass攻击者直接用redis-cli -h IP连上通过CONFIG SET dir写Cron脚本或者用主从同步加载恶意so文件一次就能把服务器拿下。这个入口之所以危险是因为Redis本身没有复杂的权限体系一旦可以连接就等同于拿到一个远程写文件的通道。排查时除了看业务本身有没有这些组件要重点看服务的监听地址。一个本应只监听内网的Redis如果监听在0.0.0.0:6379且没有访问控制那这个入口对攻击者是敞开着的。同样的思路适用于Docker、MySQL、MongoDB所有管理类端口都要确认是否只绑定了内网IP。4.3 怎么从日志和文件时间戳里还原入侵路径入口排查最怕的是“日志被清了”。攻击者拿到权限后往往会顺手清掉/var/log/secure、/var/log/auth.log、/root/.bash_history这些直接证据。在这种情况下降怎么办我从时间戳和残留物上还原路径核心思路是“找最早的那一坨恶意文件”。挖矿程序被投放必然有一个最先落地的文件或脚本。通过find / -mtime -N找出最近几天新增和修改的所有文件按时间顺序排列最前面的往往是投放器。再从投放器的内容和日志的系统时间对上号能大致推断出入侵窗口。如果攻击者清理了日志/root/.bash_history被清空还可以看/home/某个用户/.bash_history、/var/log/messages、/var/log/btmp这些不太常被清理的文件。btmp文件记录失败的登录尝试即使secure日志被清了btmp可能还在用lastb命令读取。另一个思路是查应用的访问日志比如Nginx、Tomcat日志里如果有可疑的请求路径包含执行命令、上传文件的痕迹那大概率是Web入口被打穿了。5. 加固动作清单让入侵者没有第二次机会5.1 认证与账户层面的加固入口找到了清理完恶意程序接下来是加固。第一层永远是认证和账户。关闭SSH密码登录改为公钥认证。/etc/ssh/sshd_config里设置PasswordAuthentication no。这一步直接废掉大部分虚假密码爆破。禁止root直接登录PermitRootLogin no。日常用普通用户加sudo攻击者爆破的难度和成本都会提高。修改所有系统组件默认口令尤其是Redis、MySQL、MongoDB不使用弱口令。清理可疑账户定期检查/etc/passwd、/etc/shadow把所有不是自己创建的、shell不是/sbin/nologin的账户挑出来确认。这套操作做完要验证一下sshd配置改完执行sshd -t检查语法再重启别让自己被关在门外。我遇到过不止一次加完PasswordAuthentication no之后忘记测试重启ssh服务才发现公钥文件权限不对被迫走VNC去修。这个细节很值得注意。5.2 网络暴露面收敛服务器的暴露面越大被攻击的概率越高。加固时做两件事第一按最小化原则放行端口。云安全组或者本机防火墙只开放业务必须的端口比如22、80、443、某个应用端口。其他端口一律默认拒绝。原本暴露的6379、2375这类管理端口如果没有外网访问需求一律收回到内网绑定或者直接不放行。第二对管理端口做来源IP白名单。SSH、数据库、管理后台这类端口只允许自己的办公网IP段访问。这一步能直接把攻击面从全网缩小到一个或几个IP暴力破解基本失去意义。iptables示例iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP这里要注意顺序白名单规则要放在DROP规则前面。如果机器本身有云安全组最好在安全组层做限制本机防火墙作为第二层保险。只在单机防火墙做限制一旦服务商控制台出问题你要临时开放端口时会比较被动。5.3 运行时监控与文件完整性加固不是一锤子买卖持续监控才能保证安全状态不倒退。我建议的监控组合包括云监控或开源监控工具的CPU、带宽、磁盘IO告警阈值设在业务正常水位上浮一定比率异常时能第一时间收到提醒。配置计划任务或审计工具定期检查关键目录和系统文件的哈希比如用aide或简单脚本把/bin、/usr/bin、/etc/passwd、/root/.ssh/authorized_keys的哈希基线存起来每日比对。定期查看登录日志重点看有没有陌生IP的成功登录。可以用脚本每周推送一次last的输出摘要。这些监控里最值钱的是那个“第一时间告警”。挖矿程序从植入到被察觉往往有几个小时的黄金处置窗口趁攻击者还没把文件传完、还没做二次驻留的时候就发现清理难度比彻底入侵后低一个量级。我自己用的告警阈值是CPU连续5分钟超过平时峰值的2倍带宽连续10分钟超过平时峰值的2倍。这个阈值要结合业务特性设置过于灵敏会误报轰炸过于宽松又失去意义。5.4 干净备份与恢复预案最后一条我每次都会提保留一个干净的离线备份或快照并且定期演练恢复。很多服务器在清理完成之后业务文件已经被篡改或污染找不回原始状态只能靠备份恢复。备份的校验也很关键最好在备份里就确认安全不要等出事了才发现备份里面也有后门。针对比较重要的服务器我建议设置自动化快照保留最近几份再每月做一次恢复演练确认数据和配置能正常拉起。这个动作在平时看着多余真遇到入侵或者误删的时候能省下大量重建时间。备份恢复演练的具体操作也不复杂在另一台临时机器上用备份起一个同样的环境验证核心功能跑一个可能被攻击的组件比如Redis、Web应用确认干净然后把这份备份标记为“可信基线”日常的变更都基于这个基线展开。6. 一次真实处置过程的全复盘与巡检建议6.1 处置时间线还原为了把前面说的排查、清理、加固串起来我复盘一次今年某一台测试服务器的处置过程。这台机器跑着一个内部系统配置不高四核8G某天凌晨云监控连续推送三次CPU告警。我登录后第一步是top按CPU排序看到了一个叫ksoftirqd的进程占130%CPU。这个名字原本是内核线程的命名风格但真正的内核线程不会显示在普通用户进程列表里也不会吃这么高的CPU。我随后查了ls -l /proc/PID/exe路径在/tmp/.work/下这就对上了——不是系统组件是伪造名字的恶意程序。接着看连接ss -antp里这个进程维持着两条到外部某IP的ESTABLISHED连接。计划任务里有一条每分钟执行的记录内容是curl ... | bash -s。/tmp/.work下有一个主程序、一个守护脚本、一个日志文件。我先把安全组出方向临时阻断删掉计划任务kill进程再删除整个.work目录清理了系统日志里被追加的恶意账户和一个陌生SSH公钥。整个过程大约40分钟。第二天收到邮件说Redis服务6379端口曾对外暴露。我重新检查配置才发现这台机器上Redis用于缓存但监听在0.0.0.0且没有设置requirepass。攻击者通过Redis未授权访问写入计划任务下载挖矿程序。这也是前面说的“入口排查”环节里最容易漏的部分。清理完Redis配置了强口令并将监听地址改回到内网。时间点动作结果02:30收到CPU告警确认进程异常02:40完成进程、连接、计划任务排查定位恶意程序03:10断外联、清持久化、杀进程、删文件进程不再复发10:30排查Redis入口确认未授权访问导致入侵11:00完成Redis加固与全盘复查服务器恢复正常6.2 复盘当时做对的和遗漏的做对的几点没有一上来就动进程先保留了进程、连接、计划任务的现场证据后续复盘有依据。先断通信再清理中间没有给它继续上传和操作的机会。动手之前确认了业务侧不受影响避免了误杀正常服务的尴尬。遗漏和教训首次处置时只清理了进程侧没有第一时间检查Redis监听和口令配置差点让入侵路径遗留。如果攻击者只是当时恰好没再做二次投毒这台机器早晚还会被重新进来。没有在处置完成后立刻改全部密钥公钥清理只是去掉了已知的恶意钥匙如果还有潜伏的公钥或者密码没改风险还在。处置时没有把恶意文件的完整样本备份到隔离环境后续想做进一步分析时缺少了原始材料。这些教训让我之后把处置流程固定成模板断网-留存-清持久化-杀进程-删文件-查入口-加固-复查缺一步都要问一句为什么。6.3 后续巡检的几个小习惯处置完这台机器后我给自己定了几条小习惯实践下来对提前发现这类问题很有帮助每周花两分钟看一次登录日志和SSH公钥文件列表。有时候攻击者早早就试过密码只是没成功日志里会有痕迹提前发现可以把风险扼杀在爆破阶段之前。给所有服务器设CPU和带宽告警阈值为业务平时峰值的1.5到2倍告警响了宁愿半夜起床也不等白天处理因为处置越早越简单。每周随机抽查一台机器的计划任务和开机自启项特别是那些没人打理的“遗产服务器”最容易变成矿机的温床。把本次处置的排查命令整理成脚本放到一台安全的跳板机上遇到问题能快速执行不用临时回忆命令。以上算是我在多次服务器挖矿程序排查与清理实战中沉淀下来的全部经验。内容上没有去解释那些过于底层的汇编级分析因为绝大多数运维场景里你需要做的不是逆向恶意代码而是快速判断、干净处置、堵住入口这三件事做到位服务器就能稳下来。如果你在处置时发现进程怎么杀都在、连接指向越来越偏僻的端口别慌回到那三条链路里重新走一遍多半能找到突破口。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑