应急响应(Incident Response Service,IRS)是当企业系统遭受病毒传播、网络攻击、黑客入侵等安全事件导致信息业务中断、系统宕机、网络瘫痪,数据丢失、企业声誉受损,并对组织和业务运行产生直接或间接的负面影响时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,同时分析入侵原因、还原入侵过程、评估业务损失、溯源黑客取证并提出解决方案和防范措施,减少企业因黑客带来的相关损失。本文主要讨论windows被入侵后的排查思路。
强力推荐windows入侵排查利器:火绒剑
0x01 分析入侵过程
攻击者入侵windows系统往往从弱口令、系统漏洞以及服务漏洞进行切入,获得一个普通的系统权限,再经过提权后进行创建启动项、修改注册表、植入病毒和木马等一系列操作,从而维持对目标主机的控制权。而与此同时操作系统也会出现异常,包括账户、端口、进程、网络、启动、服务、任务以及文件等,系统运维人员可以根据以上异常情况来知道攻击者从何处入侵
、攻击者以何种方式入侵
以及攻击者在入侵后做了什么
这几个问题的答案,从而为之后的系统加固、安全防护提供针对性建议。
暴力破解:针对系统有包括rdp、ssh、telnet等,针对服务有包括mysql、ftp等,一般可以通过超级弱口令工具、hydra进行爆破
漏洞利用:通过系统、服务的漏洞进行攻击,如永恒之蓝、Redis未授权访问等
流量攻击:主要是对目标机器进行dos攻击,从而导致服务器瘫痪
木马控制:主要分为webshell和PC木马,webshell是存在于网站应用中,而PC木马是进入系统进行植入。目的都是对操作系统进行持久控制
病毒感染:主要分挖矿病毒、蠕虫病毒、勒索病毒等,植入病毒后往往会影响受感染电脑的正常运作,或是被控制而不自知,电脑正常运作仅盗窃资料、或者被利用做其他用途等用户非自发引导的行为
0x02 入侵排查方法
一、检查系统账号安全
攻击者面对windows系统会先从用户密码入手,首先是通过rdp服务对Administrator、Guest等默认账户的口令爆破,如果爆破没结果的话会固定密码,对用户账号进行爆破,再之后加入还是失败的话就是社工生成账号、密码字典,运气好那么就可以直接登录到管理员账号。在拿到系统权限后,权限维持则是必不可少的一步,创造一个新的管理账号方便后期登录查看就是一个不错的方法,当然为了增加隐蔽性该账号可以是影子账户。根据这几方面,检查看系统账号时可以重点关注弱口令、可疑账号、影子账户。
(一)排查服务器弱口令
检查方法:
尝试使用弱口令登录爆破或直接咨询管理员
(二)排查可疑账号、新增账号
检查方法:
1、打开cmd窗口,输入 lusrmgr.msc
2、查看是否存在可疑账号,特别是管理员群组(Administrators)中的新增账号,如果存在需要立即删除或禁用
(三)排查隐藏账号
检查方法1:
打开注册表,查看管理员对应键值
1、在桌面打开运行(可使用快捷键 win+R),输入 regedit,打开注册表编辑器
2、选择 HKEY_LOCAL_MACHINE/SAM/SAM,默认无法查看该选项内容,右键菜单选择权限,打开权限管理窗口
3、选择当前用户(一般为 administrator),将权限勾选为完全控制,然后确定并关闭注册表编辑器
4、再次打开注册表编辑器,即可选择 HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users
5、在 Names 项下可以看到实例所有用户名,如出现本地账户中没有的账户,即为隐藏账户,在确认为非系统用户的前提下,可删除此用户
检查方法2:
通过D盾web查杀工具进行检测,其中集成了对克隆账号、隐藏账号检测的功能
(四)结合日志排查用户是否出现异常
检查方法1:
1、在桌面打开运行(可使用快捷键 win+R),输入 eventvwr.msc 命令
2、打开时间查看器,分析用户登录日志
检查方法2:
通过LogFusion查看日志记录
二、检查异常端口、进程
端口作为计算机内部与外部数据交互的窗口,在攻击者眼里也是作为香饽饽
的存在,在入侵系统后,攻击者可以在计算机上开启专属的端口来访问被害主机或植入病毒用于挖矿等,熟悉计算机的朋友应该都知道常用的端口也就那么几个,所以通过排查可疑端口能确定主机是否存在后门、是否被植入挖矿病毒等,再根据端口的PID对可疑进程对应的程序排查,确定是否为恶意程序。
(一)排查可疑端口
检查方法1:
1、使用netstat命令查看当前网络连接,定位可疑的ESTABLISHED连接
netstat -ano
2、根据PID编号通过tasklist对进程进行定位
tasklist | findstr "PID"
检查方法2:
通过D盾web查杀工具进行端口查看
(二)排查可疑进程
检查方法1:
1、在桌面打开运行(可使用快捷键 win+R),输入 msinfo32 命令
2、依次点击 "软件环境 -- 正在运行任务" 就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期以及启动时间等。
检查方法2:
打开D盾_web查杀工具的进程查看,关注没有签名信息的进程
检查方法3:
通过微软官方提供的 Process Explorer 等工具进行排查
在查看可疑的进程及其子进程。可以重点观察以下内容:
1、没有签名验证信息的进程
2、没有描述信息的进程
3、进程的属主
4、进程的路径是否合法
5、CPU 或内存资源占用长时间过高的进程
三、检查启动项、计划任务和服务
启动项、计划任务、服务是攻击者维持权限的惯用手段。在入侵windows计算机后,攻击者可以通过修改注册表、替换粘滞键程序在系统启动时就获得权限,也能够在管理员权限下设置计划任务,因为计划任务后门分为管理员权限和普通用户权限两种。管理员权限可以设置更多的计划任务,例如重启后运行等。也可以通过meterpreter创建后门服务。
(一)排查异常启动项
检查方法1:
单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。
检查方法2:
在桌面打开运行(可使用快捷键 win+R),输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
检查方法3:
在桌面打开运行(可使用快捷键 win+R),输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。
检查方法4:
利用安全软件查看启动项、开机时间管理等。
检查方法5:
在桌面打开运行(可使用快捷键 win+R),输入 gpedit.msc 查看组策略
(二)排查计划任务
检查方法1:
1、在桌面打开运行(可使用快捷键 win+R),输入 control 打开控制面板
2、在 系统与安全 中查看计划任务属性,便可以发现木马文件的路径。
检查方法2:
1、在桌面打开运行(可使用快捷键 win+R),输入 cmd 打开命令行窗口
2、检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接,其中计划任务在windows7及之前版本的操作系统中使用at命令进行调用,在从windows8版本开始的操作系统中使用schtasks命令调用。windows server 2016 下执行 schschtasks
windows 7 下执行 at
检查方法3:
利用安全软件查看计划任务。
(三)排查服务自启动
检查方法:
1、在桌面打开运行(可使用快捷键 win+R),输入 services.msc
2、注意服务状态和启动类型,检查是否有异常服务
四、检查系统相关信息
系统本身如果存在漏洞,那么结果往往是致命的,如果计算机存在永恒之蓝漏洞且未采取防护措施。那么攻击者就能直接通过MSF的漏洞利用程序获取目标windows系统的system权限。与此同时,攻击者在进入系统后往往也会留一些蛛丝马迹,如未将上传文件清除、浏览器浏览记录未删除、下载的文件未删除等。在检查系统相关信息时就需要重点关注系统本身存在的漏洞以及攻击者使用过的文件。
(一)查看系统版本以及补丁信息
检查方法:
1、在桌面打开运行(可使用快捷键 win+R)输入 systeminfo
2、查看系统信息和补丁状态
3、将内容导入文本,利用 windows-exploit-suggester 对系统补丁进行漏洞利用分析
python windows-exploit-suggester.py --database 2021-08-26-mssb.xls --systeminfo systeminfo.txt
(二)查看可疑目录及文件
检查方法1:
查看用户目录,是否存在新建用户目录
Window 2003版本 : C:\Documents and Settings
Window 2003以后版本 : C:\Users\
检查方法2:
1、在桌面打开运行(可使用快捷键 win+R)输入 %UserProfile%\Recent
2、分析最近打开的可疑文件
检查方法3:
1、点击文件资源管理器,查找服务器内中的各个文件夹
2、将文件夹文件按时间进行排序,查找可疑文件,其中修改时间在创建时间之前的为可疑文件,也可以在搜索中搜索某一时间修改的文件。重点关注windows\system32的sethc.exe是否被替换为cmd程序
检查方法4:
针对回收站、浏览器下载目录以及历史记录进行排查
(三)查看隐藏文件
检查方法1:
1、在桌面打开运行(可使用快捷键 win+R),输入 control,进入控制面板
2、找到文件资源管理器选项,点击 查看 后,取消”隐藏受保护的操作系统文件“勾选,在隐藏文件和文件夹下面的单选选择显示隐藏的文件、文件夹和驱动器
检查方法2:
如果操作系统版本够高的话直接在资源管理器中设置
检查方法3:
借助fileseek查看文件
五、日志分析
主要查看系统日志和web日志,通过日志可以帮助我们验证对入侵过程的判断和发现其他入侵行为。但它的前提则是日志记录已开启的情况下才能获取。这块具体会在之后的日志分析篇提到
(一)系统日志
分析方法:
1、在桌面打开运行(可使用快捷键 win+R),输入 eventvwr.msc
2、找到事件查看器,查看windows日志(包括应用程序、安全、Setup、系统、事件)
(二)web日志
分析方法:
1、找到中间件、应用、WAF的日志(包括但不限于IIS、Nginx、宝塔、网站等)
2、打包至本地进行分析,在编辑器中对关键字进行搜索
六、工具查杀
webshell和病毒都是windows系统的大敌,它们可以维持攻击者的系统权限、盗窃资料、感染其他主机、加密文件等,对操作系统造成非常大的危害。这里推荐D盾以及火绒软件(当然查杀软件越多越好)。对病毒进行全盘扫描,而对webshell进行web目录扫描。
0x03 总结
我们在做应急响应时还是需要多从攻击者的角度去思考问题,知己知彼方能百战不殆,那么针对windows系统的入侵排查就介绍到这里,欢迎各位大佬在评论区留言。