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

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

相关推荐
AlfredZhao5 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346611 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪12 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈1 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875241 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant