Linux应急响应.docx

上传人:b****5 文档编号:7140763 上传时间:2023-01-21 格式:DOCX 页数:9 大小:3.52MB
下载 相关 举报
Linux应急响应.docx_第1页
第1页 / 共9页
Linux应急响应.docx_第2页
第2页 / 共9页
Linux应急响应.docx_第3页
第3页 / 共9页
Linux应急响应.docx_第4页
第4页 / 共9页
Linux应急响应.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Linux应急响应.docx

《Linux应急响应.docx》由会员分享,可在线阅读,更多相关《Linux应急响应.docx(9页珍藏版)》请在冰豆网上搜索。

Linux应急响应.docx

Linux应急响应

Linux应急响应手册

概述

一个常规的入侵事件的排查思路

系统分析

1history文件分析

查看分析history(cat/root/.bash_history),曾经的命令操作痕迹,以便进一步排查溯源。

运气好有可能通过记录关联到如下信息:

a)wget远程某主机(域名&IP)的远控文件;

b)尝试连接内网某主机(sshscp),便于分析攻击者意图;

c)打包某敏感数据或代码,tarzip类命令

d)对系统进行配置,包括命令修改、远控木马类,可找到攻击者关联信息…

2查看分析用户相关分析

​a)useradduserdel的命令时间变化(stat),以及是否包含可疑信息

b)cat/etc/passwd分析可疑帐号,可登录帐号

查看UID为0的帐号:

awk-F:

'{if($3==0)print$1}'/etc/passwd

查看能够登录的帐号:

cat/etc/passwd|grep-E"/bin/bash$"

PS:

UID为0的帐号也不一定都是可疑帐号,Freebsd默认存在toor帐号,且uid为0.(toor在BSD官网解释为root替代帐号,属于可信帐号)

3查看分析任务计划

a)通过crontabl–l查看当前的任务计划有哪些,是否有后门木马程序启动相关信息;

b)查看etc目录任务计划相关文件,ls/etc/cron*

4查看linux开机启动程序

a)查看rc.local文件(/etc/init.d/rc.local/etc/rc.local)

b)ls–alt/etc/init.d/

c)chkconfig

5查看系统用户登录信息

a)使用lastlog命令,系统中所有用户最近一次登录信息。

b)使用lastb命令,用于显示用户错误的登录列表

c)使用last命令,用于显示用户最近登录信息(数据源为/var/log/wtmp,var/log/btmp)

​utmp文件中保存的是当前正在本系统中的用户的信息。

​wtmp文件中保存的是登录过本系统的用户的信息。

​/var/log/wtmp文件结构和/var/run/utmp文件结构一样,都是引用/usr/include/bits/utmp.h中的structutmp

6系统路径分析

a)echo$PATH分析有无敏感可疑信息

进程分析

1可疑网络分析

使用netstat网络连接命令,分析可疑端口、可疑IP、可疑PID及程序进程

命令:

netstat–antlp|more

2可疑进程分析

使用ps命令,分析进程

psaux|greppid|grep–vgrep

3将netstat与ps结合

4查看系统命令是否被替换

​两种思路:

第一种查看命令目录最近的时间排序,第二种根据确定时间去匹配。

​ls-alt/usr/bin|head-10

​ls-al/bin/usr/bin/usr/sbin//sbin/|grep"Jan15"

5隐藏进程查看

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

ls/proc|sort-n|uniq>2

diff12

文件分析

在文件分析过程中,手工排查频率较高的命令是findgrepls核心目的是为了关联推理出可疑文件。

1敏感目录的文件分析

​查看tmp目录下的文件:

ls–alt/tmp/

​查看开机启动项内容:

ls-alt/etc/init.d/

​查看指定目录下文件时间的排序:

ls-alt|head-n10

​针对可疑文件可以使用stat进行创建修改时间、访问时间的详细查看,若修改时间距离事件日期接近,有线性关联,说明可能被篡改或者其他。

2新增文件分析

​例如要查找24小时内被修改的JSP文件:

find./-mtime0-name"*.jsp"

​(最后一次修改发生在距离当前时间n24小时至(n+1)24小时)

​查找72小时内新增的文件find/-ctime-2

​PS:

-ctime 内容未改变权限改变时候也可以查出

​根据确定时间去反推变更的文件

​ls-al/tmp|grep"Feb27"

3特殊权限的文件

