目录
- 简介:什么是DDOS攻击?
- 一、使用阿里云的远程连接(VNC),而不是你自己的 SSH 工具
- 1. **SSH 可能被“中间人劫持”(MITM)**
- 2. **阿里云远程连接是“带外管理”(Out-of-Band)**
- 二、查找可疑进程
- 三、接下来要彻底清除它并防止复活。以下是完整操作指南(拿PID:22686举例):
- 第一步:立即终止进程
- 第二步:删除恶意文件
- 第三步:排查自启动方式(防止复活)
- 1. 检查 systemd 服务
- 2. 检查开机脚本
- 3. 检查 SSH 后门
- 4. 检查环境变量后门
- 四、现在检查工作已经完成,接下来进行加固,防止被再次入侵
- 1. 关闭密码登录
- 2. 修改 SSH 端口(可选)
- 3. 重启 SSH 服务
- 五、检查
- 1. 确认进程已消失
- 2. 确认文件已删除
- 3. 检查网络连接
- 六、你现在可以安全地使用你自己的 SSH 客户端登录了!
- 本地生成新密钥
- 2. **用 SSH 客户端登录**
- Xshell / FinalShell / Termius 等图形工具
- 总结:
一觉醒来——阿里云发来一条刺眼的告警:
“您的服务器正在对外发起 SSH 暴力破解攻击!”我瞬间清醒:我怎么可能去攻击别人?!
很显然,我的服务器已经被黑客控制,成了“肉鸡”。
本文记录了我从发现异常到彻底清除后门、加固系统的完整过程,希望能帮到同样遭遇入侵的朋友。
简介:什么是DDOS攻击?
攻击者控制大量 “肉鸡”(被感染的电脑、服务器、IoT 设备),同时向目标发起 DoS 攻击,攻击流量规模可达数百 Gbps,远超单源 DoS 的破坏力。常见类型:
- 网络层 DDoS:SYN Flood、UDP Flood、ICMP Flood(ping 洪水);
应用层 DDoS:HTTP Flood(模拟正常用户发送大量 GET/POST 请求)、CC 攻击(针对动态页面的持续请求)。
遇到这种情况怎么办?接下来看我是怎么处理的
一、使用阿里云的远程连接(VNC),而不是你自己的 SSH 工具
1.SSH 可能被“中间人劫持”(MITM)
黑客入侵后,可能会:
- 替换
/usr/sbin/sshd为恶意版本 - 修改
sshd_config加载恶意模块 - 记录所有输入的密码和命令
2.阿里云远程连接是“带外管理”(Out-of-Band)
- 它通过独立的 VNC 通道直接访问服务器的虚拟显卡和键盘
- 完全绕过操作系统网络层
- 即使系统被 rootkit 控制、SSH 被替换、防火墙被改,它依然可用
- 黑客无法监听或篡改这个连接
二、查找可疑进程
1.查找网络连接,看它怎么攻击别的服务器的
ss -tunp
2.执行top命令,查看可疑进程
3.检查近期可疑大文件
find/ -type f -mtime -3 -size +1M2>/dev/null|head-10发现可疑文件:
-rwxrwxr-x 1 root root 7140904 Nov 20 16:51 /usr/bin/ghvwi
三、接下来要彻底清除它并防止复活。以下是完整操作指南(拿PID:22686举例):
第一步:立即终止进程
kill-922686强制杀死进程(
-9表示不可被忽略)
第二步:删除恶意文件
# 删除主程序rm-f /usr/bin/cpnrop# 检查是否有隐藏副本(黑客常藏在这些目录)find/tmp /dev/shm /var/tmp /root -name"*cpnrop*"-type f -delete第三步:排查自启动方式(防止复活)
1. 检查 systemd 服务
systemctl list-unit-files|grep-i cpnrop#发现 `cpnrop.service`:停止进程,并且清除文件:
systemctl stop cpnrop systemctl disable cpnroprm-f /etc/systemd/system/cpnrop.service2. 检查开机脚本
cat/etc/rc.local#结果:未发现如果里面有cpnrop相关命令,用nano /etc/rc.local删除
3. 检查 SSH 后门
cat~/.ssh/authorized_keys#结果:未发现如果看到你不认识的公钥(尤其是带注释如pwned、hacker),立即清空:
echo"">~/.ssh/authorized_keys4. 检查环境变量后门
grep-r"cpnrop"/etc/profile.d/ /etc/bash.bashrc /root/.bashrc2>/dev/null# 未发现如果发现相关启动命令,用nano删除
四、现在检查工作已经完成,接下来进行加固,防止被再次入侵
1. 关闭密码登录
nano/etc/ssh/sshd_config确保以下配置:
PermitRootLogin without-password PasswordAuthentication no PubkeyAuthentication yes2. 修改 SSH 端口(可选)
一台新上线的云服务器,24 小时内平均会收到 5000+ 次 SSH 暴力破解尝试,全部指向 22 端口。
Port 22222并在阿里云安全组开放新端口
3. 重启 SSH 服务
systemctl restart sshd建议:重装系统,更安全可靠
五、检查
1. 确认进程已消失
psaux|grepcpnrop应该无输出
2. 确认文件已删除
ls/usr/bin/cpnrop应提示No such file or directory
3. 检查网络连接
#检查是否有对外攻击ss -tunp|grep':22'|grep-v'LISTEN'不应有异常出站连接
六、你现在可以安全地使用你自己的 SSH 客户端登录了!
本地生成新密钥
# Windows PowerShellssh-keygen -t rsa -b4096-f$HOME.ssh\aliyun_id_rsa这会生成:
- 私钥:
C:\Users<你>.ssh\aliyun_id_rsa - 公钥:
C:\Users<你>.ssh\aliyun_id_rsa.pub - known_hosts: 记录你曾经连接过的服务器的 SSH 公钥指纹
- 指纹备份
然后用阿里云远程连接,把公钥内容追加到服务器:
echo"你的公钥内容">>~/.ssh/authorized_keyschmod600~/.ssh/authorized_keys2.用 SSH 客户端登录
Xshell / FinalShell / Termius 等图形工具
- 主机:
x.x.x.x - 用户名:
root - 认证方式:Public Key
- 私钥文件:选择你本地的
aliyun_id_rsa
总结:
这次“服务器变肉鸡”的经历,让我深刻意识到:在网络安全中,没有“我只是个小站”的侥幸,只有“是否已做好防御”的区别。
黑客不会因为你网站流量小就放过你——自动化脚本 24 小时扫描全网开放 22 端口的机器,而默认密码或弱密钥就是他们的通行证。
但幸运的是,只要掌握正确的应急流程,我们完全有能力在损失扩大前快速止损、彻底清理、有效加固。关键在于三点:
- 第一时间隔离风险
用 VNC 而非 SSH 登录,避免二次泄露;不盲目重启,先取证再处置。 - 彻底清除,不留死角
杀进程只是开始,必须同步检查 systemd、定时任务、SSH 后门、启动脚本等所有持久化入口。 - 从根源杜绝再次入侵
关闭密码登录、改用密钥认证、修改默认端口、配置安全组——这些不是“高级操作”,而是基础生存技能。
最后想说:重装系统不是失败,而是对数据和业务最大的负责。如果你不确定是否清理干净,请果断重置。毕竟,一台干净的服务器,远比“看似正常”的傀儡机值得信赖。
愿你的服务器永远安宁,但若风雨来袭——希望这篇记录,能成为你手中的一把伞。