标签:综述 压缩 sse 显示 ipv6 fun 状态 microsoft exp
监控你自己系统的运行状态,看有没有可疑的程序在运行。
分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。
安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点是可疑行为。
读取、添加、删除了哪些注册表项。
读取、添加、删除了哪些文件。
连接了哪些外部IP,传输了什么数据。
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
可以使用sysmon定期查看日志,监控是否有不知名进程创建和注册表项目的修改。
可以使用windows计划任务统计是否有未知程序多次链接ip。
使用schtasks对机器进行监听,在机器运行一段时间后整理监听记录。
也可使用Systracer拍摄几个不同时间的快照,对比不同时间的快照判断是否有可疑的增删注册表行为。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
通过systracer工具进行相关的分析,查看它对注册表和文件的修改。
还可以使用Process Explorer工具监控相关进程和线程的活动,以及通过进程找出可疑文件的位置。
schtasks /create /TN netstat5213 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
创建计划任务nestat5213
在上条命令中的参数分别为:
TN
是TaskName的缩写,我们创建的计划任务名是netstat5213
sc
表示计时方式,我们以分钟计时填MINUTE
TR
是Task Run,要运行的指令是netstat
bn
,b
表示显示可执行文件名,n
表示以数字来显示IP和端口
>
表示输出重定向,将输出存放在c:\netstatlog.txt
文件中
netstat5213.bat
的脚本文件,写入以下内容:date /t >> c:\netstat5213.txt
time /t >> c:\netstat5213.txt
netstat -bn >> c:\netstat5213.txt
操作
->编辑
,将程序或脚本
改为我们创建的netstat5213.bat
文件,点击确定。常规
栏勾选不管用户是否登录都要运行
、使用最高权限运行
。netstat5308.txt
文件中查看到这段时间内的联网记录。“YourPhone.exe”
,我也不知道这是个啥东西。但总体来说,没有什么可疑的程序。下载下载Sysinternals套件,下载链接,Sysmon是该套件中的一个工具,可以监控几乎所有的重要操作。
参考资料可得过滤器事件的选项:
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
解压SysinternalsSuite.zip,sysmon就在解压好的文件夹中(注意不要直接解压到当前文件夹,要先新建一个文件夹再往里解压)。
在Sysmon所在的目录下创建相应的配置文件sysmon20175213.xml
了,配置文件如下:
<Sysmon schemaversion="10.42">
<!-- 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>
</ProcessCreate>
<ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.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>
ProcessCreate表示进程创建
NetworlConnect是网络连接
CreateRemote是远程线程创建
FileCreate Time是进程创建时间。
在onmatch后面跟的参数include和exclude分别表示“免检”和“必检”名单。免检名单中在统计时忽略掉,必检名单在检测时需要进行匹配。
Sysmon.exe -i sysmon20175213.xml
。此时,显示需要以管理员身份进入,所以要重新以管理员身份再次输入命令。
计算机管理
,查看事件查看器
,在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
中,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别以及详细信息。sysmon20175213.xml
配置文件静态分析
文件扫描(VirusTotal、VirusScan工具等)
文件格式识别(peid、file、FileAnalyzer工具等)
字符串提取(Strings工具等)
反汇编(GDB、IDAPro、VC工具等)
反编译(REC、DCC、JAD工具等)
逻辑结构分析(Ollydbg、IDAPro工具等)
加壳脱壳(UPX、VMUnPacker工具等)
动态分析
快照比对(SysTracer、Filesnap、Regsnap工具等)
抓包分析(WireShark工具等)
行为监控(Filemon、Regmon、ProcessExplorer工具等)
沙盒(NormanSandbox、CWSandbox工具等)
动态跟踪调试(Ollydbg、IDAPro工具等)
这里我们可以看到,后门回连过程中建立了完整的三次握手,且由win10(192.168.111.1)主动连接kali(192.168.111.130)。
dir
指令查看当前目录,发现传输了大量的数据,传输的数据包括Windows向Kali发出TCP同步请求包SYN,Kali给Windows发出的SYN同步请求包和确认包ACK,Kali给Windows传的ACK包、PSH+ACK包等等(PSH表示有DATA数据传输)getuid
指令进行提权操作记录如下:webcam_snap
指令进行图片抓取时出现了很多条记录,具体数目的多少应该和图片的内容相关,通过PSH+ACK包(主要是PSH)可以判断有DATA数据在传输。:exit
指令,发送了[PSH, ACK]包:快照一(Snapshot #1):未移植后门程序
快照二(Snapshot #2):植入后门程序
快照三(Snapshot #3):运行后门程序并在kali中实现回连
快照四(Snapshot #4):执行dir
命令
快照五(Snapshot #5):执行exit
命令
compare
键或者View Differences Lists
比对各快照,可以选择Only Difference
对比不同的项对比快照一和快照二:
增加了后门程序20175213_backdoor.exe,同时还有增删了许多的文件。
对比快照二和快照三:
看到后门启动后的快照三中显示正在运行的程序增加了我们的后门程序。同时我们还可以看到启动后门程序后增添了非常多的文件,主要是dll文件
由于我使用的是最新的2.6版本,相较2.10版本,发现无法明显的查看到连接的ip地址与端口,但是还是可以清晰的看出对文件和注册表的增删。
对比快照三和快照四:
对根键中的内容进行修改,对注册表中的配置信息进行了修改。
对比快照四和快照五:
可以发现后门程序的的删除记录以及相关联的注册表项和启动项都被删除。
从图中可以看出,加了压缩壳的后门文件是可以检测出来的,但加了加密壳的后门文件是无法检测出来的。
本次实验相比较与前几次实验,从攻击者转换为防守人,开始分析并监控恶意代码。身份的转变让我对这门课程也有了更深入的理解,网络攻防不仅要懂得攻击,防守、分析也是很重要的。在这次实验中也发现了前面实验没有发现的东西,比如VirusTotal,不仅能杀软检测,还能用作静态分析。希望在以后的实验中能收获更多。
2019-2020-2 网络对抗技术 20175213吕正宏 Exp4 恶意代码分析
标签:综述 压缩 sse 显示 ipv6 fun 状态 microsoft exp
原文地址:https://www.cnblogs.com/LZHNB/p/12721458.html