应急响应基础-Linux篇

关键目录

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
/etc/passwd			用户信息文件

/etc/crontab		定时任务文件

/etc/anacrontab		异步定时任务文件

/etc/rc.d/rc.local	开机启动项

/var/log/cron		定时任务执行日志

/var/log/secure		验证、授权等日志

/var/log/lastlog	所有用户最近登录信息,使用lastlog查看

/var/log/btmp		登录失败日志,使用last命令查看

/var/log/wtmp		包含用户登录日志,使用last命令查看

/var/log/utmp		当前登录系统的用户信息,使用last命令查看

 

常用命令

查看进程资源占用: top

image-20210608194723491

 

查看进程: ps -aux

image-20210608194756411

 

查看进程打开的文件,打开文件的进程,进程打开的端口: lsof

image-20210608194847359

 

显示系统用户最近的登录信息: last

显示错误的尝试登录信息: lastb

显示所有用户最近的登录信息:lastlog

image-20210608195450043

 

查看网络连接: netstat -antlp

image-20210608195614142

 

查找符合条件的字符串: grep

image-20210608195703658

 

查看定时任务: crontab -lcat /etc/crontab

image-20210608195935302

 

查看历史命令: historycat ~/.bash_history

image-20210608200223853 image-20210608200245775

 

查看当前目录下所有文件并排序: ls -alt

image-20210608200432716

 

校验RPM软件包: rpm -Vadpkg -verify

1
2
3
4
5
6
7
8
S:表示对应文件的大小(Size)不一致;
M:表示对应文件的 mode 不一致;
5:表示对应文件的 MD5 不一致
D:表示文件的 major 和 minor 号不一致
L:表示文件的符号连接内容不一致
U:表示文件的 owner 不一致
G:表示文件的 group 不一致
T:表示文件的修改时间不一致
image-20210608201028950

 

查看文件(文件夹)详细信息: stat

image-20210608201216690

 

简名 全名 中文名 含义
atime access time 访问时间 文件中的数据库最后被访问的时间
mtime modify time 修改时间 文件内容被修改的最后时间
ctime change time 变化时间 文件的元数据发生变化。比如权限,所有者等

 

查找当前目录下,指定天数内修改的指定类型(or名称)文件:

1
find ./ -mtime 0 -name *.php

查找当前目录下,指定天数内新增的指定类型(or名称)文件:

1
find ./ -ctime 0 -name *.php
image-20210608202543205

 

登录成功的IP:

1
grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -rn | more
image-20210608202933712

 

定位有爆破行为的IP:

1
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -rn | more
image-20210608203330461

 

查看隐藏进程:

1
2
3
4
5
ps -ef | awk '{print}' | sort -n | uniq > 1

ls /proc/ | sort -n | uniq > 2

diff 1 2

 

应急工具

BusyBox

chkrootkit

The Rootkit Hunter project (sourceforge.net)

 

Web日志分析

Web日志存放位置

1、Apache

httpd.conf 和引用的 *.conf 文件中查找 CustomLoglogs/access.logcombined

1
2
3
4
说明:
1、CustomLog	访问日志配置指令
2、logs/access.log	访问日志记录文件
3、combined	日志格式

 

2、Nginx

nginx.conf 或引用的 *.conf 文件中查找 access_loglogs/access.logmain

1
2
3
4
说明:
1、access_log	访问日志配置指令
2、logs/access.log	访问日志记录文件
3、main	日志格式

 

image-20210608205339965

image-20210608205359866

image-20210608205418275

 

常规黑客攻击思路

image-20210608205541678

 

Web应急思路

image-20210608205622192

找到webshell -> 通过webshell文件名从web日志中查找webshell访问日志 ->

 

文件内容中的恶意函数:

1
2
3
PHP:eval(、system(、assert(JSP:getRunTime(、FileOutputStream(ASP:eval、execute(、ExecuteGlobal(

 

Web日志统计

查看每个IP地址访问次数:

1
cat access.log | awk '{print $1}' | sort | uniq -c
image-20210608210238792

 

访问URL排序:

1
cat access.log | awk '{print $11}' | sort | uniq -c | sort -rn | more
image-20210608210510232

 

访问指定资源日志:

1
cat access.log | awk '{print $7}' | grep /admin | sort | uniq -c | sort -rn | more
image-20210608210759143