windows入侵检查流程(入侵检测系统的流程)

检查概述

由于无法站在攻击者视角审视其做过哪些攻击行为,因而规范化的检查内容能够躲避非规范化的风险。

例如操作系统固然没有异常登录日志,但假如不检查操作系统用户即会存在遗漏从而产生风险,同时也可躲避上次检查ab内容,本次检查bc内容的非规范化风险。

因而无论每个人的规范能否统一,扬长避短逐步完善本人的规范化是倡议停止的。

windows操作系统入侵检查流程图如下所示:

图片[1]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区
 


现象检查

可经过监测告警、日常巡检等主动机制发现存在的异常事情,假如没有主动发现,则只能在平安事情发作后被动发现。以下阐明在被入侵后对可能存在的异常现象停止检查。

现象检查发现的异常程序不可直接删除,应先考证异常进程能否存在自我守护机制,否则平安事情无法得到铲除。
 

1.1 已监听端口

已监听端口并非一个独立的对象,而是和进程相关联,进程假如需求对外提供访问接口,则必需经过监听端口的方式对外开放,常用于在内网中部署正向后门程序。

留意点:

1 在操作系统初始化正常运转后,倡议记载已监听端口的基线值,供日常巡检运用;

2 受操作系统、关键途径中的网络层访问控制影响。

例如检查已监听端口能否存在异常。则运转cmd命令行,运用netstat -ano | findstr LIST命令检查已监听端口。

示例:
点击【开端菜单】,搜索框中输入【cmd】,右键点击【cmd.exe】程序,选择【以管理员身份运转】。

图片[2]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

运用netstat -ano | findstr LIST命令检查已监听端口。含义如下:

1 左1列,程序协议;
2 左2列,本地监听地址和端口;
3 左3列,外部地址(留空);
4 左4列,状态为监听;
5 左5列,程序pid。

可依据已知程序不会监听的端口停止判别能否存在异常,并依据该链接的pid停止深化剖析。

图片[3]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.2 已树立衔接

已树立衔接分为入站衔接和出站衔接,入站意为访问操作系统本地的方向,出站意为操作系统访问外部的方向。

留意点:

1 受操作系统、关键途径中的网络层访问限制影响;
2 效劳端如存在主动外联则需求重点检查。

例如检查已树立衔接能否存在异常。则运用netstat -ano | findstr EST命令检查已树立衔接。

示例:
查询结果,可依据十分规衔接判别能否存在异常,并依据该链接的pid停止深化剖析:

图片[4]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.3 系统进程

cpu资源被占满、异常的已监听端口、异常的已树立衔接在深化剖析时都会检查系统进程。

留意点:不倡议运用任务管理器停止系统进程检查,由于可供剖析的维度较少,且容易被进程名诈骗,操作系统允许相同称号但不同执行途径的进程同时存在。

例如检查系统进程能否存在异常,运用以下命令获取系统进程细致信息。

wmic process get 
caption,commandline,creationDate,executablepath,handle,handleCount > c:yanlianporcess.txt

示例:
在cmd命令行中复制以上命令并回车执行。

图片[5]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

翻开C:yanlianprocess.txt,可看到6列内容,含义如下所示:

1 caption:进程名;
2 commandline:进程名、程序执行途径、进程执行参数;
3 creationDate:进程启动时间(格式为:年月日时分秒);
4 executablepath:程序执行途径;
5 handle:进程pid;
6 handleCount:该进程的父进程pid。

可依据进程名、进程执行参数、进程启动时间、程序执行途径判别能否存在异常,并依据异常点停止深化剖析。

图片[6]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

图片[7]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区
 


耐久化检查

如经过现象检查发现异常程序,则能够经过中止运转该进程的方式,判别其能否会重新启动。
 

1.1 任务方案

任务方案能够将任何脚本或程序定时启动。如被黑客应用则会充任歹意程序的守护机制。

留意点:不倡议运用图形化任务方案程序停止检查,由于数量、层级较多不便当检查。

检查任务方案能否存在异常的办法:

1 运用schtasks /query /fo LIST /v 

>c:yanlianschtasks.txt命令获取任务方案;

2 运用正则(Folder|TaskName|Status|Author|Task To Run|Scheduled Task State|Start Time|Start Date)(.*)过滤任务方案关键字段;

3 运用正则Start Date(.*)和Start Date$0n分割不同任务方案。

