一、Linux应急响应流程

数据备份:所有涉及到分析以及证据的材料都需要提前进行备份,这样也方便之后还有分析人员或者防止数据被篡改或者覆盖。

备份用户信息文件

cat /etc/passwd > passwd.txt ;

cat /etc/shadow > shadow.txt ;

备份当前网络信息
netstat -anp > netstat_anp.txt ;

备份历史命令
cp ~/.bash_history history.txt ;

history > history.txt1 ;

备份用户登录的信息
w > users.txt ;

备份当前进程信息
ps aux > ps.txt ;

二、用户信息分析

1. 查看当前用户
whoami

2. 查看当前登录系统的所有用户
who(tty:指的是主机的图形化界面的面板,pts/x:指的是ssh远程连接的窗口)

3. 主机上一次开启的时间
who -b

4. 显示已经登录系统的用户列表,并显示用户正在执行的指令
w

5. 显示当前登录系统的所有用户的用户列表
users

6. 查看最近登录成功的用户
lastlog

7. 查看用户信息
cat /etc/passwd

8. 查看可以登录系统的用户
cat /etc/passwd | grep /bin/bash

9. 查看超级用户(uid=0)

awk -F: '$3==0{print $1}' /etc/passwd

这里说一下awk这个命令的使用

  1. awkawk 是一个强大的文本处理工具,常用于模式扫描和处理。它按行读取文件,并且可以基于特定的条件来执行操作。

  2. -F::这个选项指定字段分隔符,-F 表示分隔符的设置,后面的: 表示使用冒号: 作为字段分隔符。在/etc/passwd 文件中,每一行都包含以冒号分隔的字段,如用户名、密码、用户ID等。

  3. \$3==0:这是awk 的条件表达式。\$3 表示文件的第三个字段(在/etc/passwd 中,第三个字段是用户ID,通常是 UID)。条件==0 用来判断该字段是否为0,即查找 UID 为0 的行。通常,UID 为 0 的用户是 root 用户。

  4. {print \$1}:当满足条件(UID 为 0)时,执行{print \$1}\$1 表示每行的第一个字段,即用户名。该部分的意思是打印出符合条件的行中的第一个字段,也就是root 用户。

  5. /etc/passwd:这是输入文件,awk 将逐行处理此文件。/etc/passwd 是一个存储系统用户信息的文件1,每一行通常包含如下字段:

10. 查看用密码登录的用户
cat /etc/shadow

11. 查看有sudo权限的用户
more /etc/sudoers | grep ALL

12. 查看历史命令
cat ~/.bash_history

三、进程信息分析

1. 动态查看进程
top

2. 查看PID为549986的进程的可执行程序

ps aux 显示所有进程

ls -l /proc/pid(这里要输入上面ps命令显示进程里面的PID)/exe

3. 查看PID为549986的进程打开的文件
lsof -p pid(这里要输入上面ps命令显示进程里面的PID)

4. 查看进程sshd打开的文件
lsof -c sshd

5. 查看22端口对应的一些进程
lsof -i:port(端口)

6. 查看pid为549986进程的启动时间点
ps -p PID -o lstart

7. 查看网络连接情况
netstat -pantu

8. 查看端口对应的进程PID
fuser -n tcp port(端口)

9. 查看系统进程
ps aux (ps -ef)

10. 查看系统进程树
pstree

11. 查看进程,根据cpu使用从高到低
ps aux --sort -pcpu

12. 查看进程,根据内存使用从高到低
ps aux --sort -pmem

四、网络连接分析

1. netstat命令用来打印Linux中网络系统的状态信息;
netstat -an

2. 查看TCP连接状态
netstat -nat

五、异常文件分析

1. 查看指定目录最近被修改的文件(查看var目录下3天内被修改的文件)
find /var/ -type f -mtime -3 | xargs ls -la

2. 按时间排序,查看var目录下最近是否有命令被替换
ls -alt /var/

六、开机启动项分析

1. 查看是否有异常开机启动项
cat /etc/rc.local

七、定时任务分析

1. 查看定时任务
sudo vi /etc/crontab

m、h、dom、mon、dow、command分别是(minute; hour; day of month; month; day of week)的缩写
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件

八、系统日志分析

1. Linux下常见的一些日志:

/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/messages :记录Linux操作系统常见的系统和服务错误信息
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登录认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件
/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。
2. 查看登录记录(auth.log/secure)
cat /var/log/auth.log

3. 查看登录失败的记录
cat /var/log/auth.log
| grep FAILED

4. 目前与过去登录系统的用户相关信息

kali系统没有这个命令我换一台靶机做实验
last

5. 查看最近登录失败的用户及信息,查看的是 /var/log/btmp 文件
lastb

6. last命令查看系统中最近的五次用户登录记录
Last | head -5

7. 显示系统中所有用户最近一次登录信息,读取的是 /var/log/lastlog 文件
lastlog

九、web日志分析

1. 通过日志查看当天ip连接数
cat access.log | awk '{print $2}' | sort | uniq -c | sort -nr

这条命令的作用是:

awk '{print $2}'从 access.log 文件中提取第二个字段。

sort对这些 IP 地址进行排序。

