Linux应急响应-系统日志排查-溯源
溯源 找到攻击者。系统日志分析攻击者的ip 攻击者可能留下了一些代码 样本
网上的信息很大程度上是不可信的。
方法:
蜜罐 高交互的蜜罐
溯源: ip 日志分析 (通过日志分析,分析哪个ip攻击了目标)
目的:分析黑客在服务器上做了什么事情?
Linux 应急响应 安服。
实验环境: 在线环境
w
第二行包括以下信息:
USER - 登录用户名
TTY - 登录用户使用的终端名称
FROM - 来自登录用户的主机名或者 IP
LOGIN@ - 用户登录时间
IDLE - 从用户上次和终端交互到现在的时间,即空闲时间
JCPU - 依附于 tty 的所有进程的使用时间
PCPU - 用户当前进程的使用时间。当前进程名称显示在 WHAT
WHAT - 用户当前进程和选项、参数
lastlog命令 用于显示系统中所有用户最近一次登录信息。
通过grep 来进行过滤:
-v 或 --invert-match : 显示不包含匹配文本的所有行。
lastlog | grep -v "从未登录" ---对"从未登录"进行过滤
last -n 5 --只看最新的五次登录
-d ip 地址转换为主机名。该参数可以获取登录到系统的用户所使用的的主机名,如果目标使用的
vps 服务器绑定了域名,该参数有可能获取到目标域名。
-a 参数把 ip 列放在最后一行
lastb 查看所有登录记录包含失败。
awk 命令可以帮我们取出我们想要的列,-F 指定分隔符,每列之间使用空格分隔,print 打印
sort 会将文本进行排序,默认排序会把一样的行都排到一起
sort -nr 排序 -nr 倒序 -n 正序
uniq -c 计数
lastb -a |awk -F' ' '{ print $1 "\t" $NF}' |sort |uniq -c |sort -nr
通过在目录下/secure* 来查看登录的日志
通过grep 来将登录失败的用户过滤出来
grep Failed /var/log/secure*
以空格作为分隔符,来将用户名和ip进行提取(用户登录失败的信息)
grep Failed /var/log/secure* |awk -F' ' '{print $9 "\t" $11}'
常用系统日志说明
日志目录
作用
/var/log/message
包括整体系统信息
/var/log/auth.log
包含系统授权信息,包括用户登录和使用的权限机制等
/var/log/userlog
记录所有等级用户信息的日志
/var/log/cron
记录 crontab 命令是否被正确的执行
/var/log/vsftpd.log
记录 Linux FTP 日志
/var/log/lastlog
记录登录的用户,可以使用命令 lastlog 查看
/var/log/secure
记录大多数应用输入的账号与密码,登录成功与否
/var/log/wtmp
记录登录系统成功的账户信息,等同于命令 last
/var/log/btmp 记录登录系统失败的用户名单,等同于命令 lastb
/var/log/faillog
记录登录系统不成功的账号信息,一般会被黑客删除
日志分析的痛点:只能看到 GET 请求的请求操作,POST 请求看不到对服务器提交的内容。