schtasks
指令设置一个计划任务,指定每隔必定时间记录主机的联网记录或者是端口开放、注册表信息等等;sysmon
工具,配置好想记录事件的文件,以后在事件查看器里找到相关日志文件即可以查看;Process Explorer
工具,监视进程执行状况,查看是否有程序调用了异常的dll库之类的。Wireshark
进行抓包分析,查看该程序联网时进行了哪些操做;systracer
工具分析某个程序执行先后,计算机注册表、文件、端口的一些变化状况。netstatlog.bat
文件,用来将记录的联网结果格式化输出到netstatlog.txt
文件中,netstatlog.bat
内容为:date /t >> c:\netstatlog.txt time /t >> c:\netstatlog.txt netstat -bn >> c:\netstatlog.txt
打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"
指令建立一个每隔两分钟记录计算机联网状况的任务:
html
以后查看一下netstatlog.txt
文件,大部分都是正常联网的应用,一开始不知道LMS.exe
是用来干吗的,后面百度了一下,是英特尔本地管理服务的一个进程:
chrome
隔了一天以后,再次查看了这一天当中记录的主机联网日志,没有发现什么异常,除了当时打开后门软件回连时reverse.exe
程序的联网记录:
shell
sysmon
微软Sysinternals套件中的一个工具,能够从码云项目的附件里进行下载,要使用sysmon
工具先要配置文件,一开始我直接用的是老师给的配置文件:<Sysmon schemaversion="3.10"> <!-- Capture all hashes --> <HashAlgorithms>*</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <DriverLoad onmatch="exclude"> <Signature condition="contains">microsoft</Signature> <Signature condition="contains">windows</Signature> </DriverLoad> <NetworkConnect onmatch="exclude"> <Image condition="end with">chrome.exe</Image> <Image condition="end with">iexplorer.exe</Image> <SourcePort condition="is">137</SourcePort> </NetworkConnect> <CreateRemoteThread onmatch="include"> <TargetImage condition="end with">explorer.exe</TargetImage> <TargetImage condition="end with">svchost.exe</TargetImage> <TargetImage condition="end with">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage> </CreateRemoteThread> </EventFiltering> </Sysmon>
配置好文件以后,要先使用Sysmon.exe -i C:\Sysmoncfg.txt
指令对sysmon
进行安装:
windows
启动以后,即可以到事件查看器里查看相应的日志:
api
我查看了其中一部分事件的详细信息,好比这个事件是以前作计划任务时所建立的:
浏览器
例以下面的事件是搜狗浏览器对文件的建立时间进行了更改,应该也就是更新:
安全
还有以前reverse.exe
程序运行时所建立的事件:
网络
Sysmoncfg.txt
配置文件进行了修改,重点是监视80和443端口的联网状况,没有发现什么异常状况,关于配置文件的编写能够参考使用轻量级工具Sysmon监视你的系统:<Sysmon schemaversion="3.10"> <!-- Capture all hashes --> <HashAlgorithms>*</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <DriverLoad onmatch="exclude"> <Signature condition="contains">microsoft</Signature> <Signature condition="contains">windows</Signature> </DriverLoad> <NetworkConnect onmatch="exclude"> <Image condition="end with">SogouExplorer.exe</Image> </NetworkConnect> <NetworkConnect onmatch="include"> <DestinationPort condition="is">80</DestinationPort> <DestinationPort condition="is">443</DestinationPort> </NetworkConnect> <CreateRemoteThread onmatch="include"> <TargetImage condition="end with">explorer.exe</TargetImage> <TargetImage condition="end with">svchost.exe</TargetImage> <TargetImage condition="end with">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage> </CreateRemoteThread> </EventFiltering> </Sysmon>
在virscan网站上查看上次实验所作的后门软件的文件行为分析:
函数
能够看到其启动回连主机的部分IP地址以及端口号,还有对注册表键值进行了删除:
工具
还有反调试和建立事件对象的行为:
使用systracer
工具创建了5个快照,分别是在主机中没有恶意软件时、将恶意软件植入到目标主机中后、恶意软件启动回连时、恶意软件执行dir
命令进行查看时以及使用恶意软件获取目标主机的摄像头时:
将恶意软件植入到目标主机后,能够经过快照发现文件中多了一个reverse.exe
文件,恶意软件启动回连时,能够查看到其所创建的TCP链接以及其打开的句柄:
执行dir
命令时,恶意软件较于以前的操做好像并无作太多更改,可是在获取主机摄像头时,能够发现,它对注册表信息进行了修改,而且也新增了不少个句柄:
在恶意软件进行回连操做时,在Windows主机上用netstat
命令能够查看TCP链接的状况,其中就有后门程序reverse.exe
所创建的TCP链接:
使用wireshark进行抓包后能够看到,其先进行了TCP的三次握手,以后再进行数据的传输,如图所示,带有PSH,ACK
的包传送的即是执行相关操做指令时所传输的数据包:
Process Monitor
对恶意软件进行分析时能够看到不少Explorer.exe
进程,应该是恶意软件对其进程进行的假装:使用Process Explorer
对恶意软件进行分析时能够看到启动回连时在运行的后门程序:
点开查看其详情会发现远程主机的IP地址和端口号:
以及其调用的advapi32.dll
库,该库中所包含的函数与对象的安全性,注册表的操控以及事件日志有关:
PEiD
软件能够查看恶意软件的壳的相关信息,以及其所使用的编译器版本: