
Linux 应急响应小结

Linux应急
💡 顺序:历史命令(可能会覆盖)–账号–计划任务–启动项任务–程序–日志信息(安全设备),注意事件发生时间
流程:定位恶意程序–缩减晒选范围与时间–获取相关日志信息,定位入侵点。
总结技巧:
由现象还原本质,从系统资源占用、网络连接上看异常,定位异常进程。
计划任务、自启动通过checklist对比排查,有时可以找到突破口
关键是确定攻击的事件范围,根据范围可以减少查看数据量,通过时间顺序还原攻击的全样貌就是最终目标之一
历史命令
history
⇒ cat /home/user/.bash_historycat /root/.bash_history
history命令:
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 -l
cat /etc/crontab
ls /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,用的比较少
评论