uniq -c统计每个唯一 IP 地址出现的次数。

sort -nr按照出现次数从高到低进行排序,并显示每个 IP 地址及其访问次数。

2在日志中找出访问次数最多的10个IP。
awk '{print $1}' access.log |sort |uniq -c|sort -nr

3)连接的ip都在访问的网址:
cat access.log  | grep "192.168.20.1" | awk '{print $7}' | sort | uniq -c | sort -nr

应急响应 - Linux基础篇的更多相关文章

  1. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  2. 第一天 Linux基础篇

    课程介绍 1.认识Linux的不同版本 2.以及应用领域 3.文件和目录 4.Linux命令概述 5.Linux命令-文件 6.Linux命令-系统管理-磁盘管理 认识Linux 什么是操作系统  生 ...

  3. Linux基础篇

    Linux入门 2.1 Linux介绍 1)Linux是一款操作系统,特点:免费.开源.安全.高效.稳定.处理高并发非常强悍,半年至一年重启一次机即可,比Windows强悍,现在很多企业级项目都部署到 ...

  4. Linux基础篇–shell脚本编程基础

    本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础程序:指令+数据程序编程风格:   过程式:以指令为中心,数据服务于指令   对象式:以数据为中心 ...

  5. Linux基础篇四:常用命令

    .     一个点表示是 当前目录 ..    两个点表示当前目录的上一层目录 .   与   ..  相对路径的一种表现形式 cd ~/test/     ~当前用户的家目录    绝对路径 注意: ...

  6. Linux 基础篇(二)

    1.linux 关机和重启 关机: shutdown  -h  10:20  # 指定时间关机 shutdown -h now    # 马上关机 shutdown -h +10  # 10分钟后关机 ...

  7. Linux基础篇学习——Linux文件系统之文件存储与读取:inode,block,superblock

    Linux文件类型 代表符号 含义 - 常规文件,即file d directory,目录文件 b block device,块设备文件,支持以"block"为单位进行随机访问 c ...

  8. Linux基础篇学习——常见系统命令:ls,pwd,cd,date,hwclock,passwd,su,clear,who,w,uname,uptime,last,dmesg,free,ps,top

    ls 显示指定目录中的内容 ls [OPTION]... [FILE]... OPTION -a --all,显示所有文件包括隐藏文件 -l 列出长属性,显示出文件的属性与权限等数据信息 -i  列出 ...

  9. Linux基础篇,磁盘及文件使用管理

    在windows系统下,我们可以使用图形化界面很明了的看出当前硬盘使用量与某个文件的占用空间大小和文件数量.但是在linux系统中,我们应该如何得到这些信息呢? 当然是功能强大的df与du了. 一.d ...

  10. Linux基础篇,正则表达式

    一.正则表达式特殊符号: 二.grep的用法 grep [-A|B|a|c|i|n|v] [--color=auto] '搜索字串' filename -A ===> after缩写,后面接数字 ...

随机推荐

  1. struts2和Springmvc原理及比较

    一.拦截机制的不同 Struts2是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter ...

  2. 【Netty】(5)-源码 Bootstrap

    [Netty]5 源码 Bootstrap 上一篇讲了AbstractBootstrap,为这篇做了个铺垫. 一.概述 Bootstrap 是 Netty 提供的一个便利的工厂类, 我们可以通过它来完 ...

  3. OxyPlot:一个功能强大、漂亮.Net跨平台开源绘图库

    推荐一个支持多平台.多框架的.Net绘图库. 01 项目简介 OxyPlot是一个基于.NET开发的.跨平台的绘图库,可用于多种平台和框架,如WPF.Windows 8.Windows Phone.W ...

  4. C#NPOI示例

    主程序要添加NPOI的库.代码如下 static void Main(string[] args) { Export(); } public static void Export() { // 创建新 ...

  5. Java中String类常用的各种方法

    Java中String类常见的方法 以下介绍字符串常见的几个方法. 介绍String类 在 Java 中,String 类是一个代表字符串的类,具有以下特性: 不可变性:String 对象一旦被创建就 ...

  6. uni-app路由跳转

    navigateTo redirectTo (1)保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面 (如果A->B来回频繁切换,不要A B两个方法都使用 ...

  7. 安全可信 | 通过双项测试!TeleDB实力亮剑!

    近日,天翼云TeleDB数据库在中国信通院"可信数据库"系列测试的赛道上,一次性跨越"分布式事务型数据库基础能力测试"与"性能测试"的双重大 ...

  8. Jenkins+Coverage的代码覆盖率集成实践

    Jenkins+Coverage的代码覆盖率集成实践 一.工具介绍 Jenkins: Jenkins是一个开源的.基于Java开发的持续集成工具,它可以帮助开发人员自动化构建.测试和部署软件项目. C ...

  9. CF1896H2

    看不懂的题 首先考虑 \([a_i\neq b_i]=-2a_ib_i+a_i+b_i\),所以: \[f(a,b)=\sum a_i+\sum b_i-2\sum a_ib_i=N-2\sum a_ ...

  10. vue-element-template改为从后台获取菜单

    一.后端接口获取菜单信息 1.返回数据样式 { "code": 20000, "data": [{ "menuId": "2000 ...