实验要求
1.监控你自己系统的运行状态,看有没有可疑的程序在运行
2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件
3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质
实验内容
1.系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
2.恶意软件分析
(1)分析该软件,读取、添加、删除了哪些注册表项
(2)分析该软件,读取、添加、删除了哪些文件
(3)分析该软件,连接了哪些外部IP,传输了什么数据(抓包分析)
实验问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用windows计划任务schtasks,每隔几分钟查看联网记录,对数据进行分析
- 使用sysmon工具,通过修改配置文件,记录相关的日志文件
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 可以使用wireshark查看
- 使用systracer工具对恶意软件的信息进行具体分析
实验步骤
1.windows计划任务schtasks
- 在d盘创建一个txt文件,输入以下内容后另存为bat文件
date /t >> d:20165302.txt
time /t >> d:20165302.txt
netstat -bn >> d:20165302.txt
- 输入schtasks /create /TN 20165302netstat /sc MINUTE /MO 1 /TR “d:20165302.bat”,实现每1分钟记录一下有哪些程序在连接网络
- 通过“Windows->控制面板->管理工具->任务计划程序”,找到我的任务,右键运行
-
打开记录文件20165302.txt记事本,可以看到每隔1分钟记录并且能够显示日期和时间(一开始没有注意到管理员权限)
-
以管理员身份运行批处理文件后
- 复制到excel中
导入数据:数据选项卡-获取外部数据-来自文本,选择文本20165302.txt,导入过程中选择分隔符号,分隔符号都选上,列数据格式选择常规,完成导入
2.使用sysmon工具监控系统
- 在官网下载sysmon工具
- 创建配置文件sysmon20165302.txt
- 内容为
<Sysmon schemaversion="4.20">
<!-- 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 schemaversion要根据sysmon的实际版本修改,我的是4.20)
- 安装sysmon:执行命令sysmon.exe -i D:sysmon20165302.xml,成功结果如下
- 查看“事件查看器”,选择日志的位置,应用程序和服务日志
/Microsoft/Windows/Sysmon/Operational
,在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等。
- 这个配置文件记录的第一个日志就是打开C:sysmon20165302.xml配置文件
- 利用Sysmon具体分析日志
-
启动回连、安装到目标主机
-
找到运行后门文件相对应的日志,打开这个事件,可以看到其属于“NetworkContect”。查看详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等
-
还发现了上网的浏览记录
-
运行dir后,我们发现了一个重要的进程
(Svchost.exe是微软视窗操作系统里的一个系统进程,管理通过Dll文件启动服务的其它进程,一些病毒木马伪装成系统dll文件通过Svchost调用它,试图隐藏自己。每个svchost可以同时调用多个dll文件,启动多个服务。)
-
恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(1)读取、添加、删除了哪些注册表项
(2)读取、添加、删除了哪些文件
(3)连接了哪些外部IP,传输了什么数据(抓包分析)
1.使用VirusTotal分析恶意软件
- 将恶意代码csj_backdoor.exe放在virscan进行分析
- 使用virustotal扫描
- 点击Details可以查看基本属性以及加壳情况:
- 以及该恶意代码的算法库支持情况
2.使用PEiD分析恶意软件
-
安装好PEiD后,先检测Exp3中未加壳的后门程序
-
再检测使用UPX加壳后的
3.使用systracer分析恶意软件
-
安装SysTracer软件
-
点击右侧的take snapshot,存储快照
- 快照一:未移植后门程序
- 快照二:移植后门程序
- 快照三:运行后门程序并在kali中实现回连
- 快照四:在kali中使用dir指令
- 快照五:在kali中使用record_mic指令
- 通过右下角的compare键或者View Differences Lists比对各快照,进行分析
- 快照一和快照二:增加了我的后门程序,后面还有很多增加或删减的键值,增加或删减的.dll文件
- 快照二和快照三:增加了后门程序并获取了windows桌面权限,还有很多增加或删减的键值,增加或删减的.dll文件
- 快照三和快照四:对key_local_machine根键中的内容进行了修改
- 对比快照四和快照五:
实验体会
通过这次实验我学会了如何对主机进行监控,学会了windows计划程序的使用和sysmon工具的使用,知道了在确定一个可以的文件后如何使用各种软件进行各种分析,学会了使用peid进行加壳分析,使用virscan和virustotal进行数据分析,和wireshark进行抓包分析,通过各种软件的配合才能确保自己电脑的安全,这次实验在以后的生活中也是一个比较实用的技能,总之,通过这次实验我提高了自己的动手能力和对课程的更深层次的理解,毕竟网络对抗就是一门实践课,要在不断实践中获得知识和技能,希望在以后的学习和实践的过程中我可以不断提高自己的各方面能力,学有所得