示例1:
导出任务方案,提示错误。

图片[8]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

查看当前活动代码页为936,将其修正为437。

图片[9]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

再次导出任务方案。但导出的任务方案无关信息过多,需求过滤。

图片[10]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例2:
复制以下正则表达式。
(Folder|TaskName|Status|Author|Task To 
Run|Scheduled Task State|Start Time|Start Date)(.*)
将正则表达式复制到搜索框中,点击【find all】,再【ctrl+c】复制匹配到的内容。

图片[11]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

同时新建一个文档将复制的内容停止粘贴,但一切任务方案未分割不便当检查,因而还需求对过滤后的任务方案停止分割。

示例3:
复制以下正则表达式。
Start Date(.*)
Start Date$0n
按【ctrl+h】将以上正则停止粘贴并交换一切。

图片[12]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

最后构成如下文档:只记载任务方案称号,运转状态,创立者,程序途径,方案状态,启动时间,以便当对可能存在异常的对象停止检查。

图片[13]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.2 自启动项

自启动项可在系统启动时自动运转相关程序,歹意程序的第二个自启机制。

留意点:不倡议运用图形化msconfig工具停止检查,由于称号、途径较长则不便当取证。

运用以下命令将自启动项导出检查。

reg export 
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun c:yanlianautorun.reg

示例:
输入命令将自启动项配置文件导出。

图片[14]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

检查导出的自启动项配置能否存在异常。

图片[15]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.3 环境变量

环境变量用于将系统途径变量化,如被黑客应用则会以最高权限运转歹意程序,例如将环境变量%systemroot%变卦为其他途径,同时树立system32文件夹并将歹意程序经过效劳启动。

留意点:环境变量%systemroot%修正后需停止恢复,否则系统无法正常重启。

运用set命令将环境变量导出检查。

示例:
输入命令将环境变量配置文件导出。

图片[16]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

检查导出的环境变量配置能否存在异常。

图片[17]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.4 系统效劳

效劳可在系统启动时自动运转相关程序或启动后延迟运转相关程序,是歹意程序的第三个自启机制。

留意点:不倡议运用图形化services.msc程序停止检查,由于数量、层级较多不便当检查。

1 运用命令将效劳配置文件导出检查;
2 过滤包含Description、ImagePath、ServiceDll的字段;
3 过滤包含(.*)(.dll|.exe)(.*)的字段;
4 删除Description REG_SZ,Description 
REG_EXPAND_SZ,ImagePath    
REG_EXPAND_SZ,ServiceDll 
REG_EXPAND_SZ无关字符
5 将/Processid(.*)交换为空;
6 将,-(.*)交换为空;
7 将@交换为空;
8 依据环境变量检查结果对%systemroot%,%windir%停止交换;
9 将^[a-z]*.dlln交换为空;
10 排序、统一小写和去重后停止效劳检查。

示例1:
选择一条命令将效劳配置文件导出。
reg query "HKEY_LOCAL_MACHINESYSTEMControlSet001Services" /s > c:yanlianservice_001.txt
reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices" /s > c:yanlianservice_set.txt

图片[18]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

效劳配置文件途径阐明:

1 ControlSet001:系统真实的效劳配置信息;
2 ControlSet002:最后一次胜利启动的效劳配置信息;
3 CurrentControlSet:系统运转时的效劳配置信息;
4 系统启动时,从ControlSet001复制到CurrentControlSet中;
5 系统运转时,修正的都是CurrentControlSet中的信息;
6 系统重启时,从CurrentControlSet复制到ControlSet001中;
7 系统正常启动时,从ControlSet001、CurrentControlSet复制到ControlSet002;
8 开机选择“最近一次正确配置”时,从ControlSet002复制到CurrentControlSet中。

效劳配置阐明:

1 ImagePath:效劳所启动程序的途径;
2 Parametesservicedll:程序调用的真实dll文件途径;
3 Start:0/boot,1/system,2/自动,3/手动,4/禁用;
4 DelayedAutostart:1/延迟启动;
5 Type:程序类型。

示例2:
输入以下正则表达式停止内容过滤。
(Description|ImagePath|ServiceDll )(.*)
点击【.*】启用正则匹配,输入正则表达式,点击【find all】后复制。

图片[19]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例3:
输入以下正则表达式停止内容过滤。
(.*)(.dll|.exe)(.*)
点击【find all】后复制。