查找777的权限的文件find/*.jsp-perm4777

4隐藏的文件

以"."开头的具有隐藏属性的文件

后门排查

除以上文件、进程、系统分析外,推荐工具:

​chkrootkitrkhunter(www.chkrootkit.org)

1chkrootkit

(迭代更新了20年)主要功能:

1.检测是否被植入后门、木马、rootkit

2.检测系统命令是否正常

3.检测登录日志

4.详细参考README

2rkhunter

1.系统命令(Binary)检测,包括Md5校验

2.Rootkit检测

3.本机敏感目录、系统配置、服务及套间异常检测

4.三方应用版本检测

3RPMcheck检查

系统完整性也可以通过rpm自带的-Va来校验检查所有的rpm软件包,有哪些被篡改了,防止rpm也被替换,上传一个安全干净稳定版本rpm二进制到服务器上进行检查

./rpm-Va>rpm.log

如果一切均校验正常将不会产生任何输出。

如果有不一致的地方,就会显示出来。

输出格式是8位长字符串,

c用以指配置文件,接着是文件名.8位字符的每一个用以表示文件与RPM数据库中一种属性的比较结果。

.(点)表示测试通过。

.下面的字符表示对RPM软件包进行的某种测试失败:

5MD5校验码

S文件尺寸

L符号连接

T文件修改日期

D设备

U用户

G用户组

M模式e(包括权限和文件类型)

如下图可知ps,pstree,netstat,sshd等等系统关键进程被篡改了

Webshell查找

​Webshell的排查可以通过文件、流量、日志三种方式进行分析,基于文件的命名特征和内容特征,相对操作性较高,在入侵后应急过程中频率也比较高。

可根据webshell特征进行命令查找,简单的可使用(当然会存在漏报和误报)

find/var/www/-name"*.php"|xargsegrep'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval\(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode'

1.Webshell的排查可以通过

2.Github上存在各种版本的webshell查杀脚本,当然都有自己的特点,可使用河马shell查杀()

综上所述,通过chkrootkit、rkhunter、RPMcheck、WebshellCheck等手段得出以下应对措施:

1.根据进程、连接等信息关联的程序,查看木马活动信息。

2.假如系统的命令(例如netstatls等)被替换,为了进一步排查,需要下载一新的或者从其他未感染的主机拷贝新的命令。

3.发现可疑可执行的木马文件,不要急于删除,先打包备份一份。

4.发现可疑的文本木马文件,使用文本工具对其内容进行分析,包括回连IP地址、加密方式、关键字(以便扩大整个目录的文件特征提取)等。

日志分析

日志文件

/var/log/message包括整体系统信息

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

/var/log/userlog记录所有等级用户信息的日志。

/var/log/cron记录crontab命令是否被正确的执行

/var/log/xferlog(vsftpd.log)记录LinuxFTP日志

/var/log/lastlog记录登录的用户,可以使用命令lastlog查看

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

var/log/wtmp  记录登录系统成功的账户信息,等同于命令last

var/log/faillog  记录登录系统不成功的账号信息,一般会被黑客删除

1.日志查看分析,grep,sed,sort,awk综合运用

2.基于时间的日志管理:

/var/log/wtmp

/var/run/utmp

/var/log/lastlog(lastlog)

/var/log/btmp(lastb)

3.登录日志可以关注Accepted、Failedpassword、invalid特殊关键字

4.登录相关命令

5.lastlog记录最近几次成功登录的事件和最后一次不成功的登录

6.who命令查询utmp文件并报告当前登录的每个用户。

Who的缺省输出包括用户名、终端类型、登录日期及远程主机

7.w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息

8.users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。

如果一个用户有不止一个登录会话,那他的用户名把显示相同的次数

9.last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户

10.finger命令用来查找并显示用户信息,系统管理员通过使用该命令可以知道某个时候到底有多少用户在使用这台Linux主机。

定位有多少IP在爆破主机的root帐号

grep"Failedpasswordforroot"/var/log/auth.log|awk'{print$11}'|sort|uniq-c|sort-nr|more

登录成功的IP有哪些

grep"Accepted"/var/log/auth.log|awk'{print$11}'|sort|uniq-c|sort-nr|more

tail-400fdemo.log#监控最后400行日志文件的变化等价与tail-n400-f(-f参数是实时)

lessdemo.log#查看日志文件,支持上下滚屏,查找功能

uniq-cdemo.log#标记该行重复的数量,不重复值为1

grep-c'ERROR'demo.log#输出文件demo.log中查找所有包行ERROR的行的数量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1