1.1是监控你本身系统的运行状态,看有没有可疑的程序在运行。linux
1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽可能使用原生指令或sysinternals,systracer套件。git
1.3假定未来工做中你以为本身的主机有问题,就能够用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。chrome
使用 schtasks /create /TN netstat4311 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt" 命令建立计划任务netstat4311,其中TN是TaskName的缩写,sc表示计时方式,这里指的是咱们每一分钟执行一次任务名为ntstat4311的任务。
shell
在C盘中建立一个netstatlog4311.bat
脚本文件,写入如下内容windows
date /t >> c:\Users\admin\netstatlog4311.txt time /t >> c:\Users\admin\netstatlog4311.txt netstat -bn >> c:\Users\admin\netstatlog4311.txt
打开任务计划程序,能够看到新建立的这个任务。工具
双击这个任务,点击操做并编辑,将“程序或脚本”改成咱们建立的netstatlog4311.bat
批处理文件,并清空参数。加密
执行此脚本必定时间,就能够在netstat5318.txt文件中查看到本机在该时间段内的联网记录:spa
存储的数据经过excel表进行整理,具体步骤以下。.net
由统计数据可知,使用最多的进程为EXCEL.exe。firefox
首先进入微软官网下载sysmon
因为sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。在安装的目录下建立“20164311.xml”文件,内容以下:
<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">127.0.0.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>
远程线程建立记录了目标为explorer.exe、svchost.exe、firefox.exe、winlogon.exe和powershell.exe 的远程线程。
以管理员的身份打开命令指示符,输入“sysmon64.exe -i ”安装sysmon
输入“sysmon64.exe -c 20164311.xml”配置sysmon
查看“事件查看器”,能够看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等。
对本身的后门文件进行分析
找到运行后门文件相对应的日志,打开这个事件,发现并无ip地址一类的,询问了其余同窗,也是有的有,有的没有,这个问题也暂时无法解决。
静态分析
文件扫描(VirusTotal、VirusScan工具等)
文件格式识别(peid、file、FileAnalyzer工具等)
字符串提取(Strings工具等)
反汇编(GDB、IDAPro、VC工具等)
反编译(REC、DCC、JAD工具等)
逻辑结构分析(Ollydbg、IDAPro工具等)
加壳脱壳(UPX、VMUnPacker工具等
下载SysTracer工具,抓四种状态的包:snapshot#1.不作任何操做;snapshot#2.传输后门到目标主机;snapshot#3.启动后门程序;snapshot#4.使用dir和record_mic指令
关注三个问题:1.读取、添加、删除了哪些注册表项?2.读取、添加、删除了哪些文件?3.链接了哪些外部IP,传输了什么数据?
经过右下角的compare
键或者View Differences Lists
比对各快照,能够选择Only Difference
只查看不一样的项。
对比快照一和快照二:增长了个人后门程序011_backdoor.exe
能够看到不少增长,删除,更新的键值和文件
对比快照二和快照三,能够看到新增的后门进程,并且能够详细看到其的目的IP和端口号、源IP和端口号以及链接的协议:
并且该后门程序生成了不少文件、目录和键值
此外的一些地方都是未受权的,没法查看
因为在kali端没有进行相关操做,因此并无根键被修改。
对比快照三和快照四
对key_local_machine
根键中的内容进行了修改(HKEY_LOCAL_MACHINE保存了注册表里的全部与这台计算机有关的配置信息)
注册表有如下变化
新建了不少链接,其中有与后门程序相关的Apache HTTP Server
下载peid分析恶意软件
查杀了未加壳的后门程序
查杀加了加密壳的后门程序...好像都没什么用
下载并打开process explorer,靶机运行后门程序进行回连时,咱们能够在 Process Explorer工具中查看到其记录,咱们能够看到1011_backdoor.exe程序。
也能够详细查看该进程使用的CPU,虚拟内存空间、物理内存空间、I/O等。
把生成的恶意代码放在VirusTotal进行分析(也可使用VirusScan工具),基本状况以下:
查看这个恶意代码的基本属性:能够看出它的SHA-一、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。
下载并安装process monitor,打开,发现其中罗列了正在运行的进程,双击后门进程能够看到有关进程的详细信息。
一、一开始找不到记录进程及其相关的记事本,觉得若是追加的记事本不存在则建立一个,也就是和linux相似,但Windows和linux是由区别的,记事本须要本身建立的。
二、配置sysmon的时候好像不能使用3.10,改为4.12或者4.20都可。
若是在工做中怀疑一台主机上有恶意代码,但只是猜测,全部想监控下系统一每天的到底在干些什么。请设计下你想监控的操做有哪些,用什么方法来监控。
答:使用windows自带的schtasks指令,设置一个定时任务,将相关进程以及用到的相关协议信息追加到记事本中,并用excel整理;使用sysmon,编写配置文件,记录有关信息;使用Process Explorer工具,监视进程执行状况;使用Process Monitor工具,监视文件系统、注册表、进程/线程的活动。
若是已经肯定是某个程序或进程有问题,你有什么工具能够进一步获得它的哪些信息。
答:上传到virscan.org上进行检测;使用peid分析程序是否有壳;使用systracer工具分析恶意软件,查看其对注册表和文件的修改。
若是说杀毒软件主要是基于特征码的杀毒,那么我以为此次实验主要教会了我如何基于程序的行为找到多是病毒的恶意软件,惟一令我感到疑惑的是,这些基于行为的软件,有的不能自动刷新,有的须要一成天开机,有的只能对单个程序进行扫描,因此可实用性并非很强,因此我但愿在接下来的实验中,能更深刻到这些恶意程序的本质,以一种更加实用的方式监控个人电脑是否存在恶意软件。