图片[20]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例4:
复制以下单行内容并逐一交换。
Description    REG_SZ    
Description    REG_EXPAND_SZ    
ImagePath    REG_EXPAND_SZ    
ServiceDll    REG_EXPAND_SZ    
交换办法为在【find】框中粘贴,【replace】框中内容为空,点击【replace all】停止交换。

图片[21]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例5:
复制以下内容并交换。
/Processid(.*)
交换办法为在【find】框中粘贴,【replace】框中内容为空,点击【replace all】停止交换。

图片[22]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例6:
复制以下内容并交换。
,-(.*)
交换办法为在【find】框中粘贴,【replace】框中内容为空,点击【replace all】停止交换。

图片[23]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例7:
复制以下内容并交换。
@
交换办法为在【find】框中粘贴,【replace】框中内容为空,点击【replace all】停止交换。

图片[24]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例8:
复制以下内容并交换。
%systemroot% c:windows
%windir% c:windows
交换办法为在【find】框中粘贴,【replace】框中内容为空,点击【replace all】停止交换。

图片[25]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例9:
复制以下内容并交换。
^[a-z]*.dlln
交换办法为在【find】框中粘贴,【replace】框中内容为空,点击【replace all】停止交换。

图片[26]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例10:
对过滤后的程序途径停止排序。

图片[27]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

全选一切内容将一切大写字母转换为小写。

图片[28]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

对过滤后的程序途径停止去重。

图片[29]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

依据去重后的结果可直观的对效劳所调用的程序停止检查。例如异常的程序途径,程序称号。同时工作量也会大大减少,由于原先需求剖析9062行,如今只需求剖析145行即可,如在145行中发现异常则可查看导出的效劳配置文件停止深化剖析。

图片[30]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

图片[31]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.5 用户登录

用户登录可在系统启动登录、注销登录时自动运转相关程序,是歹意程序的第四个自启机制。

留意点:操作系统中有两处配置文件可用于在登录时启动相关程序。

运用命令将用户登录配置文件导出检查。

示例1:
复制以下命令:

reg query HKEY_CURRENT_USEREnvironment /v UserInitMprLogonScript > 
c:yanlianuserlogin.txt
reg query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v Userinit >> c:yanlianuserlogin.txt

在命令行中粘贴将用户登录配置文件导出检查。

图片[32]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

依据导出的登录配置停止检查。

图片[33]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.6 svchost及dll劫持

svchost.exe主要作用是将动态链接库(后缀为.dll的文件)以效劳的方式运转。svchost.exe对系统的正常运转十分重要,是不能被完毕的。经过效劳、dll、com均可劫持注入到程序中启动。

留意点:

1 在入侵检查方向,更倾向于将svchost.exe作为一个单独的耐久化检查项目,而非系统效劳,由于检查办法完整不同;
2 同时svchost.exe不作为常规检查项,普通依据【现象检查】的结果寻觅歹意程序。

存在异常监听端口,pid指向svchost.exe程序,需检查能否存在异常。经过第三方工具ProcessExplorer(简称pe)检查svchost.exe程序。

示例:
经过检查已监听端口,发现“异常”监听,pid指向800。

图片[34]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

翻开任务管理器,发现pid 800是svchost.exe程序,由于该程序的特性,需运用第三方工具pe停止检查。

图片[35]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

经过pe工具可发现pid 800是由效劳启动,依据启动途径可发现该程序是由正常途径启动,但程序能否被交换未知,启动的效劳是netsvcs(小白杀手,当初虐了我n久),该效劳下挂12个子效劳。

图片[36]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

在pe中双击该程序,点击【tcp/ip】,可发现49154端口是效劳schedule监听。

图片[37]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

点击【services】,可发现schedule效劳启动的动态链接库绝对途径是
c:windowssystemc32schedsvc.dll,从而发现49154端口是哪个程序正在监听。

图片[38]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

经过点击【view handles】可显现该程序所调用的clsid。

图片[39]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

如存在启动、点击某个程序后歹意进程重新启动的状况,则能够对com劫持停止检查。

图片[40]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

经过点击【view dlls】可显现该程序所调用的dll文件。

图片[41]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

经过排序可直观的看到能否存在dll劫持。

图片[42]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区
 

1.7 帐号检查

操作系统的账户和密码主要用于本地或远程登录。属于黑客耐久化后门的一种方式。

