标签:ssid windows系统 对话框 抓包 特性 strace 利用 完成后 它的
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
批处理文件,确定即可。
还可以自行更改该任务的其他属性,如在"条件"选项卡中可以看到,电源选项中默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。这点需要格外注意,如果没有修改默认操作,任务无论如何都无法执行可能只是因为拔掉了电源。,为了我们统计足够多的数据,最好把这个取消掉
执行此脚本一定时间,就可以在netstat5318.txt文件中查看到本机在该时间段内的联网记录:
当记录的数据足够丰富时,停止任务,将所得数据在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-1、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监控自己感兴趣的事件、如何写配置文件、如何分析日志中的大量信息、如何利用多种工具对恶意代码进行进一步分析。
尤其是在动态分析的时候,特别考验我们的信息处理能力,明显看到有很多不同,但是分析是又不知道该从何下手,不太清楚每一项具体代表什么含义,只能通过查阅资料,连蒙带猜的进行分析。
通过自己动手实践,实现了从攻击者身份到检测、分析者身份的转变,更全面的理解了前两次实验中生成的后门程序到底在做什么,对恶意代码有了更深入的理解。
2018-2019-2 网络对抗技术 20165318 Exp4 恶意代码分析
标签:ssid windows系统 对话框 抓包 特性 strace 利用 完成后 它的
原文地址:https://www.cnblogs.com/sunxiaoxuan/p/10648268.html