0x01 应急响应介绍

当企业发生入侵事件、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。

0x02 安全事件分级

I 级事件-特别重大突发事件

-> 网络大面积中断
-> 主要业务大规模瘫痪
-> 大规模用户/业务数据泄漏

II 级事件-重大突发事件

-> 大规模主机入侵
-> 大规模业务数据损坏
-> 小规模数据泄漏
-> 政治敏感事件(网站挂黑页)

III 级事件-较大突发事件

-> 部分业务系统遭受入侵
-> 主要业务遭受DDOS、CC攻击

IV 级事件-一般突发事件

-> 部分业务系统宕机
-> 部分业务系统异常/无法访问

通过对安全事件的定级,确认属于什么级别的事故,采取相应的应急预案和紧急程度的确认。

0x03 应急响应执行流程

-> 事件发生:(运维监控人员、客服审核人员等),发现存在问题、及时通报
-> 事件确认:判断事件的严重性,评估出问题的严重等级,是否向上进行汇报等
-> 事件响应:各部门通力合作,处理安全问题,具体解决阶段
-> 事件关闭:处理完事件之后,需要关闭事件,并写出安全应急处理分析报告,完成整个应急响应过程

0x04 常见的异常特征

-> 主机安全:CPU满负载,服务器莫名重启等
-> 网站安全:出现WebShell,被植入暗链,网页被篡改等
-> 流量安全:网络堵塞,网络异常等
-> 数据安全:数据泄漏,数据被篡改等
-> 文件安全:文件丢失,文件异常等
-> 设备告警:防火墙,杀软,检测平台IDS,态势感知平台等

以上属于常规出现的异常情况,关于这些问题,也分为几个方面,一部分基于数据流量问题,另一方面基于主机层面的问题,每一个问题就是对应的一个安全事件,出现安全事件要及时进行排查,防止造成更多安全隐患!

0x05 安全事件分类

-> web入侵:网站挂马、页面篡改、植入WebShell
-> 系统入侵:系统异常、RDP爆破、SSH爆破、主机漏洞
-> 病毒木马:远控、后门、蠕虫病毒、勒索软件
-> 信息泄露:脱库、数据库登录(弱口令)
-> 网络流量:频繁发包、批量请求、DDOS攻击、CC攻击

0x06 入侵主机排查过程

-> 定位被入侵主机并且立即对该主机进行断网隔离
-> 确定攻击类型
-> 确定被入侵的时间范围
-> 定位恶意文件和入侵痕迹
-> 溯源入侵来源
-> 清理恶意文件/修复漏洞
-> 事件复盘

0x07 基于Windows入侵排查流程

1.自动化查杀
安装杀毒软件 如:360全家桶、火绒安全、电脑管家等 及时更新病毒库,进行安全扫描查杀
在这里插入图片描述
2.使用WebShell查杀工具对后门文件进行木马查杀(D盾、河马)
在这里插入图片描述
在这里插入图片描述
3.网站用户及系统用户安全
(1).网站服务器或主机是否存在弱口令,是否对外开放危险端口(例如:135、136、137、445、3306、3389等)
向网站管理人员了解情况,如果存在弱口令,以及对外开放端口没有及时打补丁,要及时修复!
(2)主机是否存在新增、隐藏、克隆用户
可使用D盾进行检测是否存在其他账户在这里插入图片描述
打开 cmd 窗口输入 lusrmgr.msc 命令,可查看是否存在新增账号,或者 administator 组里
在这里插入图片描述
(3)通过日志,查看所有用户登录是否存在异常(4624:登录成功 4625:登陆失败)**
cmd中输入 eventvwr.msc 弹出事件查看器,采取人工进行分析在这里插入图片描述
也可使用工具 LogParser 查看有无异常事件,命令如下

LogParser.exe -i:EVT "SELECT TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as username FROM d:\log\test.evtx where EventID=4624"

4.开放端口,运行进程
查看异常端口
cmd中输入 netstat 命令查看网络连接,已建立连接**(ESTABLISHED)**
在这里插入图片描述
netstat 查出来的可疑连接 PID ,通过 tasklist 命令进行进程定位,可以看到文件名称
在这里插入图片描述
查看Windows服务所对应的端口,路径在 C:\Windows\System32\drivers\etc
在这里插入图片描述
检查异常进程
在这里插入图片描述
cmd 输入msinfo32 弹出系统信息,也会显示详细进程
在这里插入图片描述
图形化展示 ->任务管理器
在这里插入图片描述
也可使用D盾查看是否存在可疑进程,这里需要详细查看
在这里插入图片描述
查看可疑进程时候应该特别关注如:
在这里插入图片描述
5.启动项、计划任务、服务
(1)检查主机是否存在异常启动项
cmd -> msconfig
在这里插入图片描述
win+r,输入 regedit,打开注册表,查看开机启动项是否正常,注意如下三个注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

利用杀毒软件查看启动项、开机时间管理等
运行 gpedit.msc打开组策略,查看是否有可疑脚本,有则删除

在这里插入图片描述
(2)检查计划任务
控制面板中打开任务计划,查看计划任务属性,查看是否存在可疑程序
在这里插入图片描述
cmd中输入 schtasks.exe ,查看计算机与网络上的其它计算机之间的会话或计划任务是否可疑
在这里插入图片描述
(3)服务自启动
cmd 中输入 services.msc ,查看是否存在异常服务
在这里插入图片描述
6.系统相关信息
(1)查看主机系统相关信息
cmd 中输入 systeminfo ,查看系统信息
在这里插入图片描述
(2)查找可疑目录及文件
默认用户目录,新用户会在这个目录生成一个用户目录,如果是可疑目录检查后可删除,路径如下:

Window 2003版本 C:\Documents and Settings
Window 2008R2及以后版本 C:\Users\

在这里插入图片描述
分析最近打开的可疑文件 ,WIN+R ,输入如下命令进行查看

%UserProfile%\Recent

在这里插入图片描述
可根据 修改日期 查看是否有新增可疑文件
查看浏览器中历史记录是否有可疑文件

在这里插入图片描述
查找某文件修改时间在创建时间之前的为可疑文件
属性里–>常规处有创建文件日期,与修改日期进行对比,如下图所示

在这里插入图片描述
使用主机自带的搜索或者使用 everything 工具进行搜索敏感文件(如:木马、webshell、恶意脚本)

Web日志
将web的访问日志进行打包下载,使用日志分析工具进行分析异常
Windows日志分析工具: EmEdito
Linux 日志分析工具: Shell 命令组合查询分析

0x08 基于Linux入侵排查流程

1.用户安全

查看用户信息文件,是否存在新增用户
cat /etc/passwd
在这里插入图片描述
查看 /home目录是否有新目录(如果存在可疑目录,可能被入侵)
在这里插入图片描述
查看是否还有其他特权用户(默认只有一个特权用户 root 即uid=0)

awk -F: '$3==0{print $1}' /etc/passwd

在这里插入图片描述
查看当前登录用户

who   # tty:本地登录  pts:远程登录

在这里插入图片描述
查看系统信息

w  #可以知道某一时刻用户的行为

在这里插入图片描述
查看的用户的多少,用户上线了多久,以及负载

uptime 

在这里插入图片描述
删除用户密码

passwd -d username

在这里插入图片描述
查看用户上一次密码修改时间

stat /etc/passwd    #如果近期修改过,可能存在问题

在这里插入图片描述
查看不可登录之外的用户

cat /etc/passwd | grep -v nologin  #有无新增用户,有则可能存在问题

在这里插入图片描述
查看具有root权限的用户

cat /etc/passwd | grep x:0  # 有新增的就可能存在问题

在这里插入图片描述
查看使用shell的用户

cat /etc/passwd | grep /bin/bash

在这里插入图片描述
查看可以远程登录的用户

awk '/\$1|\$6/{print $1}' /etc/shadow

在这里插入图片描述
查看具有sudo权限的用户

more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

在这里插入图片描述
查看登录失败的次数

grep -o "Failed password" /var/log/secure|uniq -c

在这里插入图片描述
查看登录失败的用户

lastb 

在这里插入图片描述
查看登录使用的用户名 (可以看到出现的次数)

grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

在这里插入图片描述
查看成功登录的ip

grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c |sort -nr | more

在这里插入图片描述
查看登录成功的用户名、日期以及ip
在这里插入图片描述
如果出现可疑用户可进行如下操作

禁用账号

usermod -L user  #/etc/shadow 第二栏开头为!则表示以禁用

在这里插入图片描述
删除用户

userdel xp  #删除xp用户
userdel -r xp   #删除用户 ,并将/home目录下的user目录一并删除

2.历史命令

