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

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

相关推荐
在下千玦42 分钟前
#在 CentOS 7 中手动编译安装软件操作及原理
linux
Penguido1 小时前
基于 Nexus 在 Dockerfile 配置 yum, conda, pip 仓库的方法和参考
linux·docker·centos·conda·pip
Fireworkitte2 小时前
企业级常用的 CentOS版本
linux·运维·centos
liulilittle2 小时前
MAC-OS X 命令行设置IP、掩码、网关、DNS服务器地址
linux·网络·macos
星寂樱易李3 小时前
Ubuntu 18.04 iso文件下载
linux·运维·ubuntu
羑悻的小杀马特4 小时前
【Linux篇章】Linux 进程信号2:解锁系统高效运作的 “隐藏指令”,开启性能飞跃新征程(精讲捕捉信号及OS运行机制)
linux·运维·服务器·学习·os·进程信号
爬树的小蚂蚁7 小时前
Linux 修改bond后网关不生效的问题
linux·运维·服务器
风行無痕10 小时前
Ubuntu Linux系统配置账号无密码sudo
linux·服务器·ubuntu
爆农11 小时前
centos搭建dokcer和vulhub
linux·运维·centos
重启就好12 小时前
【Ansible】模块详解
linux·服务器·ansible