Linux 应急响应基础
0x01
技能树
-
Linux常用命令
-
常见日志的位置以及分析方法
-
熟悉常规黑客的攻击手法
-
常规安全事件的处置思路
0x02
linux 常用命令
查找与文本操作
1、find
根目录下所有.jsp后缀文件
find / -name *.jsp
最近3天修改过的文件
find -type f -mtime -3
最近3天创建的文件
find -type f -ctime -3
2、grep、strings、more、head、tail
过滤出不带有某个关键词的行并输出行号
grep -nv 'root' /etc/passwd
查看根目录下 含有root信息的文件,并标注行号
grep -nr root /
查看根目录下后缀为.jsp .jspx文件,并从大到小排列
grep -nr -v "404" ./ | grep -E "\.jsp | \.jspx" | more
显示文件前十行
head /etc/passwd
实时展示文件内容
tail -f 文件名
3、awk、sort、uniq
awk的F参数是指定分隔符,print $1意思是打印第一列,sort命令是用来排序的,uniq命令是用来把相邻的重复数据聚合到一起,加个c参数意思就是把重复次数统计出来,为什么先要用sort聚合一次呢,就是因为uniq命令只会聚合相邻的重复数据,最后那个sort命令刚才说了是用于排序的,他的n参数是以数字排序,r参数是倒叙排序
awk -F " " '{print $1}' access.log| sort|uniq -c|sort -nr
案例:我们以空格为分界线 ($1为第一行)对access.log日志进行分析,筛查提取访问IP 从大到小排序,并提示访问次数。
系统状态命令
1、lsof
查看某个用户启动了什么进程
lsof -u root
某个端口是哪个进程打开的
lsof -i:8080
2、last、lastb、lastlog
登录失败记录:/var/log/btmp
lastb
最后一次登录:/var/log/lastlog
lastlog
登录成功记录: /var/log/wtmp
last
3、crontab
查看计划任务是否有恶意脚本或者恶意命令
crontab -l
4、netstat
a参数是列出所有连接,n是不要解析机器名,p列出进程名
netstat -anp
5、ps
查看进程信息
ps -ef
ps -aux
6、top
查看进程cpu占比(动态任务,可实时查看最高cpu占有率)
top
7、stat
查看某个文件是否被修改过
stat
8、last和lastb(对应日志wtmp/btmp)
last查看成功登陆的IP(用于查看登陆成功信息)
登陆用户---连接方式---时间
lastb查看连接失败的IP(可用于查看爆破信息)
登陆用户---登陆方式---登陆IP---时间
0x03
日志分析
1、安全日志 /var/log/secure作用:安全日志secure包含验证和授权方面信息分析:是否有IP爆破成功
2、用户信息 /etc/passwd内容含义:注册名、口令、用户标识号、组标识号、用户名、用户主目录、命令解释程序 分析:是否存在攻击者创建的恶意用户
3、命令执行记录 ~/.bash_history作用:命令执行记录 ~/.bash_history分析:是否有账户执行过恶意操作系统命令
4、root邮箱 /var/spool/mail/root作用:root邮箱 /var/spool/mail/root分析:root邮箱的一个文件,在该文件中包含大量信息,当日志被删除可查询本文件
5、中间件日志(Web日志access_log)
nginx、apache、tomcat、jboss、weblogic、websphere
作用:记录访问信息
分析:请求次数过大,访问敏感路径的IP
位置:/var/log下 access.log文件(apache默认位置)
位置:/var/log/nginx下 access名称日志(nginx日志位置)
位置:tomcat、weblogic等日志均存放在安装路径下logs文件下
访问日志结构:访问IP---时间---请求方式---请求路径---请求协议----请求状态---字节数
6.登陆日志(可直接使用命令调取该信息,对应命令last/lastb)
位置:/var/log/wtmp #成功连接的IP信息
位置:/var/log/btmp #连接失败的IP信息
7.cron(定制任务日志)日志位置:/var/log/cron
作用:查看历史计划任务(对该文件进行分析调取恶意病毒执行的计划任务,获取准确时间)
8、history日志
位置:~/.bash_history
作用:操作命令记录,可筛查攻击者执行命令信息
9、其他日志
redis、sql server、mysql、oracle等
作用:记录访问信息
分析:敏感操作
web日志分析思路:
寻找Webshell的方法:
1、文件内容中的恶意函数
PHP:eval(、system(、assert(
JSP:getRunTime(、 FileOutputStream(
ASP:eval(、execute(、 ExecuteGlobal(
2、Web日志中的webshell特征
Darkblade:goaction=login
JspSpy:o=login
PhpSpy:action=phpinfo
Regeorg:cmd=connect
Other:cmd=
3、贴合Web业务中的url来分析Web日志
4、每天新增的动态脚本文件
5、低频访问的脚本文件
原文地址:https://www.cnblogs.com/sandymandy/p/13213553.html
- 如何处理机器学习中类的不平衡问题
- 【死磕Java并发】—– Java内存模型之重排序
- Mask R-CNN源代码终于来了,还有它背后的物体检测平台
- 37个TOP实例命令,超过一半你肯定都没见过
- 利用TensorFlow生成图像标题
- 保存并加载您的Keras深度学习模型
- 简单、通用的JQuery Tab实现
- Dubbo源码解析 - 远程暴露
- 使用FastText(Facebook的NLP库)进行文本分类和word representatio...
- 声音分类的迁移学习
- 【死磕Java并发】—– J.U.C之AQS:CLH同步队列
- 使用Python完成你的第一个学习项目
- CA,给了数据库,给了机器,为啥也扩不了容?
- 如何使用Anaconda设置机器学习和深度学习的Python环境
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 牛客练习赛59 A~~D
- Codeforces Round #628 (Div. 2) A~~D
- AtCoder Beginner Contest 160 A ~ E
- SwiftUI:创建底部导航栏 tabBar
- AtCoder Beginner Contest 168 C
- 关于 Executor 和 ExecutorService
- 【队伍训练】Codeforces Round #660 (Div. 2)
- 【队伍训练2】 AtCoder Beginner Contest 165
- C# 的sql server like 的参数
- sql server 字符串替换函数REPLACE
- sql server 更新两个表的某个字段
- HTML 引用Css样式的四种方式
- Java也可以像python般range出连续集合
- c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑
- Apollo(阿波罗)配置中心Java客户端使用指南使用指南