2016310Exp4 恶意代码及分析
网络对抗 Exp4 恶意代码分析
- 实验内容
- 系统运行监控
- 恶意软件分析
- 报告评分
- 基础问题回答
- 实践目标
- 实验内容
- 1. 系统运行监控——计划任务
- 2. 系统运行监控——利用Sysmon
- 3.1恶意软件分析—— virscan网站
- 3.2恶意软件分析——PEID
- 3.3恶意软件分析——PE Explorer
- 3.4恶意软件分析——Process Monitor
- 3.5恶意软件分析——Process Explorer
- 3.6恶意软件分析——Systraer
- 3.7恶意软件分析——Wireshark
- 实验中遇到的问题及解决方法
- 实验感想
一、基础问题回答
1. 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控
- 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放、注册表信息等;
- 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件查看;
- 使用任务管理器->进程,监视进程执行情况,查看是否有可疑程序运行。
2. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息
- 使用systracer工具分析恶意软件,查看其对注册表和文件的修改,进行快照的对比。
- virscan集合各种杀软,对指定文件进行分析定性。
- 使用Wireshark进行抓包分析,监视其与主机进行的通信过程。
二、实践目标
1.是监控你自己系统的运行状态,看有没有可疑的程序在运行。
2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
三、实践内容
1、windows计划任务
- 以管理员身份打开cmd,使用指令schtasks /create /TN 4310netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt创建计划任务4310netstat,记录每1分钟计算机联网情况:
- 在c盘下手动创建一个netstatlog.txt文件
- 在桌面建立一个20164310netstatlog.txt文件,内容为:
date /t >> c:\netstatlog.txt time /t >> c:\netstatlog.txt netstat -bn >> c:\netstatlog.txt
将后缀名改为.bat后,用管理员身份将该文件放入C盘
- 打开计算机管理的“任务计划程序库”,可以查看到4310netstat任务就绪(这里忘记截图了)
- 打开其属性,修改其指令为20164310netstatlog.bat
- 可以在C盘的netstatlog.txt文件中查看到本机在该时间段内的联网记录:
2、使用sysmon工具
- 首先创建配置文件sysmon4310.txt,并输入如下的代码:
这里需要注意的是第一行代码那个版本如果谢3.10的时候出现问题那么就要换成4.20
<Sysmon schemaversion="4.20"> <!-- Capture all hashes --> <HashAlgorithms>*</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <DriverLoad onmatch="exclude"> <Signature condition="contains">microsoft</Signature> <Signature condition="contains">windows</Signature> </DriverLoad> <NetworkConnect onmatch="exclude"> <Image condition="end with">chrome.exe</Image> <Image condition="end with">iexplorer.exe</Image> <SourcePort condition="is">137</SourcePort> <SourceIp condition="is">127.0.0.1</SourceIp> </NetworkConnect> <CreateRemoteThread onmatch="include"> <TargetImage condition="end with">explorer.exe</TargetImage> <TargetImage condition="end with">svchost.exe</TargetImage> <TargetImage condition="end with">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage> </CreateRemoteThread> </EventFiltering> </Sysmon>
- 在官网上下载sysmon工具
- 以管理员身份打开命令行,使用指令Sysmon.exe -i安装sysmon
- 配置sysmon:输入命令Sysmon.exe -i sysmon4310.xml配置sysmon
- 安装成功之后在事件查看器中的应用程序和服务日志下,查看Microsoft->Windows->Sysmon->Operational
- 然后在linux对windows进行控制,点击输入getpid,得到了进程号10386,然后在Image那一行出现了正在进行的后门
3、恶意软件分析
(1) 静态分析:文件扫描
将上次生成的jar文件放到virscan上扫描:
然后点击哈勃分析:
可以看到这个后门的种种行为如关键行为,进程行为等,此恶意代码是通过一个反弹链接来控制受害主机,并在受害主机中通过创建进程,船舰删除文件,创建事件对象等等,对目标主机有很大的威胁。
(2)用peid工具识别文件格式
先把一个没有加壳的后门放进去,结果什么也没有发现
然后把一个加壳的后门放进去,发现了压缩壳
同时peid也可以进行脱壳,右下角按钮点下显示的是插件列表,其中有一些脱壳的插件,不过只是一些简单的压缩壳而已,比 如upx等。
(3)使用PE Explorer
先导入没有加壳的后门程序,点击View->Import,查看程序所引用的dll库
再导入加壳的后门
可以发现加壳之后所引用的dll库明显减少,通过百度查到了这几个dll库分别代表了什么:
KERNEL32.dll:是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理。
USER32.dll:Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。它是一个对系统很关键或很可疑的文件,易遭受木马病毒破坏导致系统找不到此文件,出现错误提示框。
msvcrt.dll:是微软在windows操作系统中提供的C语言运行库执行文件(Microsoft Visual C Runtime Library),其中提供了printf,malloc,strcpy等C语言库函数的具体运行实现。
ws2_32.dll是Windows Sockets应用程序接口, 用于支持Internet和网络应用程序。
(4)使用Process Monitor
找到了后门程序,打开看看
可以看到该后门的路径,以及是用TCP进行操作的。同时也能看到它在电脑中的位置,打开第三项Stack可以看到所引用的dll库。
(5)使用Process Explorer
我找到了我正在运行的后门程序,可以看到反弹链接的ip和端口号
也可以看到该进程使用的CPU,虚拟内存空间、物理内存空间、I/O等。
(6)使用Systracer
点击右侧的take snapshot,存储快照(因为那个sys总是出现问题所以我快照名字比较混乱这里就不放名字了)
快照一:未移植后门程序
快照二:移植后门程序
快照三:运行后门程序并在kali中实现回连
快照四:在kali中使用dir
指令
快照五:在kali中使用record_mic
指令
对比快照一、二,可以发现多了个后门程序:
对照二、三可以发现多了一个TCP链接:
并且该后门文件生成了很多的文件和目录:
对照三、四,可以发现对对key_local_machine
根键中的内容进行了修改:
对照快照四、五可以发现注册表中有以下变化(隔的时间有点久,今早才创建的快照四)
(7)使用wireshark
在没有进行回连的时候启动抓包,回连之后暂停抓包:
然后过滤ip(虚拟机的ip为192.168.1.104,因为只看虚拟机和主机之间的通信)得到了以下内容:
传输的数据包括Windows向Kali发出TCP同步请求包SYN,Kali给Windows发出的SYN同步请求包和确认包ACK。
4、实验中遇到的困难和解决方法
这次实验也没遇到什么太大的困难,主要就是那个Sysmon安装不上,然后出现了以下问题:
解决办法就是你把那个xml文件放到C盘windows下,因为上面提示了那个xml文件的confugration(配置、路径)不对。
5、实验感想:
这次实验第一感觉就是信息太多,特别考验我们的信息处理能力,特别是在分析注册表修改的时候,一个点进去又会扯出很多问题,深刻感觉自己知识的缺乏,不过这些软件倒是很好用的,比上几次实验敲代码分析简单多了,希望异或能够用到他们。