linux应急响应及安全巡检

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:很久不更新,也没写脚本,手都生了,从头开始吧~)


Reprint please specify: wh1te linux应急响应及安全巡检

Previous
windows应急响应以及安全巡检 windows应急响应以及安全巡检
About Windows Emergency response Windows1. 日志和记录应用程序日志、系统日志、安全日志;默认情况下,如果系统不对事件做审核则不会生成安全日志。 开始→设置→控制面板→管理工具→事件查看器 Win
2018-10-24
Next
文件上传(一) 文件上传(一)
About File Upload 0x00 前言文件上传什么的,都属于WEB漏洞的基础,虽说是基础,但是也是能get到很多知识点的,再加上各种变化,也就可以实现任意文件的上传。 关于文件上传,在github中也有一个文件上传的靶场,u
2018-08-10
TOC