应急响应 - Linux基础篇
一、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这个命令的使用
awk:awk是一个强大的文本处理工具,常用于模式扫描和处理。它按行读取文件,并且可以基于特定的条件来执行操作。-F::这个选项指定字段分隔符,-F表示分隔符的设置,后面的:表示使用冒号:作为字段分隔符。在/etc/passwd文件中,每一行都包含以冒号分隔的字段,如用户名、密码、用户ID等。\$3==0:这是awk的条件表达式。\$3表示文件的第三个字段(在/etc/passwd中,第三个字段是用户ID,通常是 UID)。条件==0用来判断该字段是否为0,即查找 UID 为0的行。通常,UID 为 0 的用户是 root 用户。{print \$1}:当满足条件(UID 为 0)时,执行{print \$1}。\$1表示每行的第一个字段,即用户名。该部分的意思是打印出符合条件的行中的第一个字段,也就是root用户。/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基础篇的更多相关文章
- Linux随笔-鸟哥Linux基础篇学习总结(全)
Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...
- 第一天 Linux基础篇
课程介绍 1.认识Linux的不同版本 2.以及应用领域 3.文件和目录 4.Linux命令概述 5.Linux命令-文件 6.Linux命令-系统管理-磁盘管理 认识Linux 什么是操作系统 生 ...
- Linux基础篇
Linux入门 2.1 Linux介绍 1)Linux是一款操作系统,特点:免费.开源.安全.高效.稳定.处理高并发非常强悍,半年至一年重启一次机即可,比Windows强悍,现在很多企业级项目都部署到 ...
- Linux基础篇–shell脚本编程基础
本章内容概要 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 7.1 编程基础程序:指令+数据程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心 ...
- Linux基础篇四:常用命令
. 一个点表示是 当前目录 .. 两个点表示当前目录的上一层目录 . 与 .. 相对路径的一种表现形式 cd ~/test/ ~当前用户的家目录 绝对路径 注意: ...
- Linux 基础篇(二)
1.linux 关机和重启 关机: shutdown -h 10:20 # 指定时间关机 shutdown -h now # 马上关机 shutdown -h +10 # 10分钟后关机 ...
- Linux基础篇学习——Linux文件系统之文件存储与读取:inode,block,superblock
Linux文件类型 代表符号 含义 - 常规文件,即file d directory,目录文件 b block device,块设备文件,支持以"block"为单位进行随机访问 c ...
- 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 列出 ...
- Linux基础篇,磁盘及文件使用管理
在windows系统下,我们可以使用图形化界面很明了的看出当前硬盘使用量与某个文件的占用空间大小和文件数量.但是在linux系统中,我们应该如何得到这些信息呢? 当然是功能强大的df与du了. 一.d ...
- Linux基础篇,正则表达式
一.正则表达式特殊符号: 二.grep的用法 grep [-A|B|a|c|i|n|v] [--color=auto] '搜索字串' filename -A ===> after缩写,后面接数字 ...
随机推荐
- 如何在 ASP.NET Core 中实现速率限制?
在 ASP.NET Core 中实现速率限制(Rate Limiting)中间件可以帮助你控制客户端对 API 的请求频率,防止滥用和过载.速率限制通常用于保护服务器资源,确保服务的稳定性和可用性. ...
- 使用Ollama
推荐 Ollama 本地运行大模型(LLM)完全指南 Ollama中文学习 应用 查看可支持的模型:https://ollama.com/library 查看运行中的模型 ollama ps 停止模型 ...
- FTP、SFTP、TFTP,文件传输协议怎么选?
转载:FTP.SFTP.TFTP,文件传输协议怎么选? FTP FTP(File Transfer Protocol,文件传输协议)是用于在计算机网络中传输文件的标准协议.FTP是一种客户端/服务器协 ...
- ORACLE存储过程中使用SELECT INOT语句避免NO_DATA_FOUND的方法
oracle存储过程中使用了类似如下语句,当查询不到记录时,会触发"数据未发现"异常 SELECT col INTO v_col FROM t_table 来自网络的方法 1)使用 ...
- 最佳产品奖,TeleDB拿下!
近日,第十三届PostgreSQL技术大会在杭州举行.本次大会以"聚焦云端创新,汇聚智慧共享"为主题,行业大咖.学术精英.技术专家和技术爱好者齐聚一堂,共同探讨数据库领域的发展趋势 ...
- 天翼云边缘安全加速平台亮相2023亚太内容分发大会暨CDN峰会
6月29日,第十二届亚太内容分发大会暨CDN峰会在北京召开.大会聚集了行业领/袖.专家和学者,深度探讨CDN的技术发展.应用与未来发展趋势,会上还公布了2023边缘加速创新企业榜单,中国电信天翼云成功 ...
- redis 执行性能检测指令报错:-bash: redis-benchmark: command not found
最近在看redis相关的内容,redis有自带检测性能的命令: -bash: redis-benchmark: command not found 碰到的所有资料中均提示不能在redis客户端中执行, ...
- Whois 收集
Whois 收集 Whois是什么 Whois(读作"Who is")是一个标准的互联网协议,主要用于查询域名的注册信息,包括域名所有人.注册商.注册时间.过期时间等详细信息.简单 ...
- 实战AI大模型辅助编程:新安江水文模型和SCE-UA优化算法的移植与实现
新安江水文模型与 SCE-UA 优化算法是水文学和水资源管理领域的重要工具,二者结合使用可以有效模拟流域的水文过程并优化模型参数. 新安江水文模型是一种概念性水文模型,主要用于模拟流域的降雨-径流关系 ...
- WPF 线程处理
参考链接:https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-3.5/ms771750(v=vs.90)
