应急响应(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

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

相关推荐
大大大大肉包1 小时前
私有化部署DeepSeek
linux·运维·服务器
xyd陈宇阳1 小时前
Linux 入门五:Makefile—— 从手动编译到工程自动化的蜕变
linux·运维·服务器·makefile
脑斧猴3 小时前
Linux中进程
linux·服务器·c++
Brandon汐3 小时前
Linux文件传输:让数据飞起来!
linux·运维·网络
tan180°3 小时前
Linux自行实现的一个Shell(15)
linux·服务器·c++·后端·vim
开发小能手-roy4 小时前
linux Ubuntu 用户权限设置
linux·运维·ubuntu
小白探索世界欧耶!~5 小时前
【踩坑】GitHub Actions 运行的 Linux 环境中,文件名是大小写敏感的
linux·运维·服务器·前端·vue.js·笔记·github
lyingcloud5 小时前
debian系统中文输入法失效解决
linux·运维·debian
whoarethenext5 小时前
基于libevent写一个服务器(附带源码)
linux·运维·服务器·c++·后端
master cat5 小时前
Ubuntu下载火狐浏览器
linux·ubuntu·腾讯云