留意点:
1 歹意账号可能已躲藏,或经过克隆的方式复制管理员账户,需求经过注册表停止检查;
2 作为主管单位对下辖单位停止攻击溯源时,可经过mimikatz工具检查能否存在弱口令,一切口述证据均不可信。

检查账户能否存在异常:办法如下所示:
1 调整注册表权限将账户导出检查;
2 运用net命令将账户导出检查。

示例1:
在cmd命令行中输入regedit翻开注册表。

图片[43]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

在注册表
【HKEY_LOCAL_MACHINESAMSAM】处右键选择权限,点击【administrators】,勾选【读取】,并点击肯定。

图片[44]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

复制以下命令。
reg export  HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers c:yanlianuser.reg
在命令行中粘贴将账户配置文件导出检查。

图片[45]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

依据导出的账户信息停止检查。

图片[46]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

记载该途径下的账户称号16进制数。
HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames

例如YunWei$是3ee。可在以下注册表中检查其F值和V值
HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers00003EE
其中F为权限值,如将administrator的F值复制给guest,并启用免密码登录,则会构成克隆账户的躲藏现象,V为密码值。

图片[47]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例2:
复制以下命令。
net user > c:yanlianuser.txt
net localgroup administrators >> c:yanlianuser.txt
在cmd命令行中粘贴将账户导出,留意>意为掩盖写入,>>意为追加写入。

图片[48]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

依据导出的账户信息停止检查。

图片[49]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区
 


痕迹检查

1.1 日志

操作系统日志中记载着攻击胜利前和攻击后的相关痕迹。

留意点:日志默许记载20Mb,到达最大值时优先掩盖旧事情,同时网络平安法请求日志至少保管6个月以上。

将平安日志和系统日志导出检查。

示例:
操作系统平安日志和系统日志默许存储途径:
%SystemRoot%System32WinevtLogsSystem.evtx
%SystemRoot%System32WinevtLogsSecurity.evtx

运用以下命令将日志导出。

图片[50]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

平安日志典型剖析办法:大量事情id 4625后第一次4624,则为操作系统密码暴力破解胜利。其中源ip可能为空,则需求软硬件资产管理系统支持,定位源工作站的称号,即主机名,特定状况下windows可经过ping 主机名携带-4参数返回ipv4地址。或经过不对互联网映射操作系统远程桌面管理端口以及运用堡垒机停止管理可躲避操作系统密码暴力破解攻击。

系统日志典型剖析办法:id为7036是效劳启动/关闭的系统事情,在异常时间启动的效劳需求重点检查,例如wmi效劳。
 

1.2 文件落地

歹意程序保管在硬盘的文件系统中,例如后门程序,后门程序属于非受权的远程管理通道,黑客可经过该通道未受权管理被入侵的主机,以及随后门文件同时生成的其他歹意程序。

留意点:文件落地不单独停止手工检查,普通依据【现象检查】或【耐久化检查】的结果在硬盘中寻觅歹意程序,否则工作量会过大及质量较差,常规歹意程序检查倡议经过操作系统杀毒软件停止。

例如在1999年01月01日发现异常程序对其相关处置后,检查当天能否生成其他异常内容。

1 在%temp%目录下创立并修正test.txt文件的创立时间为1999年01月01日00点00分00秒,修正时间为1999年01月02日00点00分00秒、访问时间为1999年01月03日00点00分00秒;

2 经过everything工具停止检查。

示例1: 
修正文件时间bat脚本内容如下所示:
ChangeDate.bat
@echo off
powershell.exe -command "ls '%temp%test.txt' | foreach-object {$_.CreationTime = '01/01/1999 00:00:00'; $_.LastWriteTime = '01/02/1999 00:00:00'; $_.LastAccessTime = '01/03/1999 00:00:00'}"
pause
#CreationTime 创立时间
#LastWriteTime 修正时间
#LastAccessTime 访问时间

修正后各项时间如下所示:

图片[51]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例2: 
dc:后跟日期,检查创立时间为1999年01月01日,后缀为.txt的文件。

图片[52]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

dm:后跟日期,检查修正时间为1999年01月02日,称号包含te和.的文件。

图片[53]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

da:后跟时间,检查访问时间为1999年01月03日的文件。

图片[54]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

经过以上案例可知,在入侵取证时windows文件的一切时间完整不可信(linux只是两项时间不可信),因而文件时间仅作为参考根据。

