Linux 应急响应小结
Linux应急
💡 顺序:历史命令(可能会覆盖)–账号–计划任务–启动项任务–程序–日志信息(安全设备),注意事件发生时间
流程:定位恶意程序–缩减晒选范围与时间–获取相关日志信息,定位入侵点。
总结技巧:
由现象还原本质,从系统资源占用、网络连接上看异常,定位异常进程。
计划任务、自启动通过checklist对比排查,有时可以找到突破口
关键是确定攻击的事件范围,根据范围可以减少查看数据量,通过时间顺序还原攻击的全样貌就是最终目标之一
历史命令
history⇒ cat /home/user/.bash_historycat /root/.bash_historyhistory命令:
history -w主动保存缓冲区记录history -c删除缓冲区记录!编号快速执行某条指令(编号为负数为倒数第几条)!keyword:p打印出开头是keyword的命令,不是开头可以加?变为!?keyword:phistory num只显示最后num条数据export HISTTIMEFORMAT='%F %T '添加时间戳- $HISTCONTROL含有ignorespace不会记录开头字符为空格的命令,ignoredups忽略连续重复的命令
帐号
- 查看帐号文件修改情况
stat /etc/passwd(passwd格式为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell,关注修改时间确定用户添加时间)stat /etc/shadown
- 查看特权用户
awk -F: '$3==0{print $1}' /etc/passwd - 查看当前用户登录情况
who - 显示目前登入的用户信息
w - uptime 显示现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的 1 分钟、5 分钟和 15 分钟内的平均负载
- 查看sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" - 查看ssh登录密钥配置
cat /etc/ssh/ssh_config |grep PubkeyAuthentication,判断PubkeyAuthentication是否为yes - 查看ssh密钥
ll /root/.ssh/
进程
- 查端口
netstat -antlp | more(lsof -i:port) - 查异常进程位置
ls -l /proc/pid/exe或者file /proc/pid/exe - 查看进程具体信息
ps -efm或 筛选ps aux | grep pid - 结束进程
kill -9 pid(-9结束不了系统和守护进程) - 查看资源管理器
top(显卡用nvidia-smi) - 查看磁盘使用量和分区情况
df
计划任务/自启动
- 查看crontab计划任务
crontab -lcat /etc/crontabls /etc | grep cron- 目录
- /etc/cron.d
- /var/spool/cron/user
- /etc/cron.[hourly/daily/weekly/monthly]
- /var/spool/anacron
- /etc/cron.deny和/etc/cron.allow文件记录crontab用户的访问权限,allow>deny
- 查看自启动项
stat命令检查,查看是否出现近期修改- /etc/profile.d
- /etc/init.d
- /etc/rc.d/init.d
- /etc/rc.d/xxxx
- rc*.d
- 查询系统服务的运行级信息
chkconfig- 等级0表示:表示关机
- 等级1表示:单用户模式
- 等级2表示:无网络连接的多用户命令行模式
- 等级3表示:有网络连接的多用户命令行模式
- 等级4表示:不可用
- 等级5表示:带图形界面的多用户模式
- 等级6表示:重新启动
日志文件
命令:more、less、tail(-n 行数)、grep(-C 上下行、-B 前几行、-A后几行)
一般不急着看日志,可以等找到文件、帐号改动的时间,再根据目的(比如找登录状况、爆破状况、提权状况等)限制时间范围后再看对应的日志,作为对整个攻击过程的信息补全和细化。
- 计划任务日志 cat /var/log/cron
- 打印信息日志 /var/log/cups
- 核心的硬件侦测 /var/log/dmesg
- 邮件日志 /var/log/mailog
- 错误信息 /var/log/message
- 登录错误信息 /var/log/btmp 或者
lastb | more - 用户最近信息 /var/log/lastlog 或者
lastlog | more - 当前正在登录和历史登录系统的用户信息 /var/log/wtmp 或者
last | more - 当前正在登录系统的用户信息 /var/log/utmp 或者
w、who、users - 安全日志
cat /var/log/secure,关键词:Accepted、Failed、useradd、userdel - web日志,先锁定时间范围,检索关键词,无界面linux可以考虑把文件传输到外部主机上,优化体验
- 操作日志
- ~/.bash_history
- ~/.viminfo
- ~/.ssh/konw_hosts
- 应用日志
- /var/log/nginx
- /var/log/httpd
- 其他
- /etc/profile
- /etc/bashrc
- ~/.bash_profile
- ~/.profile
- ~/.bash_login
- ~/.bash_logout其他
其他
- whereis 查二进制文件
- find dir -name name 查文件名
- find dir -newermt “2020-07-01 00:00:00” ! -newermt “2020-07-02 00:00:00” 时间范围
- ls -lc —full-time 查看change time
- chattr 改权限
- rpm -a -V 查套件
- 可以找一个正常的linux系统对比文件夹和文件是否正常
- scp 传输文件,或者用tabby ssh连接虚拟机
- 工具有D-eyes,用的比较少
评论