飞道的博客

应急响应--windows主机入侵排查思路

381人阅读  评论(0)

在之前的工作和护网期间,工程师们在实施主机入侵入侵排查工作的时候,常常会面临时间紧、任务急,需要排查的主机数量众多的情况,为了确保实施人员在有限的时间范围内,可以高效且保证质量的前提下完成主机入侵排查工作。结合大佬们的叙述和自己的体会作如下总结,仅供参考。

1.初步筛选排查资产

一般情况下,客户资料都比较多,想要对所有的资产主机进行入侵痕迹排查基本不太现实,等我们全部都排查完了,攻击者该做的事早就做完了,想要的目的也早就达到了,所以我简单说一下我的思路:

首先,在排查前,作为项目经理,应该和客户沟通好,取得授权,确认排查范围和排查方案和办法,

取得授权后,我们再从资产面临的风险等级,资产的重要程度,攻击者的攻击思路、手法及目标选择倾向几个方面去初步筛选出排查资产,这里建议从以下资产范围选取:

①曾失陷资产:在之前的红蓝对抗、攻防演练、或者真实黑客攻击事件中被攻陷的主机,曾失陷资产应作为排查的重点对象。

②互联网暴露脆弱资产:从互联网暴露资产中筛选出使用了高危漏洞频发的组件/应用(组件如weblogic、jboss、fastjson、shiro、struts2等),还有一个点需要注意,就是客户是否具有有效的资产管理,是否能够清晰明确识别出哪些资产用了什么组件,如果不能的话,只能通过之前的渗透测试结果来筛选出脆弱资产。

③关键资产:如域控等可以导致大量主机失陷的集权类资产。

2.确定排查资产

主机入侵痕迹排查工作建议在一周内对数量控制在20台以内的主机进行排查。经过初步筛选的资产数量如果远远大于20台主机,需要从资产里进行二次筛选,如果存在曾失陷资产,排查主机范围可以定位曾失陷资产;如果不存在曾失陷资产,排查主机范围可以定为脆弱资产,具体可以根据客户自身实际情况调整。

需要注意的是,如果排查资产中包含曾失陷资产的话,需要向客户索要历史攻防演练/应急等报告,在排查时需结合历史报告和指导手册内容一起进行排查,需要特别留意历史报告中攻击者的入侵痕迹是否已经完全清理。

3.入侵痕迹排查

在实际情况下,攻击者在金乡攻击时使用的攻击手法、攻击思路、行为等各有差异,无论是考虑实现成本还是效率问题,都难以通过很精细很全面的排查项去实施主机入侵痕迹排查,但我们可从攻击者中可能会产生的一些比较共性的行为特征、关键的项进行排查。

对于主机的入侵痕迹排查,主要从网络连接、进程信息、后门账号、计划任务、登陆日志、自启动项、文件等方向进行排查。比如,如果存在存活后门,主机可能回想c2发起网络连接,因此可以从网络连接排查入手,如果存在异常的网络连接,则必然说明存在恶意的进程正在运行,则可以通过网络连接定为到对应进程,再根据进程定为到恶意文件,如果攻击者企图维持主机控制权限的话,则可能会通过添加后门账号,修改自启动项,或者添加计划任务等方式来维持权限,对应的我们可以通过排查账号、自启动项、计划任务来发现相应的入侵痕迹。

排查的大概内容:

首先要做的是打开查看所有文件,(查看-选项-查看-隐藏文件和隐藏文件夹,把下边的打钩)攻击者一般会通过attrib<程序> +s +h 命令隐藏恶意程序

1.排查网络连接步骤与思路

cmd中执行 netstat -ano 查看当前的网络连接

