Windows应急响应
一、概述
近年来,随着互联网的发展网络安全攻击事件也是大幅度增多,如何在第一时间发现攻击事件,并实施应急处置,能够有效的将损失降到最低。在实施应急响应的过程中,需要从多方面进行联动工作,具体的流程和依据可以参考《GB∕T 38645-2020 信息安全技术 网络安全事件应急演练指南》,本篇主要以Windows7下应急响应的基础技术手段进行介绍。
当企业发生黑客入侵、系统崩溃或其他影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,①进一步查找入侵来源(人为、非人为),②还原入侵事故过程(通过日志来还原)(日志相当于系统监控摄像头,但需要一定的能力才能看懂),③同时给出解决方案(解决掉)与防范措施(安全加固),为企业挽回或减少经济损失。
- 通过排查事件是否为应急响应事件,如果是的话则说明可能出现安全问题。
常见应急响应事件分类:
web入侵(web渗透):网页挂马、主页篡改、Webshell (通过浏览器登入(门户网站--对外开发的网站),入侵到内网)
系统入侵(内网渗透;当你入侵进内网环境时可以做些什么):病毒木马、勒索软件、远控后门 (在内网内部搞破坏 )
网络攻击(可以通过大量肉鸡进行攻击):DDOS攻击、DNS劫持、ARP欺骗 (不做技术要求,通过疯狂发包、疯狂发业务来来将你的内存缓存打满,导致系统宕机。 )
应急响应流程:检查系统账号安全---->检查异常端口、进程---->检查启动项、计划任务、服务---->检查系统相关信息---->自动化查杀---->日志分析(各种系统都通用这个流程)
二、技术分析
1、准备工作
在正式实施应急响应之前,需要先进行以下工作:
第一、信息收集,先对安全事件进行详细的了解,包括系统、服务以及业务类型。
第二、思路梳理,通过以上信息收集初步梳理自己的分析思路。
第三、工具准备,提前准备好需要用到的工具脚本等资料。
第四、数据备份,所有涉及到分析以及证据的材料都需要提前进行备份,这样也方便之后还有分析人员或者防止数据被篡改或者覆盖。
第五、时间校准,查看系统时间和北京时间是否同步准确,如果不准确那么系统日志等信息的事件可能会存在误差,所以必须提前校准时间。
2、账号分析
查看系统所有的账户,是否存在恶意新增账户,进行远程控制等问题,具体方式如下:
1)查看服务器是否由弱口令组成【弱口令检测工具——John the Ripper】,远程管理端口是否对公网开放【检查远程主机端口是否开启】。据实际情况咨询相关服务器管理员。
2)cmd命令行输入net user查看用户账户,该方法有一个弊端就是无法查看系统建立的隐藏账户。
3)计算机管理->系统工具->本地用户和组->用户(或者lusrmgr.msc),可以查看系统现有账户,其中账户后面带$的则为隐藏账户。
4)控制面板->用户账户和家庭安全->用户账户->管理其他账户,也可以查看所有系统账户。
5)Win+R输入regedit.exe进入注册表编辑器,在下面注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names中也可以查看系统现有账户(或者D盾查杀)。
6) 在cmd命令行中利用net user administrator可以查看administrator该账户的详细信息。
7)在cmd命令行中利用query user可以查看目前登录的账户。
3、最近打开过的文件分析
1)键盘输入win+R打开运行窗口输入recent,直接打开C:\Administrtor\Recent(win10),可以查看最近打开过的所有文件。
2)设置最新使用的项目查看最近打开的文件。开始菜单右键->属性->开始菜单(自定义)->勾选最近使用的项目。
3)键盘输入win+e,点击组织->文件夹和搜索选项->将导航窗口全选上。
4)回收站查看最近删除文件。回收站中可能会存在一些攻击者删除的最近打开编辑后的文件资料等痕迹,可以选择还原所以项目,也是需要注意的。
4、日志分析
日志分析包括操作系统的日志记录以及web应用的日志记录,一般来说操作系统的日志主要记录针对该系统的操作行为事件,但是web应用日志则会记录web程序访问该应用程序的时候的操作行为和事件,一般针对日志分析时候也是需要从操作系统和web应用日志两块结合分析。
1)操作系统日志
1)运行键入eventvwr.msc,打开事件查看器。导出应用程序日志、安全日志、系统日志,利用Log Parser进行分析。
前提:开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。
操作系统日志存放着计算机关于系统、应用程序的告警信息以及安全日志等信息,一般存放C:\Windows\System32\winevt\Logs,可以通过事件查看器进行查看。
系统日志中存放了Windows操作系统产生的信息、警告或错误。通过查看这些信息、警告或错误,用户不但可以了解到某项功能配置或运行成功的信息,还可了解到系统的某些功能运行失败,或变得不稳定的原因。打开事件查看器->Windows日志->系统。
应用程序日志中存放应用程序产生的信息、警告或错误。通过查看这些信息、警告或错误,用户可以了解到哪些应用程序成功运行,产生了哪些错误或者潜在错误。程序开发人员可以利用这些资源来改善应用程序。打开事件查看器->Windows日志->应用程序。
安全日志(重点)中存放了审核事件是否成功的信息。通过查看这些信息,用户可以了解到这些安全审核结果为成功还是失败。同时安全日志会存放攻击者远程登陆后或者通过提权等方法拿到权限后的一些操作行为,更有助于定位攻击者对操作系统的攻击行为。打开事件查看器(eventvwr.msc)->Windows日志->安全【导出windows日志-安全,利用Log Parser进行分析】。(一般在操作系统日志分析过程中更关注安全日志的分析)
Windows事件日志通过不同的EVENT ID代表了不同的意义,针对常用的**安全事件**的事件ID还是需要熟练掌握。 其中:
4624:代表成功的登录;
4625:代表失败的尝试;
4672:代表授予特殊权限;
4720:代表添加用户;
4726:代表删除用户;
4634:代表成功的注销;
4672:代表超级用户登录。
因此想要查看账户登录事件,筛选日志中事件ID填入4624则可以筛选登录成功事件,4625则可以筛选登录失败事件。
当有人使用mstsc远程登录某个主机时,使用的帐户是管理员帐户的话,成功的情况下会有事件ID为4776、4648、4624、4672的事件产生。
安全日志中除了会记录改事件的成功失败以外还会记录该事件的IP地址和端口,因此如果发现某个远程登陆时,通过查看详细信息便可以分析出远程登陆的IP地址和他机器的端口。
2)Web应用日志
1)找到中间件的web日志,打包到本地方便进行分析。
推荐工具:Windows下,推荐使用EmEditor进行日志分析,支持大文本,搜索效率还不错。Linux下,使用Shell命令组合查看分析。
5、进程、网络连接分析
一般检查进程和网络连接是同步进行的,相互结合着进行分析是否有异常程序进行远程连接。
1)网络连接
windows中的网络连接可以通过netstat命令进行定位,查看正则监听以及连接的网络连接。netstat结合findstr可以查看不同端口的网络连接信息。如:c:\Windows\system32>netstat -ano l findstr 138
2)进程检查
①在msinfo32中查看现有进程(开始->运行->输入msinfo32->软件环境->正在允许任务)。比如进程路径、进程ID、文件创建日期、启动时间等。
②打开windows任务管理器,可以点击启动任务管理器查看系统进程。
③cmd命令行输入tasklist查看进程。tasklist 结合findstr可以查看不同pid对应的程序。c:\Windows\system32>tasklist | findstr 269
④打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
⑤通过微软官方提供的Process Explorer等工具进行排查。
⑥查看可疑的进程及子进程。可以通过观察以下内容:没有签名验证信息的进程、没有描述信息的进程、进程的属主、进程的路径是否合法、CPU或内存资源占用长时间过高的进程。
3)检查端口连接
是否有远程连接、可疑连接。
①netstat -ano查看目前的网络连接,定位可疑的ESTABLISHED(已建立连接状态)
②根据netstat定位出的pid,再通过tasklist命令进行进程定位tasklist /fi"PID eq 12852"
4)小技巧(重点)
a、查看端口对应的PID:netstat -ano | findstr “port”
b、查看PID对应的进程:tasklist /fi “PID eq pid”
c、查看进程对应的程序位置:任务管理器-->选择对应进程-->右键打开文件位置运行键入wmic,输入命令process
d、tasklist /svc进程-->PID-->服务
e、查看Windows服务所对应的端口:运行键入drivers-->进入etc文件-->打开services文件
6、计划任务分析
windows的计划任务是方便运维人员在不同时间段对系统进行一些操作的功能,但是在恶意攻击中被黑客用来做为恶意程序的启动等手段,也是windows应急响应中必须分析的功能。
windows的计划任务一般存放在C:\Windows\System32\Tasks\或者C:\Windows\SysWOW64\Tasks\以及C:\Windows\tasks\等目录下。一般利用图形化界面可以打开,运行->taskschd.msc,打开任务计划程序。
1)win+q搜索任务计划程序或右键此电脑-->管理,查看计划任务属性,便可以发现木马文件的路径。
2)cmd中输入命令at检查计算机与网络上的其他计算机之间的会话或计划任务,如有则确认是否为正常连接。
7、自启动分析
自启动功能表示每次系统开机启动后程序也跟着启动,也是很多恶意程序最喜欢的功能,如果被加到自启动项的程序便会出现在该项目下。
①运行->msconfig打开系统配置可以查看;
②运行->msinfo32打开系统信息,在软件环境下的启动程序也可以查看。
③运行键入services.msc,注意服务状态和启动类型,检查是否有异常服务。
④登录服务器,任务管理器-->启动
⑤运行键入msconfig-->启动
⑥运行键入regedit打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
HKEY_CURRENT_USERISoftwarelMicrosoftWindows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows\CurrentVersionRunOnce
⑦利用安全软件查看启动项、开机时间管理等
⑧组策略,运行gpedit.msc
8、自动化查杀
①病毒查杀
下载安全软件,更新最新病毒库,进行全盘扫描。
②webshell查杀
选择具体站点路径进行webshell查杀,建议使用两款webshell查杀工具同时查杀,可相互补充规则库的不足。
9、host文件分析
host文件是windows下用来构建映射关系的文件,局域网没有DNS服务器,通过hosts建立给服务器建立IP映射,通过分析可以查看是否存在本地DNS篡改,该文件在C:\Windows\System32\drivers\etc目录下,打开后可以查看详细对应关系。
10、webshell查杀分析
通过上述一系列的分析完成之后,如果在数据文件备份均以完成,且客户可分析允许的情况下,可以对系统进行病毒的扫描,以及web服务下的webshell扫描,扫描可以用的D盾等一系列webshell查杀工具。
三、工具使用
1、病毒分析
PCHunter(已经收费): http://www.xuetr.com/
Process Explorer: https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
processhacker: https://processhacker.sourceforge.io/downloads.php
autoruns: https://docs.microsoft.com/zh-cn/sysinternals/downloads/autoruns
2、病毒查杀
卡巴斯基: http://devbuilds.kaspersky-labs.com/devbuilds/kvrt/latest/full/kvrt.exe(推荐理由:绿色版、最新病毒库)
大蜘蛛: https://free.drweb.ru/download+cureit+free(推荐理由:扫描快、一次下载只能用1周,更新病毒库)
火绒安全软件:https://www.huorong.cn
360杀毒:http://sd.360.cn/download_center.html
3、病毒动态
CVERC-国家计算机病毒应急处理中心:https://www.cverc.org.cn/
微步在线X情报社区:https://x.threatbook.cn/
火绒安全论坛:https://bbs.huorong.cn/
爱毒霸社区:http://bbs.duba.net
腾讯电脑管家:http://bbs.guanjia.qq.com/
4、在线病毒扫描网站
virscan:http://www.virscan.org
腾讯哈勃分析系统:https://habo.qq.com
jotti恶意软件扫描系统:https://virusscan.jotti.org
针对计算机病毒、手机病毒、可疑文件等进行检测分析:http://www.scanvir.com
5、webshell查杀
D盾_Web查杀:http://www.d99net.net
河马webshell查杀(有可能查不到):http://www.shellpub.com
深信服Webshell网站后面检测工具:http://edr.sangfor.com.cn/backdoor_detection.html
Safe3:http://www.uusec.com/webshell.zip
6、后门查杀
1、文件md5校验
2、工具查杀
7、日志分析工具
Log Parser Lizard
对于GUI环境的Log Parser Lizard,其特点是比较易于使用,甚至不需要记忆繁琐的命令,只需要做好设置,写好基本的SQL语句,就可以直观的得到结果。下载地址:http://www.lizard-labs.com/log_parser_lizard.aspx。依赖包:Microsoft .NET Framework 4.5,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=30653
Event Log Explorer
Event Log Explorer是一款非常好用的Windows日志分析工具。可用于查看、监视和分析跟事件记录,包括安全,系统,应用程序和其他微软Windows的记录被记载的事件,其强大的过滤功能可以快速的过滤出有价值的信息。下载地址:https://event-log-explorer.en.softonic.com/
8、勒索自救指南
勒索病毒搜索引擎
在勒索病毒搜索引擎输入病毒名、勒索邮箱、被加密后文件的后缀名,或直接被上传被加密的文件、勒索提示信息,即可快速查找到病毒详情和解密工具。
【360】勒索病毒搜索引擎,支持检索超过800中常见勒索病毒 http://lesuobingdu.360.cn
【腾讯】勒索病毒搜索引擎,支持检索超过300中常见勒索病毒 https://guanjia.qq.com/pr/ls/
【启明】VenusEye勒索病毒搜索引擎,超300中勒索病毒家族 https://lesuo.venuseye.com.cn/
【奇安信】勒索病毒搜索引擎 https://lesuobingdu.qianxin.com/
勒索软件解密工具集
很多安全公司都提供了免费的勒索病毒解密工具下载,收集和整理相关下载地址,可以帮助我们了解和获取最新的勒索病毒解密工具。
【Github项目】勒索病毒解密工具收集汇总 https://github.com/jiansiting/Decryption-Tools
【卡巴斯基】免费勒索解密器 https://noransom.kaspersky.com/
【火绒】安全工具下载 https://bbs.huorong.cn/forum-55-1.html
【腾讯哈勃】勒索软件专杀工具 https://habo.qq.com/tool/index
入侵排查方法(精简版)
1、检查系统账号安全
①查看服务器是否由弱口令,远程管理端口是否对公网开放。
#检查方法:据实际情况咨询相关服务器管理员。
②查看服务器是否存在可疑账号、新增账号。
#检查方法:打开本地用户和组(lusrmgr.msc),查看是否有新增/可疑的账号。
③查看服务器是否存在隐藏账户、克隆/影子账号。
#检查方法:a、打开注册表,查看管理员对应键值 b、使用工具,D盾查杀
④结合日志,查看管理员登录时间、用户名是否存在异常。
#检查方法:a、打开事件查看器(eventvwr.msc) b、导出Windows日志-安全,利用Log Parser进行分析。
2、检查异常端口、进程
①检查端口连接情况,是否有远程连接、可疑连接。
#检查方法:
a、netstat -ano查看目前的网络连接,定位可疑的ESTABLISHED(已建立连接)
b、根据netstat定位出的pid,再通过tasklist命令进行进程定位tasklist /fi"PID eq 12852"
②进程
#检查方法:
a、开始-->运行-->键入msinfo32,依次点击“软件环境-->正在运行任务"就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等。
b、打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
c、通过微软官方提供的 Process Explorer等工具进行排查。
d、查看可疑的进程及子进程。可以通过观察以下内容:没有签名验证信息的进程、没有描述信息的进程、进程的属主、进程的路径是否合法、CPU或内存资源占用长时间过高的进程。
③小技巧:
a、查看端口对应的PID:netstat -ano | findstr “port”
b、查看PID对应的进程:tasklist /fi “PID eq pid”
c、查看进程对应的程序位置:任务管理器-->选择对应进程-->右键打开文件位置运行键入wmic,输入命令process
d、tasklist /svc进程-->PID-->服务
e、查看Windows服务所对应的端口:运行键入drivers-->进入etc文件-->打开services文件
3、检查启动项、计划任务、服务
①检查服务器是否有异常的启动项。
#检查方法:
a、登录服务器,任务管理器-->启动
b、运行键入msconfig-->启动
c、运行键入regedit打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
HKEY_CURRENT_USERISoftwarelMicrosoftWindows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows\CurrentVersionRunOnce
d、利用安全软件查看启动项、开机时间管理等
e、组策略,运行gpedit.msc
②检查计划任务
#检查方法:
a、win+q搜索任务计划程序或右键此电脑-->管理,查看计划任务属性,便可以发现木马文件的路径。
b、cmd中输入命令at检查计算机与网络上的其他计算机之间的会话或计划任务,如有则确认是否为正常连接。
③服务自启动
#检查方法:
运行键入services.msc,注意服务状态和启动类型,检查是否有异常服务。
4、自动化查杀
①病毒查杀
#检查方法:下载安全软件,更新最新病毒库,进行全盘扫描。
②webshell查杀
#检查方法:选择具体站点路径进行webshell查杀,建议使用两款webshell查杀工具同时查杀,可相互补充规则库的不足。
5、日志分析
①系统日志
#分析方法:
a、前提:开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。
b、运行键入eventvwr.msc,打开事件查看器。
c、导出应用程序日志、安全日志、系统日志,利用Log Parser进行分析。
②WEB访问日志
#分析方法:
a、找到中间件的web日志,打包到本地方便进行分析。
b、推荐工具:Windows下,推荐使用EmEditor进行日志分析,支持大文本,搜索效率还不错。Linux下,使用Shell命令组合查看分析。
事件日志分析
对于Windows事件日志分析,不同的EVENT ID代表不同的意义,摘录一些常见的安全事件的说明:
事件ID | 说明 |
---|---|
4624 | 登入成功 |
4625 | 登入失败 |
4634 | 注销成功 |
4647 | 用户启动的注销 |
4672 | 使用超级用户(如管理员)进行登入 |
4720 | 创建用户 |
每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:
登录类型 | 描述 | 说明 |
---|---|---|
2 | c (Interactive) | 用户在本地进行登录。 |
3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 |
4 | 批处理(Batch) | 通常表明某计划任务启动。 |
5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 |
7 | 解锁(Unlock) | 屏保解锁。 |
8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如FTP。 |
9 | 新凭证(NewCredentials) | 使用带/Netonly参数的RUNAS命令运行一个程序。 |
10 | 远程交互(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 |
11 | 缓存交互(Cachedlnteractive) | 以一个域用户登录而 |