1.实践目标
3.基础问题回答
如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
使用Process Explorer工具或Proces Monitor工具,监视文件系统、注册表、进程/线程的活动。
schtasks /create /TN netstat5333 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"命令创建计划任务netstat5333
表示输出重定向,将输出存放在c:\netstatlog.txt文件中
netstat5333.bat脚本文件,写入以下内容date /t >> c:\netstat5333.txt time /t >> c:\netstat5333.txt netstat -bn >> c:\netstat5333.txt打开任务计划程序,可以看到新创建的这个任务:

双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat5333.bat批处理文件,确定即可。

执行此脚本一定时间,就可以在netstat5333.txt文件中查看到本机在该时间段内的联网记录:

当记录的数据足够丰富时,停止任务,将所得数据在excel中进行分析,此过程要一直保持开机联网状态才能持续监控(记录比较少)

统计图

2.使用sysmon工具监控系统(安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。)
我比较感兴趣的是进程创建ProcessCreate、进程创建时间FileCreatTime、网络连接NetworkConnect、远程线程创建CreateRemoteThread。
UtcTime, ProcessGuid, ProcessId, Image, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLineUtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTimeUtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortNameUtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction<Sysmon schemaversion="4.12">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.exe</Image>
</ProcessCreate>
<ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">firefox.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">192.168.70.1</SourceIp>
</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">firefox.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
参数解释:
exclude相当于白名单,不用记录。include相当于黑名单。安装sysmon:执行命令sysmon.exe -i C:\Users\10147\sysmon20165333.xml,成功安装结果如下:

查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational,在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等。


把生成的恶意代码放在VirusTotal进行分析(也可以使用VirusScan工具),基本情况如下:

查看这个恶意代码的基本属性:

可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。)最神奇的是它可以查出来文件的编码方式,可以看出我是用VC++进行编译的!
还可以看到加壳情况:

以及该恶意代码的算法库支持情况:

4.使用PEiD分析恶意软件
检测压缩壳

检测加密壳(没有发现加密壳)

恶意代码分析,学习使用了数款用于检测恶意代码的指令或是软件,例如SysTracer、Sysmon等工具。恶意代码的分析方法主要分为静态分析方法和动态分析方法,而这两种方法在本次实验中都有所涉及。杀毒软件不是百分之百安全的,因此我们要时常对电脑的行为进行监控,
2018-2019-2 网络对抗技术 20165333 Exp4 恶意代码分析
原文:https://www.cnblogs.com/challengeeverthing/p/10667402.html