应急响应学习

应急响应

现在的安全岗基本都需要会应急响应

应急响应是指针对已经发生或可能发生的安全事件进行监控、分析、协调、处理、保护资产安全。主要是为了人们对网络安全有所认识、有所准备,以便在遇到突发网络安全事件时做到有序应对、妥善处理。

应急响应的本质就是查杀病毒

应急响应主要排查项目

用户信息排查

排查有无攻击者恶意创建的用户

Windows

1
2
3
4
5
net user:查看用户账户信息(看不到以$结尾的隐藏用户); net user
username:查看用户名为username用户的详细信息; lusrmgr.msc:打开本地用户与组,可查看隐藏用户;
打开计算机管理-本地用户与组可查看隐藏用户; wmic useraccount get name,sid:查看系统中的所有用户;
注册表查看是否存在克隆账户:regedit打开注册表,选择HKEY_LOCAL_MACHHINE下的SAM选项,为该项添加允许父项的继承权限传播到该对象和所有子对象。包括那些在此明确定义的目标和用在此显示的可以应用到子对象的项目替代所有子对象的权限项目权限,使当前用户拥有SAM的读取权限。添加之后F5刷新即可访问子项并查看用户信息。同时,在此项下导出所有00000开头的项,将所有导出的项与000001F4(对应Administrator用户)导出内容做比较,若其中的F值相同,则表示可能为克隆账户。

Linux

1
2
3
4
5
6
7
8
查看所有用户信息:cat /etc/passwd
后续各项由冒号隔开,分别表示用户名、密码加密、用户ID、用户组ID、注释、用户主目录、默认登录shell。最后显示
bin/bash的,表示账户状态可登录,显示sbin/nologin的,不可登陆。 awk -F: ‘{if($3==0)print
$1}’ /etc/passwd :查询登录账户UID=0的账户,root是uid等于0的账户,如果出现其它的账户,就要重点排查;
查看可登录账户:cat /etc/passwd | grep ‘/bin/bash’
查看用户错误的登录信息:lastb(包括错误的登录方法、ip、时间等) 查看所有用户最后的登录信息:lastlog
查看用户最近登录信息:last 查看当前用户登录系统信息:who 查看空口令账户:awk -F: ‘length($2)==0 {print
$1}’ /etc/shadow

启动项排查

开机系统在前台或者后台运行的程序,是病毒等实现持久化驻留的常用方法

Windows

1
2
3
4
5
6
7
8
msconfig:可查看启动项的详细信息; 注册表查看:
HKEY_CLASSES_ROOT:此处存储的信息可确保在windows资源管理器中执行时打开正确的程序。它还包含有关拖放规则、快捷方法和用户界面信息的更多详细信息;
HKEY_CURRENT_USER:包含当前登录系统的用户的配置信息,有用户的文件夹、屏幕颜色和控制面板设置;
HKEY_LOCAL_MACHINE:包含运行操作系统的硬件特定信息,有系统上安装的驱动器列表及已安装硬件和应用程序的通用配置;
HKEY_USERS:包含系统上所有用户的配置信息,有应用程序配置和可视配置;
HKEY_CURRENT_CONFIG:存储有关系统当前配置信息。 查看注册表中的信息:reg query
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”

linux

1
2
cat /etc/init.d/rc.local cat /etc/rc.local ls -alt /etc/init.d
查看init.d文件夹下的所有文件的详细信息

任务计划排查

由于很多计算机都会自动加载“任务计划”,因此任务计划也是病毒实现持久化驻留的一种常用手段

Windows

1
2
3
4
eventvwr:打开事件查看器,可看日志
打开计算机管理——系统工具——任务计划程序——任务计划程序库:可查看任务计划的名称、状态、触发器等信息;
命令行输入schtasks:可获取任务计划信息,要求是本地Administrator组的成员;
PowerShell下输入get-scheduledtask 可查看当前系统中所有任务计划信息,包括路径、名称、状态等

linux

1
2
3
4
5
6
7
8
9
10
11
crontab -l:可查看当前任务计划 crontab -u root -l:查看root用户的任务计划(指定用户)

查看etc目录下的任务计划文件:一般在linux系统中的任务计划文件是以cron开头的,可以利用正则表达式的筛选出etc目录下的所有以cron开头的文件,具体表达式为/etc/cron,例如查看etc目录下的所有任务计划文件就可以输入ls
/etc/cron命令。
/etc/crontab
/etc/cron.d/
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab

进程排查

是计算机中的程序关于某数据结合的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。主机在感染恶意程序后,恶意程序都会启动相应的进程,来完成相关的恶意操作,有的恶意进程为了不被查杀,还会启动相应的守护进程来对恶意进程进行守护。

Windows

1
2
3
4
5
通过任务管理器查看; tasklist:可显示计算机中的所有进程,可查看进程的映像名称、PID、会话等信息; tasklist
/svc:可以显示每个进程和服务对应的情况; tasklist /m:查询加载的DLL tasklist /m wmiutils.dll
:查询特定dll的调用情况 tasklist /svc /fi “pid eq
284”:过滤器功能,eq等于、nq不等于、gt大于、lt小于、ge大于等于、le小于等于、

linux

1
2
3
4
5
6
7
8
9
netstat:可显示网络连接的信息,包括活动的TCP连接、路由器和网络接口信息,是一个监控TCP/IP网络的工具。
端口定位程序:通过netstat定位处PID,然后用tasklist查看具体的程序,例如:netstat -ano |findstr
3306” 定位出pid=6616 tasklist |find6616netstat -anb
3306:端口快速定位程序,需要管理员权限; powershell排查:对于有守护进程的进程,许确认子父进程之间的关系
get-wmiobject win32_process | select
name,processid,parentprocessid,path
wmic命令查询:可对进程进行查询以csv格式来显示进程名称、父进程id、进程id wmic process get
name,parentprocessid,processid/format:csv