用户执行操作的历史记录存放在文件.bash_history,登录root可查看其他用户的历史记录信息

cat /home/XXX/.bash_history  #XXX是要查看的用户

查看当前用户操作命令历史

history

在这里插入图片描述
保存历史记录到指定文件

	cat /home/xxx/.bash_history >>history.txt  #保存xxx用户的历史记录到当前目录的history.txt文件中

3.检查异常端口

netstat –antp  #显示直接ip所有建立相关链接程序名的tcp的端口情况
-a:显示所有选项
-t:仅显示tcp相关选项 -u:仅显示udp相关选项 
-n:直接使用ip地址,而不通过域名服务器
-l:仅列出有在 Listen (监听) 的服務状态
-p:显示建立相关链接的程序名
-r:显示路由信息,路由表
-e:显示扩展信息,例如uid等
-s:显示网络工作信息统计表(按各个协议进行统计)
-c:每隔一个固定时间,执行该netstat命令

在这里插入图片描述
查看对应链接的文件路径

ls -l /proc/XXX/XXXX

通过ip地址获取程序pid

netstat -antlp | grep 127.0.0.1 | awk '{print $7}' | cut -f1 -d"/"

在这里插入图片描述

4.检查进程

  ps   -aux
 -a                - 列出所有运行中/激活进程
 -ef |grep      - 列出需要进程
 -aux            - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等

在这里插入图片描述
查看pid对应的程序

ps –aux | grep pid

在这里插入图片描述
监控网路客户连接数

netstat -n | grep tcp | grep 监听端口 | wc -l

在这里插入图片描述
查看cpu占有率前十的进程

ps aux --sort=pcpu | head -10 

在这里插入图片描述

5.开机启动项

启动项文件如下

more /etc/rc.local 
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/

在这里插入图片描述
查看是否有异常脚本在开机时启动

6.定时任务

crontab  -l  #如果有不是管理员设置的定时任务很可能是黑客留下的

在这里插入图片描述
编辑定时任务

crontab -e

查看root定时任务计划

crontab -u root -l 

查看有哪些用户有定时任务

ls /var/spool/cron

删除定时任务并控制计划任务不能写东西

sed '/gcc.sh/d' /etc/crontab && chmod 0000 /etc/crontab && chattr +i /etc/crontab

在这里插入图片描述
常见的定时任务文件如下

/var/spool/cron/*  #centos的
/var/spool/cron/crontabs/* #ubuntu的
/var/spool/anacron/*
/etc/crontab
/etc/anacrontab  #异步定时
/etc/cron.hourly/* 
/etc/cron.daily/* 
/etc/cron.weekly/
/etc/cron.monthly/*

7.服务

查看开机启动项目

chkconfig

在这里插入图片描述
查看服务自启状态

chkconfig --list

8.文件查找

查找指定的文件(find)
查找最近一天修改的文件

find / -mtime -1 > /XXX.txt  #将修改过的文件保存到根目录下的XXX.txt中

查找大文件

find / -size +10000k -print  #查找大于10000k的文件

查看文件的md5值

md5sum -b filename  #filename文件名

9.top命令

top命令类似于Windows的任务管理器,能够实时显示系统中各个进程的资源占用状况默认top是根据cpu的占用情况进行排序的
在这里插入图片描述
可通过b键进行切换,可切换到按照内存使用情况进行排序

监听指定进程

top  -p pid  监控指定进程

free   #查看当前系统内存使用情况

在这里插入图片描述

10.hosts文件

有些挖矿的会修改hosts文件

cat /etc/hosts

在这里插入图片描述

11.日志分析

默认日志位置

var/log

定位有多少IP在爆破主机的root帐号

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

在这里插入图片描述
查看日志配置情况

more /etc/rsyslog.conf

在这里插入图片描述
可使用命令 last 进行查看最近登录的信息
在这里插入图片描述
看/var/log/wtmp文件查看可疑IP登陆

last -f /var/log/wtmp

在这里插入图片描述

12.文件清除

遇到无法常看文件权限或是病毒在一直向某个文件写入程序,可尝试如下命令

lsattr 恶意文件  #查看文件属性
e:该文件使用extends来映射磁盘块
i:文件不能被删除

在这里插入图片描述
解除文件锁定

chattr -i 恶意文件

chattr +i   #不让lib文件被写入删除

结束某进程

Kill -9  pid

附上常用应急命令

windows&Linux
在这里插入图片描述
在这里插入图片描述

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