返回目录html
schtasks /create /TN netstat5318 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
命令建立计划任务netstat5318
TN
是TaskName的缩写,咱们建立的计划任务名是netstat5318;sc
表示计时方式,咱们以分钟计时填MINUTE;TR
=Task Run,要运行的指令是 netstatbn
,b
表示显示可执行文件名,n
表示以数字来显示IP和端口;>
表示输出重定向,将输出存放在c:\netstatlog.txt
文件中netstat5318.bat
脚本文件,写入如下内容date /t >> c:\netstat5318.txt time /t >> c:\netstat5318.txt netstat -bn >> c:\netstat5318.txt
打开任务计划程序,能够看到新建立的这个任务:
算法
双击这个任务,点击操做并编辑,将“程序或脚本”改成咱们建立的netstat5318.bat
批处理文件,肯定便可。
chrome
还能够自行更改该任务的其余属性,如在"条件"选项卡中能够看到,电源选项中默认操做为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会中止任务。这点须要格外注意,若是没有修改默认操做,任务不管如何都没法执行可能只是由于拔掉了电源。,为了咱们统计足够多的数据,最好把这个取消掉
shell
执行此脚本必定时间,就能够在netstat5318.txt文件中查看到本机在该时间段内的联网记录:
windows
当记录的数据足够丰富时,中止任务,将所得数据在excel中进行分析,此过程要一直保持开机联网状态才能持续监控浏览器
统计数据以下:
微信
统计图以下:
网络
由统计数据可知,联网最多的是是火狐浏览器对应的程序“firefox.exe”,排名第二的是“vmware.exe”,它虚拟机的进程。这里咱们还能够找到微信、TIM、后门程序20165318_win7_腾讯电脑管家.exe这些连网的进程。函数
返回目录工具
sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。参考使用轻量级工具Sysmon监视你的系统该文章,建立配置文件sysmon20165318.xml
。
我比较感兴趣的是进程建立ProcessCreate、进程建立时间FileCreatTime、网络链接NetworkConnect、远程线程建立CreateRemoteThread。
UtcTime, ProcessGuid, ProcessId, Image, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine
UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime
UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName
UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction
sysmon20165318.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>
参数解释:
exclude
至关于白名单,不用记录。include
至关于黑名单。Image condition
这里要根据本身使用的浏览器更改,例如谷歌浏览器是“chrome.exe”,IE浏览器是“iexplore.exe”,火狐浏览器是“firefox.exe”我用的是360浏览器和火狐浏览器写在exclude中就是不记录由360浏览器和火狐浏览器建立的进程。想知道本身浏览器进程名,能够查看“netstat5318.txt”中的记录。安装sysmon:执行命令sysmon.exe -i C:\sysmon20165318.xml
,成功安装结果以下:
查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
,在这里,咱们能够看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等。
这个配置文件记录的第一个日志就是打开C:\sysmon20165318.xml
配置文件
启动回连到kali
找到运行后门文件相对应的日志,打开这个事件,能够看到其属于“NetworkContect”。查看详细信息
,能够看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等
运行shell,getuid等命令以后,咱们都会找到一个以前没有出现过的C:\Windows\SysWOW64\cmd.exe程序以下图所示,SysWOW64能够在64bit的Windows中运行32bit的程序,而Windows下的cmd.exe是64bit的,kali回连获取的windows的cmd程序是32位的!
SearchFilterHost.exe是桌面搜索引擎的索引程序,其主要做用是创建快速索引文件,让用户可以更好的搜索出电脑中的任意资料。它会在计算机空闲时自动扫描索引位置的文件名、属性信息和给定类别的文件内容,这些索引位置默认包括桌面、收藏夹、开始菜单、系统目录。
把生成的恶意代码放在VirusTotal进行分析(也可使用VirusScan工具),基本状况以下:
虽然有20个报毒,可是对比实验三中生成的那些后门来讲已经算是比较少的了。
查看这个恶意代码的基本属性:
能够看出它的SHA-一、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD经过读取文件头,根据特征码进行文件类型匹配。)最神奇的是它能够查出来文件的编码方式,能够看出我是用VC++进行编译的!
还能够看到加壳状况:
以及该恶意代码的算法库支持状况:
> PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎能够侦测出全部的壳,其数量已超过470种PE文档的加壳类型和签名。
先看一下没有加壳的后门程序
再看一下加过压缩壳的后门程序:
再看一下加过加密壳的后门程序:
咱们能够看到,这个软件虽然能够查到压缩壳,可是居然查不到加密壳!!!,说好的能够侦测出全部的壳呢(* ̄︶ ̄)
PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。该软件支持插件,你能够经过增长插件增强该软件的功能,原公司在该工具中捆绑了UPX的脱壳插件、扫描器和反汇编器,能够查看程序头部信息(默认界面)、程序静态数据目录、程序结头信息、对程序反汇编等等,很是好用。
这里主要看文件引用的dll库,能够经过视图->引入
进行查看,以下图所示:
Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。
打开软件,能够看到各个进程的详细记录,下图是个人后门进程:(你们若是使用这个软件,必定必定不要光靠肉眼去找,要善于利用查找,否则犹如大海捞针啊!!!)
进程的详细信息以下:
咱们还能够看到这个后门程序引用的各类其余的库
Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不只结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增长了多项重要的加强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增长了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录全部操做等。
靶机运行后门程序进行回连时,咱们能够在 Process Explorer工具中查看到其记录,咱们能够看到这个程序运行时子程序中有conhost.exe
这个程序,一样的程序咱们能够在cmd.exe
的子程序中看到,由此咱们能够知道该程序是在命令行中运行的。
也能够详细查看该进程使用的CPU,虚拟内存空间、物理内存空间、I/O等。
此实验建议在两台虚拟机中进行,windows虚拟机文件少,进行快照时间短,且易于分析。
下载SysTracer工具
dir
指令,保存为Snapshot #4record_mic
指令,保存为Snapshot #5
经过右下角的compare
键或者View Differences Lists
比对各快照,能够选择Only Difference
只查看不一样的项
对比快照一和快照二:增长了个人后门程序20165318_backdoor.exe
,
这里能够看到不少增长,删除,更新的键值和文件
能够看到新增的后门进程,并且能够详细看到其的目的IP和端口号、源IP和端口号以及链接的协议:
并且该后门程序生成了不少文件、目录和键值
在c:\Windows\Prefetch
目录下增长了相关的文件
此外,如上图所示,一些Systracer未受权的地方咱们是无法查看的。
对HKEY_USER
和HKEY_CURRENT_USER
根键中的Software
子键进行了修改(HKEY_CURRENT_USER管理系统当前的用户信息。在这个根键中保存了本地计算机中存放的当前登陆的用户信息,包括用户登陆用户名和暂存的密码。):
dir
指令
key_local_machine
根键中的内容进行了修改(HKEY_LOCAL_MACHINE保存了注册表里的全部与这台计算机有关的配置信息)c:\Program Files\SysTracer\data
新增了snap003
record_mic
指令
Apache HTTP Server
record_mic
指令相关此外咱们能够经过查看后门软件的“opened handles”(打开的句柄)来对比他们都作了什么
ip.addr == 10.1.1.128
,这里我只想查看和虚拟机IP有关的数据包,因此把没用的包过滤掉咱们能够看到有大量的TCP包,这其中有回连相关的包,以后我有用dir指令查看了靶机的当前目录,传输了不少数据过来:
传输的数据包括Windows向Kali发出TCP同步请求包SYN,Kali给Windows发出的SYN同步请求包和确认包ACK,Kali给Windows传的ACK包、PSH+ACK包等等(PSH表示有DATA数据传输)
本次实验在操做上没有什么难度,主要是下载安装软件并应用,重点在于如何利用这些软件分析恶意代码。在不断实践的过程当中,我掌握了不少种工具的用法,学会了如何让计算机周期性执行一个任务,若是把命令行下的结果记录到文件中、如何利用.bat文件显示时间、如何利用excel分析数据、如何利用Sysmon监控本身感兴趣的事件、如何写配置文件、如何分析日志中的大量信息、如何利用多种工具对恶意代码进行进一步分析。
尤为是在动态分析的时候,特别考验咱们的信息处理能力,明显看到有不少不一样,可是分析是又不知道该从何下手,不太清楚每一项具体表明什么含义,只能经过查阅资料,连蒙带猜的进行分析。
经过本身动手实践,实现了从攻击者身份到检测、分析者身份的转变,更全面的理解了前两次实验中生成的后门程序到底在作什么,对恶意代码有了更深刻的理解。