一、监控你本身系统的运行状态,看有没有可疑的程序在运行。
二、分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽可能使用原生指令或sysinternals,systracer套件。
三、假定未来工做中你以为本身的主机有问题,就能够用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。算法
一、系统运行监控
①使用如计划任务,每隔一分钟记录本身的电脑有哪些程序在联网,链接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。
②安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控本身主机的重点事可疑行为。
二、分析该软件在(1)启动回连,(2)安装到目标机(3)及其余任意操做时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
①读取、添加、删除了哪些注册表项
②读取、添加、删除了哪些文件
③链接了哪些外部IP,传输了什么数据chrome
一、若是在工做中怀疑一台主机上有恶意代码,但只是猜测,全部想监控下系统一每天的到底在干些什么。请设计下你想监控的操做有哪些,用什么方法来监控。
①使用windows自带的schtasks指令设置一个计划任务,发现网络链接异常
②使用Sysmon,编写配置文件,记录有关的系统日志
③使用Process Explorer工具,监视进程执行状况。
④使用Process Monitor工具,监视文件系统、注册表、进程/线程的活动。
二、若是已经肯定是某个程序或进程有问题,你有什么工具能够进一步获得它的哪些信息。
①使用systracer工具分析恶意软件,查看其对注册表和文件的修改。
②使用Wireshark进行抓包分析,监视其与主机进行的通讯过程。
③使用Process Explorer工具或Process Monitor工具,监视文件系统、注册表、进程/线程的活动shell
①管理员身份打开命令行使用schtasks /create /TN netstat5327 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat5327.txt"命令建立计划任务netstat5327windows
TN是TaskName的缩写,建立的计划任务名是netstat5327;
sc表示计时方式,咱们以分钟计时填MINUTE;
TR=Task Run,要运行的指令是 netstat
bn,b表示显示可执行文件名,n表示以数字来显示IP和端口;安全
表示输出重定向,将输出存放在c:\netstat5327.txt文件中
网络
②在C盘中建立一个netstat5327.bat脚本文件,写入如下内容
date /t >> c:\netstat5327.txt
time /t >> c:\netstat5327.txt
netstat -bn >> c:\netstat5327.txt工具
③打开任务计划程序,能够看到新建立的这个任务:
firefox
④双击这个任务,点击操做并编辑,将“程序或脚本”改成咱们建立的netstat5327.bat批处理文件,肯定便可。
命令行
在属性中“常规”一栏最下面勾选“使用最高权限运行”,否则程序不会自动运行
线程
⑥还能够自行更改该任务的其余属性,如在"条件"选项卡中能够看到,电源选项中默认操做为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会中止任务。注意:若是没有修改默认操做,任务不管如何都没法执行可能只是由于拔掉了电源。为了统计足够多的数据,最好把这个取消掉。
⑦执行此脚本必定时间,就能够在netstat5327.txt中查看到本机在该时间段内的联网记录:
记录此时已足够进行分析,将这些数据导入Excel
查询出现的未知进程:
若是监听得久也能够经过Excel表分析出各个进程联网的频率找出异常进程在进行处理
①在微软官方文档中,能够查看全部操做。
②下载sysinternals。下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysmon
③一键安装命令:sysmon -accepteula -i -n
④建立配置文件Sysmon20165327.xml
<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> <Image condition="end with">firefox.exe</Image> <SourcePort condition="is">137</SourcePort> <SourceIp condition="is">127.0.0.1</SourceIp> <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">firefox.exe</TargetImage> <TargetImage condition="end with">svchost.exe</TargetImage> <TargetImage condition="end with">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage> </CreateRemoteThread> <ProcessCreate onmatch="include"> <Image condition="end with">chrome.exe</Image> <Image condition="end with">iexplorer.exe</Image> <Image condition="end with">firefox.exe</Image> </ProcessCreate> <FileCreateTime onmatch="exclude" > <Image condition="end with">firefox.exe</Image> </FileCreateTime> <FileCreateTime onmatch="include" > <TargetFilename condition="end with">.tmp</TargetFilename> <TargetFilename condition="end with">.exe</TargetFilename> </FileCreateTime> </EventFiltering> </Sysmon>
⑤用sysmon -c Sysmon20165327.xml命令指定配置文件:报错版本不匹配,改为本身对应的版本便可:
⑥从新输入sysmon -c Sysmon20165327.xml命令,完成配置。
sysmon -u命令为中止服务。
⑦打开【开始】菜单,搜索【事件查看器】并打开,在左侧控制台树按照【事件查看器】->【应用程序和服务日志】->【Microsoft】->【Windows】依次展开,找到【Sysmon】下的【Operational】并双击打开:
打开以前Exp3植入的5327upxed.exe后门,Kali攻击机用meterpreter回连,能够看到链接的详细信息,包括ip、端口、pid等:
在事件查看器里以进程号查找关键字
detail:
能够看出它的MD5摘要值、SHA-一、文件类型、文件大小,以及TRiD文件类型识别结果。
也能够看该恶意代码的算法库支持状况:
也能够详细查看该进程使用的CPU,虚拟内存空间、物理内存空间、I/O等
简介:Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。
查找恶意进程:
还能够看到这个后门程序引用的各类其余的库
主要想尝试一下,拍两张试一试(血的教训:在物理机上把本机搞崩了,仍是在win7虚拟机上,又快又安全)
传恶意软件前:
传恶意软件后:
"找不一样":
能够选择看各种Reqs、Flies、Apps:
明显的特征是增长(add)了这个恶意软件
也能够看出开机时计算机系统无时无刻不在工做着(add/del/mod/……)
回连完成后结束捕获,把过滤规则设置为ip.addr == 172.30.2.15,把没用的包过滤掉
能够看到三次握手的以及有大量的TCP包
用dir指令查看了靶机的当前目录
遇到问题:
本想查看与虚拟机有关的数据包,以及在回连过程当中的数据是什么样的
然而用了那么久的wireshark失灵了?! 试了几回也没找到,具体缘由天天验收时找老师讨论……