服务器被攻破后如何力挽狂澜?黑客行为分析+自愈脚本实战

一、入侵事件快速判定

1. 常见入侵迹象
  • 异常进程:存在/tmp/.x等隐藏进程
  • 未知用户/etc/passwd中出现hacker:x:0:0::/root:/bin/bash
  • 可疑连接:服务器主动外联非常用IP(如东欧地区)
# 快速检测工具链  
ps auxf | grep -E '(\./|tmp)'          # 检测可疑进程  
netstat -antp | grep ESTABLISHED       # 查看活跃连接  
cat /etc/passwd | grep -E ':0:'       # 检查特权用户  
2. 恶意文件特征识别
# 查找最近3天修改的可执行文件  
find / -type f -perm /111 -mtime -3 -print  
# 检测ELF文件异常段  
readelf -l /usr/bin/sshd | grep 'GNU_STACK'  

二、入侵应急响应五步法

1. 隔离网络
# 立即切断外网(保留SSH内网管理通道)  
iptables -P INPUT DROP  
iptables -A INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT  
2. 取证分析
# 全盘快照(AWS EC2示例)  
aws ec2 create-snapshot --volume-id vol-123456 --description "Attack_Evidence"  

# 内存取证(使用LiME)  
insmod lime.ko "path=/memdump.lime format=lime"  
3. 清除后门
# 检测SSH后门(Python示例)  
import hashlib  

valid_sshd_hash = "a1b2c3..."  
current_hash = hashlib.sha256(open("/usr/sbin/sshd","rb").read()).hexdigest()  

if current_hash != valid_sshd_hash:  
    print("SSH二进制文件被篡改!")  
    os.system("apt-get install --reinstall openssh-server")  

三、系统加固方案

1. 文件完整性监控(Python实时检测)
import hashlib, time, os  

BASE_DIR = "/etc"  
hashes = {}  

def init_hashes():  
    for root, _, files in os.walk(BASE_DIR):  
        for f in files:  
            path = os.path.join(root, f)  
            hashes[path] = hashlib.sha256(open(path,"rb").read()).hexdigest()  

def monitor():  
    while True:  
        for path in hashes.copy():  
            if not os.path.exists(path):  
                print(f"文件被删除: {path}")  
                continue  
            current_hash = hashlib.sha256(open(path,"rb").read()).hexdigest()  
            if current_hash != hashes[path]:  
                print(f"文件被篡改: {path}")  
                os.system(f"chattr +i {path}")  
        time.sleep(60)  

init_hashes()  
monitor()  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值