2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析
-
实践目标
-
1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。
-
1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
-
1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
-
报告内容
-
使用schtasks指令监控系统。
-
首先,我们使用
schtasks /create /TN netstat5225 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
命令创建计划任务netstat5225 -
接着在C盘中创建一个
netstat5225.bat
脚本文件,写入以下内容:
date /t >> c:\netstat5225.txt time /t >> c:\netstat5225.txt netstat -bn >> c:\netstat5225.txt
-
在任务计划程序中找到该任务,在程序或脚本一栏改成刚刚写好的
netstat5225.bat
脚本文件: -
使用最高权限运行该任务,如下图所示:
-
执行此脚本一定时间,就可以在netstat5225.txt文件(手动在c盘中创建)中查看到本机在该时间段内的联网记录:
-
将存储的数据通过excel表进行整理分析:
-
可见连接网络最多的便是360se了,其中一个叫
SearchUI.exe
引起了我的注意,我不知道他是干嘛的,但是他和vmware一样在这一小会就访问网络了60多次 -
百度了一下,发现是小娜...(很多人都以为是恶意程序,虽然不排除小娜就是恶意程序呢(/◔ ◡ ◔)/)
2.使用sysmon工具监控系统
-
sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。根据老师的要求,最少要记录Event 1,2,3三个事件。即进程创建、进程创建时间、网络连接
-
我们先创建一个txt,依照要求写入以下内容:
<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>
-
进入sysmon解压后的路径,执行
sysmon.exe -i C:\20165225monconfig.txt
开始安装sysmon: -
在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational路径下可以找到sysmon日志文件
-
找到运行后门文件相对应的日志,打开这个事件。查看详细信息,可以看到这个后门映像文件的具体位置等信息,但不知道为什么看不到ip信息...是不是因为我这个后门是加了壳的原因呢
-
kali稍微操作一下,发现这个后门程序是靠创造子线程控制系统的(kali我输入的指令是dir..太小了):
-
使用virustotal分析恶意软件
-
进入网址,放入可疑的程序;
-
可以看到有34个报毒了..我们再看看他的具体信息以及算法库:
-
应有尽有,什么都查出来了
-
使用PEiD分析恶意软件
-
因为计算机病毒这门课要求我们把程序下在了xp,所以索性就在xp中实现实验了
-
使用PEID打开文件可看到其中的加壳信息:
-
这个是后门程序,可以看到他查出我的加壳信息了
-
接着试着把360放进去,发现加壳信息是微软??(是不是因为软件绑定安装的原因呢)
-
然后随便放一个无害exe:
-
显示啥也没有
-
使用PE Explorer分析恶意软件
-
放入我们的后门程序看看:
-
查看其dll库:
-
注:KERNEL32.dll——控制着系统的内存管理、数据的输入输出操作和中断处理。
-
实验中遇到的问题及解决方法
-
问题:解压Sysmon时出错:
-
解决方案:文件放置的地址错误..然后指令也没改...将txt放在c盘就好(或者后面改成c:\123 20165225monconfig.txt)
-
实验总结与体会
-
本次实验学习了一下如何找到恶意代码并分析其功能,除了老师给我们的两个工具,还有一些是以前就用过的程序,总的来说使用起来不难,就是分析基本靠百度才能完成...
-
基础问题回答
-
问:如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
-
监控的话就使用老师给的schtasks、sysmon和wireshark,结合分析,然后用Process Monitor看看注册表有没有变化
-
问:如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
-
把他们放到virustotal或者virscan查一下,再用上面用的工具进一步分析即可