1.3 无文件落地

wmi全称windows管理标准,其提供大量api接口供程序调用;同时也是歹意程序无文件落地的关键所在,黑客将歹意载荷存储于wmi中,并经过耐久化机制在内存中经过powershell直接调用存储于wmi中的歹意载荷,从而完成无文件落地。

留意点:
1 能够将Windows Management Instrumentation效劳关闭,并将其作为一个基线对象定期检查能否被歹意开启。由于wbemtest.exe或powershell均是经过该效劳调用【wmiclass】【对象】【属性】中的【值】;
2 当效劳关闭时,wbemtest.exe可翻开wmi测试器,但无法衔接命名空间,powershell可正常运转,但不会执行wmiclass中的载荷;
3 无文件落地不单独停止手工检查,普通依据【现象检查】或【耐久化检查】的结果在wmiclass中寻觅歹意载荷,否则工作量会过大及质量较差,常规歹意程序检查倡议经过操作系统杀毒软件停止。

检查wmiclass能否存在异常:
1 搭建无文件落地场景;
2 对无文件落地场景停止检查。

示例1:
对以下字符串停止base64编码:
start powershell "ping 114.114.114.114 -t"

不能运用网页版base64编码工具停止编码,由于编码方式不同会招致powershell无法辨认,上述命令经过网页版base64工具编码后再经过powershell辨认,其结果如下所示:

图片[55]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

因而可经过以下powershell工具将其base64编码。将命令复制到【$string】中,当存在【$】【"】符号时需求运用【`】停止转义,多行内容可直接回车。

