专栏名称: 利刃信安
利刃信安
目录
相关文章推荐
VC/PE/MA金融圈  ·  马斯克投的飞行汽车试飞成功!垂直起降,无外露 ... ·  4 小时前  
网信黑龙江  ·  V眼看龙江 | 说说我的家乡佳木斯 ·  2 天前  
网信黑龙江  ·  V眼看龙江 | 说说我的家乡佳木斯 ·  2 天前  
哈尔滨日报  ·  许勤看望慰问负责亚冬会安全保障工作人员 ·  3 天前  
新闻夜航  ·  不低于50万奖励!知名集团出手了 ·  3 天前  
51好读  ›  专栏  ›  利刃信安

【应急响应】Linux 应急响应命令总结,收藏版

利刃信安  · 公众号  ·  · 2024-03-28 23:41

正文


Linux 应急响应命令总结,收藏版


系统排查


系统基本信息


CPU 信息


CPU 信息:lscpu



操作系统信息


操作系统信息:uname -a



操作系统信息:cat /proc/version



模块信息


模块信息:lsmod



账户信息


系统所有账户


系统所有账户:cat /etc/passwd



超级权限账户


超级权限账户:awk -F: '{if($3==0)print $1}' /etc/passwd



可登录账户


可登录账户:cat /etc/passwd | grep '/bin/bash'



最近20条登录失败信息


最近20条登录失败信息:lastb | head -n 20



所有账号最后登录信息


所有账号最后登录信息:lastlog



最近20条登录信息


最近20条登录信息:last | head -n 20



当前登录账号信息


当前登录账号信息:who



空口令账号


空口令账号:awk -F: '{if($2==0)print $1}' /etc/shadow



启动项


启动项:ls -lat /etc/init.d/



启动项:cat /etc/init.d/rc.local



启动项:cat /etc/rc.local



计划任务


当前计划任务


当前计划任务:crontab -l



Linux Crontab 计划任务


/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名


/etc/crontab 这个文件负责调度各种管理和维护任务。


/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。


我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。


crontab [-u username]    //省略用户表表示操作当前用户的crontab

-e (编辑工作表)

-l (列出工作表里的命令)

-r (删除工作作)


我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。


crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有


* 取值范围内的所有数字

/ 每过多少个数字

- 从X到Z

,散列数字


实例1:每1分钟执行一次myCommand

* * * * * myCommand


实例2:每小时的第3和第15分钟执行

3,15 * * * * myCommand


实例3:在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * myCommand


实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2 * * myCommand


实例5:每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 myCommand


实例6:每晚的21:30重启smb

30 21 * * * /etc/init.d/smb restart


实例7:每月1、10、22日的4 : 45重启smb

45 4 1,10,22 * * /etc/init.d/smb restart


实例8:每周六、周日的1 : 10重启smb

10 1 * * 6,0 /etc/init.d/smb restart


实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

0,30 18-23 * * * /etc/init.d/smb restart


实例10:每星期六的晚上11 : 00 pm重启smb

0 23 * * 6 /etc/init.d/smb restart


实例11:每一小时重启smb

0 */1 * * * /etc/init.d/smb restart


实例12:晚上11点到早上7点之间,每隔一小时重启smb

0 23-7/1 * * * /etc/init.d/smb restart


创建、编辑计划任务的命令为crontab -e


查看当前计划任务的命令为crontab -l


删除某条计划任务的命令为crontab -r


另外,如果您是以管理员的身份登录的系统,还可以在crontab命令中加上-u参数来编辑他人的计划任务。


crontab命令的参数及其作用


参数 作用


-e 编辑计划任务

-u 指定用户名称

-l 列出任务列表

-r 删除计划任务


分、时、日、月、星期 命令


如果有些字段没有被设置,则需要使用星号(*)占位


使用crond设置任务的参数字段说明


字段 说明


分钟 取值为0~59的整数

小时 取值为0~23的任意整数

日期 取值为1~31的任意整数

月份 取值为1~12的任意整数

星期 取值为0~7的任意整数,其中0与7均为星期日

命令 要执行的命令或程序脚本


在crond服务的配置参数中,一般会像Shell脚本那样以#号开头写上注释信息,这样在日后回顾这段命令代码时可以快速了解其功能、需求以及编写人员等重要信息。


计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期”字段不能同时使用,否则就会发生冲突。


cron是Linux中默认的计划任务。使用cron,你可以安排一个计划(比如:命令或者shell脚本)周期性地运行或者在指定的分钟、小时、天、周、月等特定时间运行。cron在你安排不同的常规维护任务时是很有用的,比如周期性地备份、日志循环、检查文件系统、监测磁盘空间等等