分析方法:1.主机存在对内网网段大量主机的某些端口(常见如22,445,3389,6379等端口)或者全端口发起网络连接尝试,这种情况一般是当前主机被攻击者当作跳板机对内网实施端口扫描或者口令暴力破解等攻击。2.主机和外网ip已经简历连接(ESTABLISHED状态)或者尝试简历连接(SYN_SENT状态),可以先查询ip所属地,如果ip为国外ip或者归属个种云厂商,则需要重点关注。进一步可以通过威胁情报(https://x.threatbook.cn/等)查询ip是否已经被标注为恶意ip。

 如果无法直接从网络连接情况判断是否为异常连接,可以根据网络连接找到对应的进程ID,判断进程是否异常。如果不能从进程判断,可以进一步找到进程对应文件,将对应文件上传至virustotal(VirusTotal)进行检测。这个就是上传一些文件

 如果在排查网络连接中,任务管理器只能看到有命令行工具(如powershell、cmd)powershell进程与外联ip建立会话,无法看到进程对应的运行参数。此时可借助Process Explorer进一步观察powershell的运行参数,

 2.敏感目录

步骤:查看攻击方喜欢上传的目录是否有可疑文件。

分析方法:1各个盘符下的临时文件,如C:\TEMP、C:\Windows\Temp等。

2%APPDATA% 筛选比较临近时间有变更的文件

 3浏览器的下载目录

4用户最近文件%UserProfile%\Recent,如Administrator对应的目录为C:\Users\Administrator\Recent

 5回收站,如C盘下回收站C:Recycle.Bin

对于脚本文件可直接查看内容判定是否为恶意,若是遇见exe可执行文件,可将对应文件上传至virustotal(VirusTotal)进行检测

3.后门文件

步骤:查看粘滞键exe;查看注册表中映像的键值。

分析方法:查看C:\Windows\System32\下的sethc.exe文件的创建、修改时间是否正常,一般情况下,系统文件的创建时间与修改时间应相同,如果sethc的创建时间与修改时间不同,可确定sethc已被替换成后门文件,由于攻击者可修改文件时间,上述简单粗暴的判断方式可能不靠谱,可将sethc拷贝出来、上传至VT检测危害。

 2查看注册表中映像的键值

检查注册表“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”下所有的exe项中是否有debugger键,若有debugger键,将其键值对应的程序上传至VT检测。

4.后门账号

步骤:打开regedit查看注册表中的账号;查看administrator组中是否存在赋权异常的账号。

分析方法:查看注册表中HKLM\SAM\SAM\Domains\Account\Users\Names中是否有多余的账号(可询问客户运维人员以确定账号存在的必要性)。正常情况下,上述路径的SAM权限仅system用户可查看,需要给administrator用户授权才能打开完整路径。对SAM右键、给administrator用户添加完全控制权限(适用win7以上操作系统)

win2003、XP等低版本系统的操作方法请使用下图的流程给administrators组添加权限。

 

 

带有 符 号 的 账 号 特 指 隐 藏 账 号 ( 如 a a a a 符号的账号特指隐藏账号(如aaaa 符号的账号特指隐藏账号(如aaaa),正常业务中不需要创建隐藏账号,可判断带有$符号的均为后门账号。然后在客户运维的协助下排查其他的异常账号。

如下图中,除了aaaa 可 直 接 判 断 外 , r o o t 账 号 为 高 度 关 注 对 象 。 ( 注 : a a a a 可直接判断外,root账号为高度关注对象。(注:aaaa 可直接判断外,root账号为高度关注对象。(注:aaaa中的键值0x3ea表示该账号与Users表中相应数值的表相对应,在删除账号时需一起删除)

 

注:异常账号删除后需要将之前授权的administrator移除SAM权限。

查看administrators组中是否存在赋权异常的账号。比如正常情况下guest用户处于禁用状态、普通应用账户(weblogic、apache、mysql)不需要在administrators组中。如下图,执行命令net user guest查看guest账号的信息,如果guest账号被启用,且在管理员组成员中有guest用户,需要询问客户运维人员该guest账户启用的必要性以及加入管理组是否有必要,否则可认为攻击者将系统自带用户guest启用并提权至管理员组后作为后门账号使用。

执行net localgroup Administrators关注管理员组别是否存在异常账号:

 5.自启动项

步骤:适用Autoruns工具查看自启动项,查看组策略中的脚本,查看注册表中的脚本、程序等,查看Windows服务中的可执行文件路径

分析方法:1.使用Autoruns:使用工具能较全面地查看系统中的自启动项。在得到客户授权,能够在可能失陷的主机上传排查工具时,可使用Autoruns工具进行详细的自启动项排查。排查中主要关注粉色条目,建议与客户运维人员一同查看,以及时排除业务所需的正常自启项。

 2查看组策略:在无法使用工具、只能手工排查的情况下,可查看常见的自启动项是否有异常文件。打开gpedit.msc-计算机配置/用户配置-windows设置-脚本,在此处可设置服务器启动/关机或者用户登录/注销时执行的脚本。下图1、2两处的脚本均需要查看是否添加有脚本。

 我的这里是没有脚本的

6.日志

步骤:查看登录日志中暴力破解痕迹;查看账号管理日志中账号的新增,修改痕迹;查看远程桌面登录日志中的登录痕迹。


转载:https://blog.csdn.net/weixin_55821558/article/details/125259598
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场