About Linux Emergency response
Linux
1.日志跟记录
ssh
ssh 后门 strings /usr/bin/.sshd | egrep '[1-9]{1,3}\.[1-9]{1,3}\.'
历史命令记录
histroy bash
根据时间查看干了什么
history | grep '2018-01-01'
根据关键字筛选日志中有特殊字符的位置
egrep '(select|script|acunetix|sqlmap)' /var/log/httpd/access_log > xx.log
记录每个用户的登录次数和持续的时间等信息
/var/log/wtmp
有关当前用户登陆的信息
/var/log/utmp
最后一次登陆信息
lastlog
花式备份各种日志
tar -cxvf secure_logs.tar.gz /var/log/secure
tar -cxvf messages_logs.tar.gz /var/log/messeges
tar -cxvf httpd_logs.tar.gz /var/log/httpd/
tar -cxvf all_log.tar.gz /var/log/*
2.进程和端口
被反弹后门
netstat -antlp | grep EST | grep bash
导出命令结果
ps -aux | grep xxx > /tmp/ps_aux_gp_xxx.txt
导出命令经过
ps -ef | grep xxx > /tmp/ps_ef_gp_xxx.txt
导出端口监听查询结果
netstat -antup > port-listen.log
linux下万物皆文件
lsof(list open files)
查看什么文件占用的该端口
lsof -i :[port]
查看什么文件占用的该pid
lsof -p [pid]
3.用户和用户组
用户账号信息
/etc/passwd
每一行都代表一个用户,每行被:分为七个部分
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
用户密码信息(加密过的)
/etc/shadow
每一行都代表一个用户,每行被:分为九个部分
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
加密口令:
如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了;
$6$开头的,表明是用SHA-512加密;
$1$表明是用MD5加密;
$2$ 是用Blowfish加密;
$5$ 是用 SHA-256加密;
用于查看进程查看进程
lsof
4.资源占用
Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息,通过top可以把这些信息写入到文件中。
可以通过这个查看服务器是否被当作肉鸡或者矿机的进程。
top >/tmp/top.txt
5. 计划任务
linux的定时执行任务
crontab -l 查看当前用户的定时计划任务
cd /etc/crontab
ls
crontab -r //删除计划任务
6. webshell、木马、文件
find -mtime -2 -type f -name \*.php 查找近2天被修改过的文件
find / -mtime -5 -name "*.jsp" 查找5哥小时内被修改过的文件
find / *.jsp -perm 777 寻找权限为777的文件
stat filename 显示文件详细信息
diff -r oldfile newfile linux上新旧问的比较
7. Rootkit
Rootkit是一套由入侵者留在系统中的后门程序。Rootkit通常只有在系统已经被侵入并且获得root权限后才被安装进系统,并帮助入侵者长期控制系统,,搜集主机和网络信息,并隐藏入侵者的痕迹。也就是说,Rootkit需要持久并毫无察觉地驻留在目标系统中,对系统进行操纵、并通过隐秘渠道收集数据的程序。所以,Rootkit的三要素就是:隐藏、操纵、收集数据。不同的操作系统会有不同的Rootkit,Linux系统中的Rootkit就被称为LinuxRootkit。
//这里推荐一个工具(至于是否要在生产环境上使用就看个人了)
yum install chkrootkit
chkconfig [ | grep INFECTED]
8. 备忘录-linux各种日志的作用
//各个log作用
/var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
/var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
/var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
/var/log/boot.log — 包含系统启动时的日志。
/var/log/daemon.log — 包含各种系统后台守护进程日志信息。
/var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
/var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
/var/log/user.log — 记录所有等级用户信息的日志。
/var/log/Xorg.x.log — 来自X的日志信息。
/var/log/alternatives.log – 更新替代信息都记录在这个文件中。
/var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
/var/log/cups — 涉及所有打印信息的日志。
/var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
/var/log/yum.log — 包含使用yum安装的软件包信息。
/var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
/var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
/var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
/var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
除了上述Log文件以外, /var/log还基于系统的具体应用包含以下一些子目录:
/var/log/httpd/或/var/log/apache2 — 包含服务器access_log和error_log信息。
/var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。
/var/log/mail/ – 这个子目录包含邮件服务器的额外日志。
/var/log/prelink/ — 包含.so文件被prelink修改的信息。
/var/log/audit/ — 包含被 Linux audit daemon储存的信息。
/var/log/samba/ – 包含由samba存储的信息。
/var/log/sa/ — 包含每日由sysstat软件包收集的sar文件。
/var/log/sssd/ – 用于守护进程安全服务。
9. 小结
零零散散看到的一些,就给记录了下来,之前的大佬的博客已经找不到了,只能在这里致谢byci4大佬了。之后的一篇将会介绍windows的应急响应以及安全巡检的内容,然后会在本篇以及下篇添加进入一些实用性的工具的以及小脚本。(PS:很久不更新,也没写脚本,手都生了,从头开始吧~)