每个cron任务的格式如下。



查看计划任务文件


查看计划任务文件:ls -lat /etc/cron*



/etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/*

/etc/anacrontab


进程排查


网络连接


网络连接:netstat -antlp



查找对应运行程序


查找对应运行程序:ls -lat /proc/20583


查看程序打开文件


查看程序打开文件:lsof -p 20583



结束进程


结束进程:kill -9 20583


Linux kill命令


Linux kill 命令用于删除执行中的程序或工作。


linux 的 kill 命令是向进程发送信号,kill 不是杀死的意思,-9 表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9 终止不了系统进程和守护进程的原因。


Linux pkill 命令


Linux pkill 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令。


kill 命令杀死指定进程 PID,需要配合 ps 使用,而 pkill 直接对进程对名字进行操作,更加方便。


pkill -9 php-fpm //结束所有的 php-fpm 进程


Linux killall 命令


Linux killall 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程。


kill 命令杀死指定进程 PID,需要配合 ps 使用,而 killall 直接对进程对名字进行操作,更加方便。


killall -9 php-fpm //结束所有的 php-fpm 进程


查看文件属性


查看文件属性:lsattr filename


移除 i 属性


移除 i 属性:chattr -i filename


查看隐藏进程


ps -ef | awk '{print}' | sort -n | uniq > 1

ls /proc | sort -n | uniq > 2

diff 1 2



查看资源占用率较高的进程


查看资源占用率较高的进程:top



服务排查


系统运行服务


系统运行服务:chkconfig –list



Centos7 查看自启动列表systemctl list-unit-files以及设置服务自启动


系统运行服务:systemctl list-unit-files


所有服务状态


所有服务状态:service --status-all



所有服务状态:


显示所有的服务状态—空格翻页 q推出

systemctl list-units --type service –all



查看启动成功的服务列表

systemctl list-unit-files | grep enabled



查看启动失败的服务列表

systemctl --failed



查看所有服务的状态—空格翻页 q推出

systemctl list-unit-files --type service



文件痕迹排查


敏感目录


/tmp

/usr/bin/

/usr/sbin/

~/.ssh/

/etc/ssh/


时间点查找


find:在指定目录下查找文件


-type b/d/c/p/l/f:查找块设备、目录、字符设备、管道、符号链接、普通文件


-mtime -n +n:按文件更改时间来查找文件,-n 指 n 天以内,+n 指 n 天前。


-atime -n +n:按文件访问时间来查找文件,-n 指 n 天以内,+n 指 n 天前。


-ctime -n +n:按文件创建时间来查找文件,-n 指 n 天以内,+n 指 n 天前。


查找一天内新增的 sh 文件


查找一天内新增的 sh 文件:find / -ctime 0 -name "*.sh"



查看排序后前10行的内容


查看排序后前10行的内容:ls -lat | head -n 10



排查文件创建、修改、访问时间


排查文件创建、修改、访问时间:stat /etc/passwd



特殊文件


特殊权限文件


特殊权限文件:find /tmp -perm 777


WebShell


WebShell:find /var/www/ -name "*.php"


系统命令检测


系统命令检测:ls -lat /bin/ /sbin/


系统命令检测:ls -lah /bin/ /sbin/


后门检测


后门检测:chkrootkit -q | grep INFECTED


SUID 程序排查


SUID 程序排查:find / -type f -perm -04000 -ls -uid 0 2>/dev/null



日志分析


日志概述


/var/log/


/var/log/wtmp 登录进入、退出、数据交换、关机和重启,即last

/var/log/cron 计划任务有关的日志信息

/var/log/messages 系统启动后的信息和错误日志

/var/log/apache2/access.log Apache 访问日志

/var/log/auth.log 系统授权信息,包括账号登录和使用的权限机制

/var/log/userlog 所有等级账号信息日志

/var/log/vftpd.log FTP 日志

/var/log/lastlog 登录的账号,也可以使用命令 lastlog 查看

/var/log/secure 大多数应用输入的账号和密码,以及登录成功与否

/var/log/faillog 登录系统失败的账号信息


日志分析


grep


sed


sort


awk



应 急 响 应 溯 源 反 制 记 录 单

应用系统名称


主管单位


主要负责人


运维单位


直接负责人


应用系统url


所属网络


外网IP


内网IP


攻击IP


攻击时间


发现时间


阻断时间


应用系统漏洞存在位置


事件类型


后门位置


处置措施


青藤扫描结果


涉及主机情况







请到「今天看啥」查看全文