20165309 《网络对抗技术》实验四:恶意代码分析
1.基础问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 我认为需要监控端口连接情况、注册表信息和文件信息。
- 像实验中的操作一样,可以使用wireshark抓包分析,分析网络连接状态;查看软件注册表信息;使用Systracer或者sysmon等软件查看一段时间内系统事件、注册表信息文件变化情况,将这些信息录入excel中分析。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 可以用Systracer分析注册表差异和文件的不同;
- 可以用wireshark查看数据包,查找可疑的数据连接;
- 还可以用virscan、Threatbook等软件分析工具来得到各种杀软报毒的疑似病毒,以及得到一些可疑签名、静态信息等。
返回目录
2.实验总结与体会
(1)遇到的问题与解决
- 问题:安装和配置sysmon时,如图报错:


- 解决:采用一键安装的方式迷之解决图一。图二是因为编写设置文件用来设置sysmon监视的内容时,语法与XML文件很相似,但是我首次接触学习起来还有一些困难,不得不编写比较多的次数才能做到不出错,不小心犯下的错误要用细心解决才是。
(2)实验感受
通过分析恶意代码,我对前几次的实验也有了更多的认识与理解,我们不应该再依赖杀软,而是应该多去利用所学的知识进行分析。在对系统进行监控的期间,发现了一些流氓软件会自动连接网络,不仅占内存还会给电脑运行造成一些不必要的麻烦,所以还是手动关掉的比较好~
返回目录
3.实践过程记录
(1)系统运行监控
① Windows计划任务schtasks
- 在c盘创建一个.txt文件,输入以下内容后另存为.bat文件(这里相当于规定了自动生成的内容要存放在txt文件中):
date /t >> c:\20165309.txt time /t >> c:\20165309.txt netstat -bn >> c:\20165309.txt
- 在windows命令行下输入命令:
schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "c:\20165309.bat"
,建立名为netstat,以分钟计时的记录计算机联网情况的任务。

- 进入“任务计划程序”,双击打开任务netstat,进入“属性”中的“操作”,编辑操作,在“程序或脚本”中添加刚刚创建的bat文件。


- 查看txt文件,此时已经有了记录:

- 如果txt中并不是每分钟更新一次,是因为设置时默认选择“只有计算机使用交流电源时才启用此任务”了,所以我们要在netstat任务属性的设置中取消选中该选项:

- 十多个小时后,将文本数据导入到excel中,进行统计和分析:

Emmmm我是零点左右开始监控的,直到第二天的下午,可以看出来,我电脑上的程序们都很“活跃”。。统计显示,前三名分别是YoudaoNote即有道云笔记、SearchUI(百度后得知这是小娜(Cortana)的搜索进程)和vmware-hosted。
- 因为实验中途多次用到了有道云笔记和虚拟机,所以我重点来分析一下小娜的活动:它连接的比较多的外部IP是40.100.54.210,查询一下这个IP,不难推断出,它是在不断地向微软数据中心传送数据:

searchUI比较占用进程,我们可以参考网址http://www.xitongzu.com/jc/1588.html进行关闭。
- 再分析了对外的连接情况,但看到最多的是127.0.0.1即本机地址,后来经过查询得知,127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。
② sysmon
- Sysmon是Sysinternals工具集里面一个重要工具,最主要的功能就是可以通过自定记录规则进行系统运行的监控,语法结构与HTML一致,在老师配置文件的基础上我修改了一份自己的配置文件。
<Sysmon schemaversion="3.10">
<!-- 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>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
<DestinationPort condition="is">5309</DestinationPort>
</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 -accepteula -i -n
一键安装:

- 指定配置文件,命令如图:

- 打开事件查看器,在左侧控制台树依次展开:事件查看器->应用程序和服务日志->Microsoft->Windows,找到Sysmon下的Operational并双击打开:

- 利用Sysmon具体分析实验二中生成的后门5309_backdoor.exe:
- 启动回连、安装到目标主机:

可找到运行后门5309_backdoor.exe相对应的日志如下:

Kali攻击机用meterpreter回连,我们可以看到连接的详细信息,包括IP、端口、主机名等。
- 意外看到了熟悉的微信,有些好奇它要去哪,所以看一下此时的详细信息:

好吧。。山东省移动↓

(2)恶意软件分析
Systracer
- 安装完成后,在打开后门前先快照一下,点击“take snapshot”,Snapshop #1:

- Kali打开msfconsole,完成相关设置后开始监听,Windows运行后门后,拍摄快照:

- 使用ctrl选择快照1和快照2,点击右下角compare,进行快照之间的比对(只查看不同):
- 注册表的变化:

- 进程的变换,最大的变化是新增了5309_backdoor.exe,我们还可以对比连接方式:

- 文件数据的变化:

- 然后在Sysinternals工具包中分析该后门:


使用Process Monitor分析恶意软件
- 同属于Sysinternals工具集主要是对于进程进行的分析,并且能够以进程树的形式分析每一个进程的行为。刚开始分析就看到了一个很奇怪的东西ctf...

然而我们在查看进程管理器并发现它的所在地后,即使修改了权限也并不能删掉...只能让它时时刻刻占用着内存,我应该反思一下当时为什么要在自己主机里装ctf了。。
返回目录
20165309 《网络对抗技术》实验四:恶意代码分析
原文:https://www.cnblogs.com/wsj-wsj-wsj/p/10667397.html