Linux应急响应

slug
series-status
status
summary
date
series
type
password
icon
tags
category

Linux应急响应

挖矿

病毒识别

常见病毒家族

老一辈:BillGates
新生代:DDG、SystemMiner、StartMiner、WatchDogMiner、XorDDos、lcnanker
IoT:Mirai、Gafgyt

BillGates

病毒特点:
  1. /tmp​​目录下有gates.lod​​、moni.lod​​文件
  1. 访问域名:www.id666.pw​​
  1. 将系统文件(ss​​、netstat​​、ps​​)替换为病毒伪装文件

DDG

病毒特点:
  1. /tmp​目录下有ddgs.[版本号]​的ELF文件
  1. 存在下载i.sh​​的定时任务

SystemMiner

病毒特点:
  1. 访问带有tor2web​​、onion​​字符串的域名
  1. /tmp​​目录下有systemd*​​的文件(后期版本为随机名)
  1. 存在运行systemd-login​​的定时文件(后期版本为随机名)

StartMiner

病毒特点:
  1. 定时任务里包含2start.jpg​​的字符串
  1. /tmp​目录下存在名为x86_*​的病毒文件
  1. 有多个病毒伪装定时任务文件:apache​​、nginx​​、root​​

WatchdogsMiner

病毒特点:
  1. 存在执行pastebin.com​​(正常脚本文件存放网站)上恶意代码的定时任务
  1. /tmp​目录下存在一个名为watchdogs​的病毒文件

XorDDos

病毒特点:
  1. 存在病毒文件/lib/libudev.so​​
  1. /usr/bin​​,/bin​​,/lib​​,/tmp​​目录下有随机名病毒文件
  1. 存在执行gcc.sh​​的定时任务

Mirai(IoT)

病毒特点:
  1. 多平台攻击,病毒文件中带有架构名
  1. 由于代码开源,Mirai每天都在变种

搜索引擎

搜索主机的主要异常特征:
  1. 挖矿进程名
  1. 网关报警域名/IP
  1. netstat 建立连接的ip
  1. 定时任务
  1. 可疑文件路径

清除病毒

定位挖进程

top

根据进程信息定位文件

ls /proc/[pid]/exe
删除文件/整个文件夹

定时任务

crontab -l
ll /etc/cron.d
清空定时任务:crontab -r​​
删除指定定时任务:grep -r "curl" /varrr/spool/cron​​
删除定时任务文件:rm /etc/cron.d/[file]​​

顽固病毒

文件/定时任务删除失败

提示Operation not permitted​​
使用lsattr​​查看文件属性
通过chatter​​ 清除对应的保护属性后即可删除

文件/定时任务删除又出现

系统文件替换(BillGates)
ss​、netstat​、ps​、lsof​等命令被替换为病毒文件,需要将源文件删除再放纯净的文件进去,或直接使用busybox操作
下载进程残留(SystemdMiner)
存在例如curl​​、wget​​之类的下载进程,虽然cpu占用率不高,但是会导致反复下载文件
定时任务反复创建 -> 恶意进程守护
先杀掉可疑的守护进程后再删定时任务

病毒进程删除完又被拉起

找到父进程,结束整个进程树
关联关键字:sh​​、wget​​、curl​​、xmr​​、mine​​、ssh​​
查找父进程命令:ps -ef | grep [pid]​​
查看进程树:ps -ef --forest​​

主机卡顿但是找不到挖矿进程

CPU占用率高但是没有挖矿进程
使用busybox​​的top​​命令查看系统信息

主机杀干净后过一段时间又出现

检查ssh弱口令
检查ssh密钥
检查相关web漏洞例如Redis未授权

账号安全

常识

用户信息文件是哪个

  • /etc/passwd

影子文件

  • /etc/shadow

查看当前登录的账户

  • WHO

查看系统信息,想知道某一刻用户的行为

  • W

查看登录了多久、多少用户、负载

  • uptime

入侵排查(重点)

