1.指一个组织为了应对各种意外事件的发生所做的准备,以及在事件发生后所采取的措施。
2.目的:减少突发事件造成的损失(包括人民群众的生命、财产损失、国家和企业的经济损失、以及相应的社会不良影响)
3.处理的问题:通常为突发公共事件或突发的重大安全事件
1.网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,保证系统连续、可靠、正常运行,网络服务不中断。
2.网络安全应急响应(简称应急响应)是指针对已经发生或可能发生的安全事件进行监控、分析、协调、处理、保护资产安全。
1)数据采集、存储和检索能力
(1)能对全流量数据协议进行还原;
(2)能对还原的数据进行存储:
(3)能对存储的数据快速检索。
2)事件发现能力
(1)能发现高级可持续威胁(Advanced Persistent Threat, APT)攻击;
(2)能发现Web攻击;
(3)能发现数据泄露;
(4)能发现失陷主机;
(5)能发现弱密码及企业通用密码;
(6)能发现主机异常行为。
3)事件分析能力
(1)能进行多维度关联分析;
(2)能还原完整杀伤链;
(3)能结合具体业务进行深度分析。
4)事件研判能力
(1)能确定攻击者的动机及目的;
(2)能确定事件的影响面及影响范围;
(3)能确定攻击者的手法。
5)事件处置能力
(1)能在第一时间恢复业务正常运行;
(2)能对发现的病毒、木马进行处置;
(3)能对攻击者所利用的漏洞进行修复;
(4)能对问题机器进行安全加固。
6)攻击溯源能力
(1)具备安全大数据能力;
(2)能根据已有线索(ip地址、样本等)对攻击者的攻击路径、攻击手法及背后组织进行还原。
PDCERD(6阶段)方法
准备阶段
以预防为主。
检测阶段
主要检测事件是已经发生的还是正在进行中的,以及事件产生的原因。
抑制阶段
主要任务是限制攻击/破坏涉及的范围,同时也是降低潜在的损失。
根除阶段
主要任务是通过事件分析找出根源并彻底根除,以避免攻击者再次使用相同的手段攻击系统,引发安全事件。
恢复阶段
主要任务是把破坏的信息彻底还原到正常运作状态。
总结阶段
主要任务是回顾并整合应急响应过程的相关信息,进行事后分析总结和修订安全计划、政策、程序,并进行训练,以防止入侵的再次发生。
常见的应急响应场景
勒索病毒
挖矿木马
webshell
网页篡改
ddos攻击
数据泄露
流量劫持
在现场处置过程中,先要确定事件类型与时间范围,针对不同的事件类型,对事件相关人员进行访谈,了解事件发生的大致情况及涉及的网络、 主机等基本信息,制定相关的应急方案和策略。随后对相关的主机进行排查,一般会从系统排查、进程排查、服务排查、文件痕迹排查、日志分析等方面进行,整合相关信息,进行关联推理,最后给出事件结论。
1.系统信息工具 命令行中输入 msinfo32 打开系统信息窗口
2.正在运行的任务
3.服务
4.系统驱动服务
5.加载的模块
6.启动的程序
1.CPU信息 lscpu
2.操作系统信息 uname -a
3.模块信息 lsmod
1.命令行 net user (查看不了一$结尾的隐藏账户)
net user 账户名 查看具体账户
2.图形化界面
在运行中输入 lusrmgr.msc 或者打开 计算机管理 中的用户 可查看隐藏账户
3.注册表regedit 在HKEY_LOCAL_MACHINE 下的 SAM 下 (SAM需要进行授权)
4.wmic 扩展WMI管理工具 wmic useraccount get name,SID
1.查看系统所有用户 cat /etc/passwd
结尾显示 bin/bash 表示账户为可登陆
结尾显示 sbin/nologin 表示账户不可登陆
2.分析超级账户
awk -F:'{if(3==0)print $1}' /etc/passwd 可查询账户uid为0的账户 root是uid为0的账户
3.查看可登陆的账户
cat /etc/passwd |grep 'bin/bash'
4.查看用户错误的登陆信息
lastb 查看错误的登陆列表包括登录方式、ip地址、时间
5.查看所有用户最后的登陆信息
lastlog
6.查看用户最近登陆信息
last
其中wtmp存储登陆成功的信息,btmp存储登陆失败信息,utmp存储当前正在登陆的信息
7.查看当前用户登陆系统情况
who
8.查看空口令账户
awk -F:'length($2)==0 {print $1}' /etc/shadow
1.系统配置 中查看 输入 msconfig
2.注册表查看
注册表:是操作系统中一个重要的数据库,主要存储系统所必须的信息
1.cat /etc/init.d/rc.local
2.cat /etc/rc.local
3.ls -alt /etc/init.d
1.在 计算机管理 选择 任务计划程序
2.在powershell中输入 Get-ScheduledTask
3.在命令行输入schtasks
1.crontab -l 查看当前任务计划
crontab -u root -l 查看root用户任务计划
2.查看etc目录下的任务计划文件
一般任务计划文件是cron开头的
ls /etc/cron* 使用正则表达式匹配该类文件
最基本的用途是对出、入的数据包进行检测
fw规则:入站规则、出站规则
入站规则:根据过滤规则,过滤从外网到主机的流量
出站规则:根据过滤规则,过滤从本地主机到外面的流量
1.在 window防火墙,高级设置 中设置出入站规则
2.命令行 netsh
netsh Firewall show state
查看fw网络配置状态
1.任务管理器查看
2.命令行 tasklist 显示所有运行程序
tasklist /svc显示每个进程和服务的对应情况
tasklist /m 显示某些加载dll的恶意进程
tasklist /m 进程名 显示特定加载dll的调用进程
3.使用netstat命令
netstat 显示网络连接信息
-a 所有连接、端口
-n 以数字形式显示地址和端口号
-o 显示拥有的与每个连接关联的进程id
-r 显示路由表
-b 显示在创建每个连接或侦听端口时涉及的可执行程序
常见的网络状态说明:
LISTENING:侦听状态
ESTABLISHED:建立连接
CLOSE_WAIT:对方主动关闭或网络异常导致连接中断。
4.定位可以程序
netstat -ano|findstr "ESTABLISHED"一般使用该命令查看目前的网络连接,定位可疑的ESTABLISHED;
然后使用tasklist |find "进程号"查看具体的程序或使用 netstat -anb定位端口对应的程序
5.arp
-a或-g 显示当前arp
-v 显示所有
6.使用powershell进行排查
get-wmiobject win32_process |select name,processid,parentprocessid,path查询进程中的name等字段
get-wmiobject win32_process获取进程的所有信息
7.使用 wmic 命令进行查询
wmic process 查询进程情况
wmic process list full /format:csv 以csv格式列出所有进程
wmic process get name,parentprocessid,processid /format:csv 以csv格式显示进程的名称、父进程id、进程id
wmic process get executablepath,processid /format:csv 以csv显示进程路径、进程id
wmic process where processid=[PID] get parentprocessid 以pid的值作为条件获取其父进程的pid情况
wmic process where processid=[pid] get commandline 以pid的值作为条件获取其命令行
wmic process where name="malware.exe" call terminate 删除malware.exe的程序的进程
wmic process where processid=[pid] delete 删除pid为某值的进程
1.netstat
第一步:网络连接命令,分析可疑端口、可疑ip地址、可疑pid、进程
-p pid
-r 路由表
-l 显示侦听的服务
-a 显示所有
-t tcp
-u udp
第二步:根据pid的值,输入 ls -alt /proc/PID
或者利用lsof -p PID 查看进程打开的文件
第三步:若为恶意程序“kill -9 PID ”结束pid的进程,使用“rm -rf 文件名 ” 删除文件
注意:若使用root账户无法删除时,该文件可能被加上了 i 属性。 此时,需要“lsattr 文件名” 查看文件属性,然后使用“chattr -i 文件名” 来移除i属性,然后删除文件。 若是由于进程守护不能删除时,需要关闭进程,再删除进程。
隐藏进程的查看:
ps -ef |awk '{print}' |sort -n |uniq>1
ls /proc|sort -n |uniq>2
diff 1 2
针对挖矿进程的排查,使用top 查看相关资源占用较高的进程后进行判断
服务:运行在后台的进程。 可以自启、暂停、重启,且不显示任何用户界面。
服务非常使用服务器使用,通常是为了不影响计算机上其他用户,且需要长时间运行功能时使用。
在 运行 中输入 services.msc 来打开 服务 窗口。可以查看所有服务、服务名称、描述、状态
chkconfig --list 查看系统运行的服务
service --status-all
0-6表示6个等级
0 关机
1 单用户模式
2 无网络连接的多用户命令行模式
3 有网络连接的多用户命令行模式
4 不可用
5 图形化的多用户模式
6 重启
1.对恶意软件常用的敏感路径进行排查
2.在确定应急响应时间的时间点后,对时间点前后的文件进行排查
3.对带有特征的恶意软件进行排查(特征包括:代码关键字、函数,文件权限等)
1.敏感目录
各个磁盘下的 temp(tmp)相关目录。 临时文件的路径一般来说各个系统路径一致
2.排查浏览器的历史记录、下载文件、cookie信息
3.查看用户 recent 文件。 recent文件主要存储了最近运行的文件的快捷方式。
recent的路径 一般在用户目录下
4.预读取文件夹查看。 prefetch 是预读取文件夹,存放系统已访问过的文件的预读取信息,扩展名为pf。
自动创建预读取文件夹,是为了加快系统启动的进程。
prefetch 路径: %systemroot%\prefetch\ (在 运行 中输入)
amcache.hve 可查询 应用程序的执行路径、上次执行的时间及SHA1值
amcache.hve 路径 %systemroot\appcompat\programs\
5.时间点查找
应急响应事件发生后,首先确认 事件发生的时间点,然后排查前后的文件变动,从而缩小访问。
1)命令行 forfiles 列出攻击日期内新增的文件,从而做定位
forfiles /m *.exe /d +2022/10/7/s/p c:\ /c "cmd /c echo @path @fdate @ftime" 2>null 查找10.7后的exe新建文件进行搜索
2)根据资源管理器 文件的创建、修改、访问日期 进行定位 注意:文件可能存在时间修改,需要查看时间的逻辑问题,例如:创建时间明显迟于修改时间
6.webshell
网站的一个关键入侵点,webshell(网站入侵的脚本工具)
利用相关的·杀毒·软件查找可疑文件
1.敏感目录
/tmp 目录
/usr/bin 或 /usr/sbin 命令目录
~/.ssh 或 /etc/ssh 后门配置的路径
2.时间点查找
1)find 查找
-type b/d/c/p/l/f 查找块设备、目录、字符设备、管道、符号链接、普通文件
-mtime -n(+n) 按文件更改时间查找 -n:n天以内 +n:n天以外
-atime -n(+n) 按文件访问时间查找
-ctime -n(+n) 按文件创建时间查找
find / -ctime 0 -name "*.sh" 查找一天内新增的sh文件
ls -alt |head -n 10 查看最近的十行信息
2)对文件的创建、修改、访问时间进行排查
stat 可以详细查看文件的创建、修改、访问时间
3.特殊文件
1)特殊权限文件查找
find /tmp -perm 777 查找777权限的文件
2)webshell查找
find /var/www/ -name "*.php" |xargs 关键字
查找该目录下php文件中是否包含关键字
3)对系统命令进行排查
ls -alt /bin/ 查看该目录下相关系统命令的修改时间
ls -alh /bin/ 查看相关文件的大小
4)linux后门检测
使用相关的工具查杀
chkrootkit 检测rootkit是否被安装在当前系统中 ,实时检测系统
rootkit 是后门程序,非常隐蔽,不易察觉,可对系统实时控制
rkhunter 进行系统命令(binary)检测,包括MD5校验、rootkit检测、本机敏感目录检测、系统配置检测、服务及套件异常检测、第三方应用检测。
5)排查suid
find / -type f -perm 04000 -ls -uid 0 2>/dev/null
日志包括:系统日志、安全性日志、应用程序日志
可在 计算机管理 中查看 事件查看器 下的 window 日志
运行 中输入 eventvwr 打开事件管理器
1.系统日志:
window系统中谷歌组件在运行中产生的各种事件
包括驱动运行、操作系统运行、应用程序运行出现的重大问题,以及数据丢失,系统奔溃
2.安全性日志
主要记录各种与安全相关的事件
包括登陆日志、资源操作日志、文件操作日志
3.应用程序日志
主要记录各种应用程序所产生的各类事件
包括数据库被暴力破解产生的相关日志等
4.日志分析
1)日志筛选器 进行分析
2)powershell 分析日志
get-eventlog 获取传统的事件日志
get-winevent 获取日志较全
3)相关的日志分析工具
event log explorer 是一个检测系统安全的软件,可查看、监视、分析事件,包括安全性、系统、应用程序及window系统事件记录。
1.日志概述
linux中日志一般存放在 /var/log 下
/var/log/wtmp 记录登录、数据交换、关机重启, ====last
/var/log/cron 记录与定时任务相关的日志
/var/log/messages 记录系统启动后的信息和错误日志
/var/log/apache2/access.log 记录apache访问日志
/var/log/auth.log 记录系统授权信息,包括用户登陆和使用的权限机制等
/var/log/userlog 记录用户信息
/var/log/lastlog 记录登陆的日志===lastlog
/var/log/secure 记录应用输入的账号与密码,以及登陆成功与否的信息
/var/log/faillog 记录登陆系统不成功的账号信息
利用cat 查看各种日志信息
2.日志分析
利用grep、sed、sort、awk分析
tail -n 10 test.log 查看最后10行日志
tail -n +10 test.log 查看10行之后的日志
head用法与tail一样
awk
利用wireshark 、科来工具进行流量的分析
1.威胁情报
针对安全威胁、威胁者、利用、恶意软件、漏洞和危害指标,所收集的用于评估和应用的数据集。
威胁情报金字塔模型
火绒剑,可以查看进程、驱动模块、内核、网络、注册表、文件等信息
1.勒索病毒:一旦遭受勒索病毒攻击,绝大多数文件会被加密算法修改,并添加一个特殊的后缀,且受害者无法读取原本的正常文件,从而造成损失。
2.勒索病毒利用对称加密和非对称加密算法相结合的形式加密文件,必须有解密私钥才可能解密。
3.常见的勒索病毒
永恒之蓝、wannacry、globeimposter、crysis/dharma等
4.常规处理
1)隔离被感染的服务器或主机
2)排查业务系统
3)确定病毒种类,并溯源分析
4)恢复数据和业务
利用备份还原,或磁盘数据恢复工具