ps_string_base64.ps1
$string = "start powershell `"ping 114.114.114.114 -t`""
$bytes = [System.Text.Encoding]::Unicode.GetBytes($string)
$encoded = [Convert]::ToBase64String($bytes)
echo $encoded

当前目录下翻开cmd执行powershell -executionpolicy bypass -file ps_string_base64.ps1即可取得base64后的字符串。

图片[56]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

翻开poershell输入以下命令(能够将以下内容base64编码化,从cc主控端拉取执行,执行终了即从内存中释放,这可能也是在被入侵主机中没有发现此类样本的缘由),以下命令经过powershell调用.net的办法将base64字符串写入wmiclass同时执行。

#要衔接的wmi命名空间及类对象
$SaveClass 
= [System.Management.ManagementClass]
('rootdefault:StdRegProv')

#添加对象属性(称号,类型,非数组)
$SaveClass.Properties.Add('ping',[System.Management.CimType]::String,$False)

#修正ping属性的值为base64字符串
$SaveClass.SetPropertyValue('ping','cwB0AGEAcgB0ACAAcABvAHcAZQByAHMAaABlAGwAbAAgACIAcABpAG4AZwAgADEAMQA0AC4AMQAxADQALgAxADEANAAuADEAMQA0ACAALQB0ACIA')

#保管
$SaveClass.Put()

#查询ping属性的值
$SaveClass.GetPropertyValue('ping')

#取载荷执行后退出
set ping 
([WmiClass]'rootdefault:StdRegProv').Properties['ping'].Value;powershell -E $ping;exit
.net协助文档参考链接如下所示:

https://docs.microsoft.com/zh-cn/dotnet/api/system.management.managementbaseobject.setpropertyvalue?view=dotnet-plat-ext-5.0#System_Management_ManagementBaseObject_SetPropertyValue_System_String_System_Object_

经过此类办法可发现存储于wmiclass中的载荷已被执行,但却不见其父进程,严重影响到溯源的逻辑性,即无法依据痕迹溯源该程序如何启动,只能经过经历判别可能的自我守护机制。

如耐久化机制未被发现,则无法铲除,因而在【现象检查】伊始即强调,在未确认能否存在自我守护机制前,不可先行删除异常程序。逆向思想思索:如完毕进程后频繁自启动,则一定存在自我守护机制。

图片[57]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

以下命令可在前台运转时将载荷带入后台运转,诸如任务方案运转的程序默许在后台运转:
start powershell -NoP -NonI -W Hidden "ping 114.114.114.114 -t"

示例2:
依据pe检查结果无法判别该进程的父进程,即无法确认该进程如何启动,认真检查任务方案时发现异常:

图片[58]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

图片[59]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

在解码时不倡议运用网页版base64解码工具,由于大局部网页工具默许会按多字节解码,招致每个字符后会再补一个字节内容,如下所示:

图片[60]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

因而可经过以下powershell工具将其base64解码。将base64字符串复制到【$string】中,GetString()办法倡议运用Unicode,如改成utf8,则会在每个字符后面补一个空格。

ps_base64_string.ps1
$string = 
"cwBlAHQAIABwAGkAbgBnACAAKABbAFcAbQBpAEMAbABhAHMAcwBdACcAcgBvAG8AdABcAGQAZQBmAGEAdQBsAHQAOgBzAHQAZAByAGUAZwBwAHIAbwB2ACcAKQAuAFAAcgBvAHAAZQByAHQAaQBlAHMAWwAnAHAAaQBuAGcAJwBdAC4AVgBhAGwAdQBlADsAcABvAHcAZQByAHMAaABlAGwAbAAgAC0ARQAgACQAcABpAG4AZwA7AGUAeABpAHQA"

$bytes = 
[System.Convert]::FromBase64String($string);
$decoded = 
[System.Text.Encoding]::Unicode.GetString($bytes);

echo $decoded
当前目录下翻开cmd执行powershell -executionpolicy bypass -file ps_base64_string.ps1即可发现解码后的内容。

图片[61]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

检查wmi效劳,发现其已被未受权启动(默许为自动启动,倡议关闭后树立基线值作为日常自动化巡检的对象)。

图片[62]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

需判别rootdefault命名空间的stdregprov类对象的ping值能否存在异常。可翻开powershell经过以下命令停止检查。

$SaveClass 
= [System.Management.ManagementClass]
('rootdefault:StdRegProv')
$SaveClass.GetPropertyValue('ping')'

检查结果如下所示:

图片[63]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

也能够翻开wbemtest.exe工具停止检查。

图片[64]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

点击【衔接】。

图片[65]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

依据残留痕迹,输入【rootdefault】并点击【衔接】。

图片[66]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

点击【枚举类】。

图片[67]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

勾选【递归】并【肯定】。

图片[68]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

双击【stdregprov】类对象。

图片[69]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

在【属性】中找到ping属性,双击编辑属性

图片[70]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

图片[71]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

最终对其停止解码,发现其功用和异常现象分歧。

图片[72]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

1.4 操作系统防火墙

windows操作防火墙配置着允许/回绝通行的入站/出站规则。可依据防火墙配置判别该主机在同网段内的可攻击面积。

留意点:检查配置前应先检查防火墙能否已启用。

检查操作系统防火墙能否存在异常:
1 经过netsh命令将防火墙状态导出检查;
2 经过netsh命令将防火墙一切入站、出站规则导出检查;

示例1:
复制以下命令在cmd中执行。
netsh firewall show state > c:yanlianfirewall-state.txt
netsh advfirewall firewall show rule name=all dir=in > c:yanlianfirewall-in.txt
netsh advfirewall firewall show rule name=all dir=out > c:yanlianfirewall-out.txt

【操作形式】为【禁用】意为防火墙已关闭,即已监听的端口同网段一切主机均可访问。

图片[73]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

【操作形式】的启用和禁用随网卡的网络位置变卦而变卦。

例如网卡的网络位置是【家庭网络】或【工作网络】,则匹配家庭或工作(专用)网络位置防火墙的状态。或网卡的网络位置是【公用网络】,则匹配公用网络位置防火墙的状态。

图片[74]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

图片[75]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

示例2:
复制以下正则停止搜索和结果复制:
(已启用|本地端口|操作)(.*)

图片[76]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

复制以下正则停止结果交换。
操作(.*)
操作$1n

图片[77]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

即可对入站、出站规则停止检查剖析,且工作量也会大大减少。

图片[78]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

图片[79]-windows入侵检查流程(入侵检测系统的流程)-孤勇者社区

windows终端入站规则应依据实践工作需求停止网络层访问控制,windows效劳端出站规则应依据实践工作需求停止网络层访问控制。
 

1.5 操作系统杀毒软件

杀毒软件可用于防护歹意程序的存储、运转等歹意行为,作为主管单位对下辖单位停止攻击溯源时需停止检查。

留意点:
1 应检查杀毒软件的装置时间;
2 应检查杀毒软件的补丁更新状况;
3 应检查杀毒软件的特征库能否最新;
4 应检查杀毒软件最近的杀毒记载;
应检查杀毒软件的白名单。

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像场的0