应急响应基础技能

Posted lisenMiller

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应急响应基础技能相关的知识,希望对你有一定的参考价值。

windows

任务计划列表

1. 计算机管理窗口,选择 系统工具 中 任务计划程序 中的 任务计划程序库选项 可以查看任务计划的名称,状态,触发器等详细信息

2.powershell中输入get-scheduledtask 可以查看当前系统所有任务计划信息

任务路径,名称,状态等详细信息

3.命令行中输入schtasks命令,获取任务计划信息

进程排查

对于windows系统排查中,找到恶意进程的pid,程序路径,还需要找到ppid以及程序加载的DLL

1. 通过任务管理器排查 

win+r taskmgr 
右键name 添加命令行

2.通过tasklist排查

#tasklist 可以查看 每个进程提供的服务
  tasklist /svc    #显示每个进程和服务的对应情况
#tasklist可以查看每个进程加载了什么模块
  tasklist /m
#如果确定了某个模块是恶意模块可以查找启动了这个模块的服务的情况
  tasklist /m ntdll.dll

3.通过netstat命令进行排查

一般来说都是通过netstat定位出pid后再通过task list定位程序

服务排查

1. service.msc命令打开服务窗口 查看所有服务项 名称,秒速,状态等

文件痕迹排查

通常情况下可以对以下方面对文件痕迹进行排查

  1. 恶意软件常用的敏感路径进行排查

  2.确定了应急响应时间点后,对时间点前后的文件进行排查

  3.对带有特征的恶意软件进行排查,包含代码关键字或关键字函数,文件权限特征等

1.敏感目录

恶意程序一般会在程序中写好投放的路径,临时文件的路径相对统一,一般来说查看临时目录下是否有异常文件.

c:\\windwos\\tmp

2.预读取文件查看

Prefetch是预读取文件夹,用来存放系统已经访问过的文件的预读取信息,扩展名为pf.自动创建 prefetch文件夹是为了快系统启动进程

文件位置 c:\\windows\\Prefetch 

根据应急响应时间进行查看

1.根据时间点来查看forfiles命令

forfiles /p /m /s /c /d

/p Path : D:\\xx|xx
/m searchmask    默认的searchmask是 *.* 例如 *.rar文件
/s forfiels 再子目录中搜索
/c command 在每个匹配的文件上运行指定的command,带有空格的命令字符串必须用双引号括起来默认的command是 "cmd /c echo @file"
/d +/-mm/dd/yyyy|dd

对2022/2/12日以后的exe文件暴露出来
forfiels /p c:\\ /m *.exe /s /d +2022/2/12 /c "cmd /c echo @path @fdate @ftime " 2>null

2.webshell查找

可以通过D盾等

日志排查

系统日志
主要是windows各个组件在运行中产生的各种事件
系统中各种驱动程序在运行中出现的重大问题.操作系统的多种组件出现重大问题,应用软件出现重大问题

重大问题包括重要数据丢失,错误,以及系统产生的崩溃行为
安全性日志

安全日志记录了各种与安全相关的事件.包括登录与退出系统的成功不成功信息
对系统中各种重要资源进行操作,例如:系统文件的创建,删除,更改操作
应用程序日志

记录了各种应用程序产生的各类事件.
系统中sqlserver数据库被暴力破解时,会有相关的记录.包含对应时间相关的详细信息. 

事件级别

  • 错误:重大问题,包括数据丢失,功能损失,例如服务启动期间无法加载
  • 警告:潜在问题,例如 磁盘空间低,记录一个警告
  • 信息:程序和服务是否操作成功的事件 例如 网络驱动成功加载

日志被清除相关日志事件ID对应的描述

事件日志服务关闭  1100  信息  安全

事件日志被清除  104  信息  系统

事件日志被清除  1102  信息  安全

linux

查看用户信息

1. 查看系统所有用户信息

cat /etc/passwd

2.分析超级用户权限

awk -F:\'if($3=0)print $1\' /etc/passwd

3.查看可登录账户

cat /etc/passwd | grep /bin/bash

4.查看用户错误的登陆状态

lastb    #查看用户错误的登陆列表,错误的登录方法,IP地址,以及时间等等

5.查看所有用户的最后登陆状态

lastlog    

6.查看当前用户登录系统状态

who

7.查看空口令账户

awk -F : \' length($2)==0 print $1\' /etc/shadow

启动项

#/etc/ini.d文件时自启动的内容

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

任务计划列表

1. crontab -l 命令查看当前的任务计划,指定用户进行查看

crontab -u root -l 查看root用户的任务计划

2.查看etcl下的任务计划文件

linux系统中的任务计划文件以cron开头,利用正则表达式的* 筛选所有以cron开头的文件

ls /etc/cron*

通常还包含任务计划的文件夹,* 代表文件夹下所有文件

