标签: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, 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, StartFunctionsysmon20165318.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新增了snap003record_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