服务排查

1
服务可以理解为运行在后台的进程,服务可以在计算机启动时自动启动,也可暂停和重启,而且不显示任何用户界面,服务非常适合在服务器上使用,通常在为了不影响在同一天计算机上工作的其它用户,且需要长时间运行功能时使用。在应急响应中,服务作为一种运行在后台的进程,是恶意软件常用的驻留方法。

日志排查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Windows:在运行对话框中输入eventvwr,打开事件查看器窗口,可查看windows相关日志。
系统日志:%SystemRoot%\System32\Winevt\Logs\System.evtx 系统中的各个组件在运行中产生的各种事件

安全性日志:%SystemRoot%\System32\Winevt\Logs\security.evtx
记录各种安全相关的事件,登录操作、对系统文件进行创建、删除、更改等操作。

应用程序日志:%SystemRoot%\System32\Winevt\Logs\Application.evtx

日志常用事件id 4624:登陆成功 4625:登录失败

日志分析
日志筛选器进行分析
PowerShell分析 Get-WinEvent Get-WinEvent Security -InstanceId 4625:获取安全性日志下事件id为4625的所有日志信息。
使用工具

inux

1
2
3
4
5
6
7
8
日志概述
linux系统日志一般在/var/log/下

/var/log/wtmp:记录登录进入、退出、数据交换、关机和重启,及last
/var/log/cron:记录与定时任务相关的日志信息;
/var/log/message:记录系统启动后的信息和错误日志;
/var/log/apache2/access.log:记录apache的访问日志;
/var/log/auth.log:记录系统授权信息,包括用户登录和使用的权限机制等;

常见病毒响应

勒索病毒

1
WannaCry勒索病毒、GlobeImposter勒索病毒、Crysis/Dharma勒索病毒、GandCrab勒索病毒、Satan勒索病毒、Sacrab勒索病毒、Matrix勒索病毒、Stop勒索病毒、Paradise勒索病毒
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
隔离被感染的服务器、主机
防止勒索病毒通过网络继续感染其它服务器、主机,防止攻击者通过感染的服务器/主机继续操纵其它设备
措施:
物理隔离:断网、断电,关闭服务器/主机的无线网络、蓝牙连接等,禁用网卡,并拔掉服务器/主机上的外部存储设备;
访问控制:对访问网络资源的权限进行严格控制和认证,加策略和修改登录密码;
排查业务系统
检查核心业务系统和备份系统,确定感染范围。
确定勒索病毒种类,进行溯源分析
从加密的磁盘中寻找勒索信息,再通过勒索病毒处置工具查看是否可以解密;
溯源分析:查看服务器/主机上的日志和样本,可疑文件,工具进行日志和样本分析;
恢复数据和业务
备份数据恢复业务
磁盘数据恢复
第三方方安全公司
后续防护建议
服务器终端防护
强密码、杀毒软件、打补丁、开启日志收集;
网络防护与安全监测
内网安全域合理划分,限制横向移动范围;
应用系统防护及数据备份
加固、备份、预案;
3、错误处置方法
不要再中毒服务器/主机上插U盘、硬盘等移动存储设备:勒索病毒会对服务器/主机上的所有文件加密;
不要用网上的解密工具反复读/写磁盘中的文件,可能降低数据正确恢复的概率,也可能破坏原始文件;
4、工具
被攻击之后,确定勒索病毒种类,判断能否解密
奇安信勒索病毒搜索引擎:lesuobingdu.qianxin.com
360安全卫士勒索病毒搜索引擎:lesuobingdu.360.cn
5、勒索病毒应急思路
了解事态现状、系统架构、感染时间、确定感染面;
对已中招服务器/主机下线隔离;
未中招做好防护:关闭端口加固、补丁等等
对服务器/主机进行检查:
系统排查
账户排查
Windows
打开本地用户与组:lusrmgr.msc
查看所有用户:wmic useraccount get name,sid
Linux
cat /etc/passwd :查看所有用户信息
awk -F: '{if($3==0)print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲' /etc/passwd :…":可查看能够登录的账户
进程排查
Windows
tasklist或任务管理器
Linux
网络连接:netstat -ano
任务计划:
服务:
启动项:
文件排查:
补丁排查:
日志排查
系统日志
安全日志
安全日志是否有暴力破解记录,异常ip地址登录记录,溯源,定位攻击的突破口;
网络流量排查
清除加固
对服务器/主机进行抑制和恢复:对恶意账号、进程、任务计划、启动项、服务等进行清理,删除恶意样本、打补丁、强密码、安装杀毒软件、部署流量检测设备。
6、如何判断遭遇勒索病毒攻击?
业务系统无法访问;
文件后缀被篡改;
勒索信展示;
桌面上有新的文本文件;
7、了解勒索病毒的加密时间
推断攻击者执行勒索程序的时间轴,方便后续进行溯源。
Windows
通过文件修改日期初步判断(要综合判断,因为攻击者可能伪造时间)
Linux
stat:可查看Access访问、Modify内容修改、Change属性改变三个时间

1
立即隔离-识别和确认-记录信息-消除威胁-		

应急响应学习
http://example.com/2024/06/07/应急响应学习/
作者
QY
发布于
2024年6月7日
许可协议