/etc/crontab  /etc/cron.d/*
/etc/cron.daily/*  /etc/cron.hourly/*
/etc/cron.monthly/*  /etc/cron.weekly/
/etc/anacrontab

进程排查

netstat 查看网络连接

netstat -ano or netstat -pantl
#分析可疑端口可疑ip,可疑pid以及程序进程.

根据pid的值利用

#ls -alt /proc/pid命令查看其对应的可执行程序

ls -alt /proc/2963

利用lsof -p pid命令查看进程打开的文件

lsof -p 2963 #查看pid为1963进程打开的文件

查杀文件

1. 恶意进程使用kill命令结束
kill -9 pid
2.使用rm命令删除木马文件
rm -rf filename 
3.如果root用户无法删除,可能是该文件加上了i属性

lsattr filename    #查看文件属性
chattr -i filename    #移除i属性
4.如果存在守护进程而无法删除,通过先把进程挂起,查杀守护进程后,再将进程删除

服务排查

1.chkconfig --list 

chkconfig --list
atd     0:off    1:off    2:on    3:on    4:on  5:off    6:off

1单用户模式
2无网络连接的多用户命令行模式
3.有网络连接的多用户命令行模式
4.不可用
5.带图形界面的多用户模式
6.重新启动

2.service --status-all

查看所有服务的状态

文件痕迹排查

1. 敏感目录

/tmp 和~/.ssh和/etc/ssh的authorized_keys 存放黑客的公钥

2.时间点查找

  find命令

find :指定目录下查找文件

-type b/d/c/p/l/f 设备,目录 字符设备 管道 符号链接 普通文件

-mtime -n +n 文件更改时间查找 units:day

-atime -n +n 文件访问时间

-ctime -n +n 创建时间查找 

  stat命令

stat 命令能够详细查看文件的创建时间,修改时间和访问时间,修改时间距离应急响应时间日期接近,线性关联说明可能被篡改

stat /var/www/html/q.php查看这个文件的相关时间属性

3.对系统命令进行查询 ls 和ps命令等可能会被攻击者篡改

ls -alt /bin    #查看命令目录中相关系统命令的修改时间
ls -alh /bin   # 查看相关文件大小,如果明显i安达,则文件很可能被鹈鹕按

4.linux后门查杀

利用第三方查杀工具chkrootkit,rkhunter等检测rootkit是否被安装到当前系统中.

5.排查suid程序/查找suid程序

find / -type f -perm 04000 -ls -uid 0 2>/dev/null

 

 

应急响应第一篇之基础篇

0x01 基本流程和基本原则

一、什么是应急响应

  • 应急响应”对应的英文是" ncident Response”或 Emergency Response"等,
  • 通常是指一个组织为了应对各种意外事件的发生所做的准备以及在事件发生后所采取的措施。

二、应急响应的两个方面

  • 未雨绸缪∵即在事件发生前事先做好准备,比如风险评估、制定安全计划、安全意识的培训、以发布安全通告的方式进行的预警、以及各种防范措施。
  • 亡羊补牢:即在事件发生后采取的措施,其目的在于把事件造成的损失降到最小。这些行动措施可能来自于人,也可能来自系统,比如发现事件发生后,系统备份、病毒检测、后门检测、清除病毒或后门隔离、系统恢复、调査与追踪、入侵者取证等一系列操作。
  • 以上两个方面的工作是相互补充的。首先,事前的计划和准备为事件发生后的响应动作提供了指导框架否则,响应动作将陷入混乱,而这些毫无章法的响应动作有可能造成比事件本身更大的损失;其次,事后的响应可能发现事前计划的不足,吸取教训,从而进一步完善安全计划。因此,这两个方面应该形成种正反馈的机制,逐步强化组织的安全防范体系。

三、应急响应的基本流程

  • 信息收集(收集客户信息和中毒主机信息,包括样本)

  • 类型判断(判断是否是安全事件,何种安全事件,勒索、挖矿、 webshell等)

  • 原因分析(日志分析、进程分析、启动项分析、样本分析。)

  • 事件处置(直接杀掉进程,删除文件,打补丁,抑或是修复文件。)

  • 编写报告(整理并输出完整的安全事件报告。)

四、应急响应的原则

* 3w1H原则
3W即Who、What、Why,1H即How,做应急响应要带着疑问来做事,一定要收集清楚这些信息。
网络拓扑是怎么样的?需求是啥?发生了什么事?你能做什么?用户用了什么产品?产品版本多少?病毒库版本多少?多少主机中了?主机是普通PC还是服务器?服务器是做什么的?.
信息收集越多,对应急响应越有利
  • 易失性原则:
做应急响应免不了要做信息收集和取证的,但这里是有一定的先后顺序的,即最容易丟失的据,应该最先收集,其它的依次类推
  • 要素原则
做应急响应,主要是抓关键证据,即要素,这些要素包括样本、流量、日志、进程及模块、内存、启动项
  • 避害原则
做应急响应,要做到趋利避害,不能问题还没有解决,反而引入了新的问题。
譬如,自己使用的工具被感染而不知情;给用户使用不恰当的工具或软件造成客户主机出现问题;
给别人发样本,不加密,不压缩,导致别人误点中毒,
最极端的场景就是给别人发勒索样本不加密压缩,导致别人误点中毒

0x02技能和工具的简介

  • 应急工具集:应急响应必要的一套工具集合,可协助应急人员做分析,提高效率。
  • 日志分析:能对日志进行分析,包括但不限于系统日志( Windows /Linux等)、应用日志、安全设备日志(防火墙、防病毒、态势感知等)。
  • 威胁情报: 安全事件可能不是孤立的,安全站点或搜索站点能找到安全事件的关联信息。
  • 漏洞补丁知识: 知道漏洞与补丁的关系,它们在应急响应中的角色,了解常见漏洞及补丁
  • 常见病毒及分类:知道病毒大致的分类以及常见的病毒。
  • 样本分析: 至少能对样本进行一次简单动态的分析。
  • 操作系统知识: 至少对 Windows系统和LinuⅨx系统的有一定的知识储备,知道其基础的工作原理

一、常用工具-webshell

  • Webshel是以asp、php、jsp或者cg等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。
  • 黑客在入侵了一个网站后门,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者ρhp后门,得到-个命令执行环境,以达到控制网站服务器的目的
名称平台地址
D盾windowhttp://www.d99net.net/
悬镜linuxhttps://oss.xmirror.cn/
360主机卫士window/linux
河马webshellwindow/linuxhttps://www.shellpub.com/
安全狗window/linuxhttps://www.safedog.cn/
Sangfor webshellkillerwindow/linuxhttps://edr.sangfor.com.cn/#/index/home
  • D盾
工具扫描D盾扫描结果判断
级别为3-5的,后门的概率较大
级别为4和5的基本可以确定为后门
级别为2-3,需要结合其他特征分析
级别为1的,误报概率较高
确认 webshel之后查杀即可

  • 悬镜

  • 360主机卫士

  • 河马webshell

  • 安全狗

  • Sangfor webshellkiller

工具–Process hacker

  • PC Hunter是一个 Windows系统信息査看软件,同时也是—个手工杀毒辅助软件。目前软件支持

  • 还支持64位的Wn7、Wn8、Wn81和Wn10系

  • 1进程、线程、进程模块、进程窗口、进程内存信息查看,杀进程、杀线程、卸载模块等功能

  • 2内核驱动模块査看,支持内核驱动模块的内存拷贝

  • 3SSDT、 Shadow SSDT、FSD、KBD、 TCPIP、 Classon、 Atapi、Acpi、SCSI、IDT、GDT信

  • 息查看,并能检测和恢复 ssdt hook和 inline hook

  • 4 Create Process.、 Create Thread、 Loadimage、 CmpCallback、 BugCheck Callback、

  • Shutdown、Lego等 Notify Routine信息查看,并支持对这些 Notify Routine的删防

  • 5端口信息査看,目前不支持2000系统

  • 6查看消息钩子

  • 7内核模块的iat、eat、 inline hook、 patches检测和恢复

  • 8磁盘、卷、键盘、网络层等过滤驱动检测,并支持删除

  • 9注册表编辑

  • 10进程iat、eat、 inline hook、 patches检测和恢复

  • 11文件系统查看,支持基本的文件操作

  • 12查看(编辑)IE插件、SPI、启动项、服务、Host文件、映像劫持、文件关联、系统防火墙规则、IME

  • 13 ObjectType H。ok检测和恢复

  • 14DPC定时器检测和删除

  • 15 mbR Rootkit检测和修复

  • 16内核对象劫持检测

  • 17 Worker Thread枚举

  • 18Ndis中一些回调信息枚举

  • 19硬件调试寄存器、调试相关AP检测

  • 20枚举 SFilter/ Fltmgr的回调

  • 21系统用户名检测

工具-火绒剑

https://www.huorong.cn/dynamic/2021-05-19/1621412419662.html
https://www.huorong.cn/downloadv5.html


工具-LastActivity view

  • 历史操作查看工具。(命令行的无法査看,仅能查看图形化界面操作的记录)
http://www.nirsoft.net/utils/computer_activity_view.html

工具—Autoruns

  • 一款不错的启动项分析工具,微软官方推荐。只要涉及到启动项相关的信息事无巨细,通通都可以查询得到,非常方便找到病毒的启动项
https://docs.microsoft.com/zh-cn/sysinternals/downloads/autoruns

工具—evtxLogparser

  • windows rdp/smb登录日志分析。
  • RDP登录成功日志: evtxLogparse. exe- r success1evx
  • SMB登录失败日志: evtxLogparse.exe- s fail1evtx
    https://blog.51cto.com/u_12027863/2494584

工具—everything

功能

  • Everything是 voidtools开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和l

  • 名称支持通配符、正则表达式检索

  • 支持文件内容搜索

  • 支持搭建简易FTP/HTTP服务器

  • 过滤 C: \\ windows\\下的eXe文件:*, exe C: \\windows

  • 过滤关键词: content: hacker C: windows

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责!

以上是关于应急响应基础技能的主要内容,如果未能解决你的问题,请参考以下文章

应急响应第一篇之基础篇

全国职业技能大赛网络安全-金砖技能大赛——应急响应内存镜像分析(超详细解析)

HW防守 | Linux应急响应基础

金砖技能大赛-应急响应-内存镜像分析-进程分析

2022全国职业技能大赛“信息安全管理与评估“--应急响应日志分析解析(高职组)

应急响应和安全运营基础