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

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

相关推荐
盛世隐者8 分钟前
【Linux】定制Linux系统
linux·运维·服务器
-Excalibur-2 小时前
形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
linux·c语言·网络·笔记·单片机·网络协议·tcp/ip
小跌—2 小时前
Linux:数据链路层
linux·网络
用户31187945592182 小时前
Fedora 37 安装 libicu-71.1-2.fc37.x86_64.rpm 教程(命令行步骤)
linux
搬砖的小码农_Sky2 小时前
Linux(Ubuntu)操作系统下文件的解压
linux·ubuntu
景彡先生3 小时前
Python函数定义与调用全解析:从基础语法到实战技巧
linux·开发语言·python
Lxt.星翊3 小时前
MySQL(安装和卸载、数据库存储原理图)
linux·运维·windows
m***记3 小时前
Python字符串操作:如何判断子串是否存在
linux·服务器·python
添砖java‘’3 小时前
探索Linux进程:从理论到实践
linux·进程
JustNow_Man4 小时前
Cline中模型识别任务与clinerules相关性的实现逻辑
linux·运维·ubuntu