查看特权用户

  • 看/etc/passwd 的gid和uid为0的
  • awk -F: '$3==0{print $1}' /etc/passwd
  • 或者grep 0:0

查询可以远程登录的账号信息

  • 看 /etc/shadow 中有密码的账户
  • 搜索$1-$6开头的
  • 用awk或者grep搜索

查询其他账号是否具有sudo权限

  • 查 /etc/sudoers 中的"ALL=ALL"
  • grep
  • more

禁用或删除多余的账号

创建用户名

  • useradd -d /home/lala -m 用户名
  • password 增加密码

禁用账号

  • usermod -L username

删除user用户

  • userdel username

删除user用户并删除用户目录

  • userdel -r username

查看可以登录的用户

  • grep bash$ /etc/passwd
  • 或者zsh

查看当前远程PTS登录的用户

  • last -i | grep -v 0.0.0.0
  • w

异常端口

入侵排查

分析可疑端口、IP、PID

  • 优先观察建立链接的端口和IP
    • netstat -antlp | more | grep "ESTABLISHED"

定位可疑的进程路径

  • ls -al /proc/$PID/exe
  • file /proc/$PID/exe
  • ps aux | grep $PID

结束所有的进程

  • killall

异常进程

常识

定位异常/可疑进程

  • ls -al /proc/$PID/exe
  • file /proc/$PID/exe
  • ps aux | grep $PID

查看进程树

  • ps -ef --forest

入侵排查

观察进程、性能消耗

  • top

断网

微隔离

  • /etc/host.allow
  • /etc/host.deny

降权

  • chmod 000

加锁

  • chattr +i 程序名
    • 上锁
  • chattr​ -i
    • 解锁
  • lsattr
    • 查看有无锁

工具:

  • processhacker

历史命令

常识

历史命令

  • history

历史命令配置

  • /etc/profile

删除历史命令

  • history -c

入侵排查

  • cat .bash_history >> history.txt

检查开机启动项

常识

查看开机运行脚本

  • /etc/rc.local

查看系统运行级别

  • runlevel

修改系统运行级别

  • init 3

入侵排查

检查可以开机启动项

  • /etc/rc[0-6].d

取消开机启动项

  • update-rc.d apache2 disable

开启开机启动项

  • update-rc.d apache2 enable

查看开机启动项状态

  • /etc/init.d/apache2 status

定时任务

  • crontab

恢复日志

  • lsof

排查可疑文件

  • find ./ -mtime 0 -name "*"
  • ctime
  • perem

工具

Rootkit查杀

  • rkhunter

病毒查杀

  • clamav

webshell查杀

  • 河马
  • 深信服

日志

中间件的/var/log/apache/access.log或者error.log
/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/messages :记录Linux操作系统常见的系统和服务错误信息
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址(lastb)
/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件

Linux系统⽇志的三种类型

  • 第⼀种:内核及系统⽇志 这种⽇志数据由系统服务rsyslog统⼀管理,根据其主配置⽂件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么 位置。系统中有相当⼀部分程序会把⽇志⽂件交由rsyslog管理,因⽽这些程序使⽤的⽇志记录也具有相似的格式。
  • 第⼆种:⽤户⽇志 这种⽇志数据⽤于记录Linux操作系统⽤户登录以及退出系统的相关信息,包括⽤户名、登录的终端、登录时间、来源主机、正在使⽤的进程 操作等。
  • 第三种:程序⽇志 有些应⽤程序会选择由⾃⼰独⽴管理⼀份⽇志⽂件,⽤于记录本程序运⾏过程中的各种事件信息,⽽不是交给rsyslog服务管理。由于这些程 序只负责管理⾃⼰的⽇志⽂件,因此不同程序所使⽤的⽇志记录格式可能会存在较⼤的差异。
系统日志(默认)/var/log/messages cron日志(默认)/var/log/cron 安全日志(默认)/var/log/secure(查ssh爆破可以看)
Loading...

尚未开始
更新中
近期核心
已完结
已弃更

© River 2021-2025