Linux应急响应
概述
关键目录
思路:
账号安全 -> 历史命令 -> 检查异常端口 -> 检查异常进程 -> 检查开机启动项 -> 检查定时任务 -> 检查服务 -> 检查异常文件
主机排查
常见指令
端口
查找不常用的监听端口 : |
netstat参数
- -t或–tcp 显示TCP传输协议的连线状况
- -u或–udp 显示UDP传输协议的连线状况
- -n或–numeric 直接使用IP地址,而不通过域名服务器
- -p或–programs 显示正在使用Socket的程序识别码和程序名称
- -l或–listening 显示监控中的服务器的Socket
- -a或–all 显示所有连线中的Socket
- -e或–extend 显示网络其他相关信息
组合使用
netstat -antp |
进程
操作系统中,关闭/查看系统进程,删除/新建系统服务。
典型场景:在应急响应过程中,排查发现可疑系统进程服务,应即时关闭恶意进程或者删除恶意服务,防止被持续控制。
注意事项:需要联系管理员确认进程服务是否为重要业务,防止错误关闭和删除了重要业务的进程服务。
ps命令
查看全部的进程
ps -aux |
查看相关进程
ps -ef | grep 进程关键字 |
显示指定用户相关进程
ps -u root //显示root进程用户信息 |
查找隐藏进程
查找显示的进程
ps -ef | awk '{print}' | sort -n |uniq >1 |
然后查看/proc目录,查看是否存在对应进程
ls /proc | sort -n |uniq >2 |
参数
netstat -antlop #查看 |
lsof指令
查看什么文件占用的该端口
lsof -i :[port] |
查看什么文件占用的该pid
lsof -p [pid] |
其他
lsattr和chattr
chattr
修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。
例子:
设置/etc/resolv.conf为不可修改
[root@vincent tmp]# chattr +i /etc/resolv.conf |
lsattr
查看文件权限
[root@vincent tmp]# lsattr 1.txt |
日志
在Linux做的操作都会被记录到系统日志中,对于登录也可以查看日志信息查看是否有异常登录
last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于**/var/log/wtmp**文件,稍有经验的入侵者都会删掉
常见日志
内核及公共消息日志:/var/log/messages |
- /var/log/secure
Linux系统安全日志,记录用户和工作组的情况、用户登陆认证情况
- /var/log/wtmp
记录每个用户的登录次数和持续的时间等信息
- /var/log/utmp
有关当前用户登陆的信息
账号
1、用户信息文件 /etc/passwd
root:x\:0:0:root:/root:/bin/bash |
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登陆,远程不允许登陆
2、密码文件 /etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7::: |
其他命令
who //查看当前登录用户(tty 本地登陆 pts 远程登录) |
系统启动项
一般来说,病毒在启动之后为了防止肉鸡关机重启,很有可能会设置恶意的开机启动项
查看运行级别命令runlevel
|
- /etc/rc.d/rc.local
或者说是/etc/rc.local
/etc/rc.local是/etc/rc.d/rc.local的软连接,该脚本是在系统初始化级别脚本运行之后再执行的,想要/etc/rc.local起作用必须chmod +x /etc/rc.d/rc.local
- /etc/init.d目录下的脚本
目录内放的是各个服务的启动脚本,比如sshd、httpd等
- ** /etc/profile.d/.sh*
/etc/profile.d/*.sh是bash的全局配置文件,/etc/profile.d/下有许多shell脚本,可以在开机时启动。
定时计划
在操作系统中,分析查看计划任务信息。
典型场景:在应急响应过程中,发现入侵者创建的异常计划任务,应即时禁用或者删除异常计划任务,防止被持续控制。
注意事项:需要联系系统管理员确认计划任务是否合法,防止错误禁用和删除了正常的计划任务。
使用命令
crontab
列出所有的计划任务
crontab -l |
Root用户定时任务 : |
编辑cron
crontab -e |
常见计划任务位置
重点关注以下目录(计划目录)中是否存在恶意脚本: |
系统定时任务 : |
webshell查杀
思路
网络排查、日志排查、文件排查
扫描工具:
1、D盾
Webshell查杀、可疑文件隔离;端口进程查看、base64解码,以及克隆用户检测等;文件监控。
2、河马Webshell查杀
河马Webshell查杀拥有海量Webshell样本和自主查杀技术,采用传统特征+云端大数据双引擎的查杀技术,支持多种操作系统。
手工指令搜索
//搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征 |