常见入侵手段

挖矿

  • 表象:CPU增高、可疑定时任务、外联矿池IP。
  • 告警:威胁情报(主要)、Hids、蜜罐(挖矿扩散时触发)
  • 动作:通过CPU确认异常情况→ 确认可疑进程 → 检查定时任务、主机服务、守护进程→结束病毒进程、删除病毒文件→加固。

WebShell

  • 表象:业务侧应用逻辑漏洞(允许上传脚本等造成命令执行)或者开源软件低版本造成(fastjson等)导致, 通常为反弹shell、高危命令执行,同时存在内网入侵、恶意程序传播、数据盗取等行为。
  • 告警:Hids(基于主机型入侵检测系统)、流量监控设备
  • 动作: 确认Webshell文件内容与可用性→ 酌情断网,摘掉公网出口IP→ 通过日志等确认Webshell文件访问记录→ 确定Webshell入侵来源,是业务逻辑漏洞导致、开源组件漏洞还是弱口令与未授权等情况导致 →排查应用其他机器情况,全盘扫描Webshell文件→ 缩容机器,修复相关问题重新恢复应用开放。

内网入侵

  • 表象:以入侵的跳板机为源头进行端口扫描、SSH爆破、内网渗透操作、域控攻击等。
  • 告警:Hids(主要)、蜜罐、域控监控(ATA等)
  • 动作:确定入侵边界再进行处理,通常蜜罐等存在批量扫描爆破记录,需登录前序遭入侵机器确认情况,方便后续批量处理

排查手段

进程相关

查询可疑端口、进程、ip:

1
2
3
4
5
6
yum -y install net-tools
netstat -ntlp | more
top # 执行top命令后通过大写字母P按CPU排序,通过大写字母M按内存排序
ps -elf # 带有URL等可疑字符串、wget等命令字符串可能为病毒下载地址
ps -aux
kill - 9 进程名

系统相关

账户安全:

1
2
3
4
5
last # 检查近期登陆的账户记录
usermod -L 用户名 # 禁用可疑用户
userdel -r 用户名 # 删除用户
awk '/\$1|\$6/{print $1}' /etc/shadow # 查询可远程登录用户
cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" # 查询sudo权限账户

启动项和定时任务:

1
2
3
4
5
6
ls -al /var/spool/cron /etc/crontab /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly/# 查询目录下所有文件
crontab -l # 查看定时任务
cat /etc/anacrontab # 查看anacron异步定时任务
history # 查询主机历史命令
service --status-all # 查询主机所有服务
systemctl # 启动的服务

文件相关

1
2
# 查询一定时间内敏感目录下被修改的系统文件
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ /var/spool/cron/ -type f -mtime -3 | xargs ls -l

取证备份

1
2
3
4
5
ps -ef > ps.log
netstat -lntp > port-listen.log
netstat -ano > port-all.log
crontab -l > cron.log
tar zcf log.tgz /var/log/*