应急响应(linux 篇,以centos 7为例)

一、基础命令

1.查看已经登录的用户w
2.查看所有用户最近一次登录:lastlog
3.查看历史上登录的用户还有登录失败的用户

历史上所有登录成功的记录

last

/var/log/wtmp

历史上所有登录失败的记录

Lastb

/var/log/btmp

4.SSH登录日志

查看所有日志:cat /var/log/secure

查看所有登录失败日志:grep Failed /var/log/secure*

所有登陆失败的日志中的第九列和第十一列:grep Failed /var/log/secure*|awk -F' ' '{print 9,11}'

每个ip登录次数排序:

由大到小grep Failed /var/log/secure*|awk -F' ' '{print 9,11}'|sort|uniq-c|sort -nr

由小到大grep Failed /var/log/secure*|awk -F' ' '{print 9,11}'|sort|uniq-c

查看所有登录成功的日志:grep Accept /var/log/secure*

打印登陆成功的日志的第九列和第十一列:grep Accepted /var/log/secure*|awk -' ' '{print 9,11}'

排除不存在的用户名登录失败记录cat /var/log/secure*|grep Failed|grep-v "invalid"|awk '{print 9,11}'

查询所有日志,过滤掉登录失败的,再过滤掉"invalid":cat /var/log/secure*|grep Failed|grep -v "invalid"

然后打印第九列和第十一列

5.查询历史命令

history 查询当前用户历史命令

find / -name .bash history查询其他历史命令文件

cat+文件名:查看文件

find /-name *_history查询所有历史命令

查看所有命令find/-name : historylxargs cat

message 系统整体的信息

cron计划任务

boot启动日志

firewalld 防火墙日志

mail 邮件日志

6.计划任务

用户级别计划任务:

crontab -l

/var/spool/cron/root

cat /var/log/cron*|awk -F" " '{print 4,NF}'

批量查看所有用户计划任务cat /etc/passwd|awk-F: '{print $1}'xargs -i crontab -l -u {}

系统级别的计划任务:

查看所有系统级别的计划任务find /etc/cron* -type f

7.检查用户账号

root:x:0:0:root:/root:/bin/bash

用户名

密码

UID

GID

用户全名或本地账号

开始目录登录使用的shell

打印uid=0的用户:awk -F: '3==0{print 1}' /etc/passwd

查询空密码用户cat /etc/shadow|awk -F: '2==""{print 1}'

8.中间件日志

查访问网站最多的10个ip:

cat /var/log/httpd/access_log"|awk -F" " '{print $1}'|sort|uniq-c|sort -nr|head -10

查访问网站最多的10个url:

cat /var/log/httpd/access_log*|awk -F" " '{print $7}'|sort|uniq-c|sort -nr|head -10

查询哪个时间段访问量最大:

cat /var/log/httpd/access_log*|awk-F" " '{print $4}'|sort|uniq-c|sort -nr|head -10

查询是否有进行xss攻击:

cat /var/log/httpd/access_log*|grep "alert"

9.检查被黑客修改过的文件

查询一天内被修改过的php文件:

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

文件有三个时间属性

atime access_time 访问时间

mtime modify_time修改时间

ctime change_time变化时间(权限、所有者)

查看文件的三个时间属性:

stat

查询网站根目录下一天内是否有黑客上传一句话木马:

find /var/www/html/ -name "*.php" -mtime 0|xargs grep "eval"

10.网络连接netstat

-a显示所有连接

-n显示ip而不是显示域名

-p显示连接对应的程序/进程

-t显示tcp连接

-u显示udp

-l格式化

Proto Recv-Q Send-Q Local Address Foreign Addre5s

State PID/Program name

tcp 0 0 0.0.0.0:3386 0.0.0.0:*

LISTEN 1460/mysqld

listen 监听状态,等待别人连接

Established 已经建立连接

time_wait 我方主动发起断开连接请求,收到对方确认后的状态

Close_wait 我方调用close,关闭连接

syn_send 半连接状态,我方发送建立请求,等待对方的过程

查看所有已连接程序

Netstat -atupn|grep ESTABLISHED

查看我方就开放端口有哪些

Netstat -atupn|grep LISTEN

Netstat -atupn|grep 22

11.查进程ps

-a 查看所有终端进程,当前用户和其他用户

-e查看所有进程

-u指定用户查看这个用户进程

-x 显示没有终端的进程

-f 显示详细信息

-l 长格式显示

-p指定进程号

-t 指定终端

-c 显示指定命令的进程信息

R正在运行

S中断休眠

T停止

Z僵死

D不可中断

查进程名对应的进程号:

pgrep 进程名

pstree查看进程树,定位父进程,子进程

二、扫描工具

1.gscan
2.clamAV

(工具的安装和使用如有需要可私信我,手把手教学,包教会)

相关推荐
且从容.3 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道3 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.6 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落7 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨7 小时前
WSL2的安装与使用
linux·wsl
微小的鱼8 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng8 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮9 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Linux-lucky20 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默21 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu