2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析

Exp4 恶意代码分析

目录

  • 一、实验目标

    • (1)监控你自己系统的运行状态,看有没有可疑的程序在运行。
    • (2)分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
    • (3)假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
  • 二、基础问题回答
    • (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控
    • (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
  • 三、实践过程记录
    • 使用计划任务,每隔一分钟记录自己的电脑有哪些程序在联网。
    • 使用sysmon工具,监控自己主机的重点事可疑行为。
    • 使用VirusTotal分析恶意代码。
    • 使用PEiD检测可疑对象是否加壳。
    • 使用SysTracer分析恶意软件.
    • 使用Process Monitor 监视进程
    • 使用Process Explorer 监视进程.
  • 四、实验总结与体会
  • 五、实验错误与问题及其解决

二、基础问题回答

  • [ 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。 ]

我想监控的操作有:
(1)注册表的修改
(2)进程的访问
(3)数据包的传送及其中的内容
(4)端口的连接和占用情况(5)防火墙和杀软的防御和拦截情况。(6)连接了哪些ip。
使用方法监控:
(1)使用windows计划任务schtasks,定时记录一下有哪些程序在连接网络,干了些什么,进行分析。
(2)可以使用工具sysmon监控几乎所有的重要操作,并在事件查看器中查看日志,寻找恶意代码的痕迹。
(3)使用Process Explorer监视系统和应用程序(4)使用Process Monitor监视系统进程。

  • [ 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。 ]

(1)使用virscan等网站检测,查看其行为分析等
(2)使用wireshark在该程序或进程运行时抓包,查看其与本机的通信。
(3)使用PEiD分析该程序,看看其是否加壳。

返回目录


三、实验过程记录

3.1使用Windows计划任务schtasks记录并分析。

  • 使用命令schtasks /create /TN 20165114netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\20165114netstatlog.txt"创建一个每隔一分钟重复一次的名称为20165114netstat的计划任务。

TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分钟来计时
MO: MOdifier
TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

  • 先在桌面创建一个txt文件,写入下列内容后,重命名更改为批处理netstatlog.bat文件。
date /t >> c:\20165114netstatlog.txt
time /t >> c:\20165114netstatlog.txt
netstat -bn >> c:\20165114netstatlog.txt
  • 将文件netstatlog.bat拖入C盘目录下,这需要管理员权限,如下图点击继续即可。
  • 打开控制面板->管理工具->任务计划程序,可以看到刚刚创建的这个任务。
  • 双击点开这个任务,为其设置属性,在常规一栏,勾选使用最高权限运行,否则可能无法运行哦,这时需要在弹窗中输入管理员密码。

  • 操作一栏,点击编辑,将程序或脚本改为批处理文件 netstatlog.bat,将参数一栏清空。
  • 除此之外,条件一栏中,默认情况下只有在计算机使用交流电源时才启动此任务,当拔出电源时就会停止任务,如果使用电池电源可不勾选此项。
  • 运行该任务,会发现20165114netstatlog.txt中已经有联网数据和记录了,如下图所示。
  • 等待几个小时候,可以用excel统计和整理分析一下收集到的数据。
  • 使用excel导入文本数据和建立数据透视图的过程可以参考学姐的博客,写的十分详细,下图是我导入后的excel表格与创建数据透视图过程。

  • 最后发现,几个联网频繁的程序是TCP,2345浏览器,虚拟机的程序等,图中也可以看到后门程序、电脑管家、wireshark等的记录。
  • 下图为一部分外部连接的ip地址:
  • 可以对可疑的ip地址进行查询,看看他们的归属地等信息。


返回目录


3.2使用sysmon工具监控自己主机的重点可疑行为。

sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性.sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。

<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>
    </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">5114</DestinationPort>
      <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">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
      <TargetImage condition="end with">firefox.exe</TargetImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

==注意:==

  • 版本号需要根据sysmon的版本修改,我的为:Sysmon schemaversion="4.20"
  • exclude相当于白名单,不用记录。include相当于黑名单,需要包括进去。
  • 过滤条件相当于白名单吧,多多益善,让信任的程序尽量不要记到日志里,日志多了不好分析。
  • 如果你想记录所有网络连接就可以简单写为*,不写的不记录。
  • 网略连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。
    • 137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。
    • 127.0.0.1表示本机IP。
  • 远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程。
    • explorer.exe是Windows程序管理器或者文件资源管理器
    • svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
    • winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
    • powershell.exe是专为系统管理员设计的新 Windows命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

  • 下载sysmon的安装包并解压。
  • 打开命令提示符(管理员),并进入该解压后的目录下,使用指令Sysmon.exe -i C:\20165114Sysmoncfig.xml安装sysmon。
  • 将会弹出如下窗口,点击agree即可。
  • 如果修改了配置文件,要运行指令:sysmon.exe -c C:\20165114ysmoncfig.txt
  • 右键我的电脑,点击管理,点击事件查看器->应用程序和服务日志->/Microsoft/Windows/Sysmon/Operational,可以查看到日期时间,事件id,任务类别等信息。

  • 点开事件,可以看到详细信息。
  • 将实验二中生成的后门传送到主机后,kali进行监听,回连成功后,查找5114,仔细查看事件及其信息。
  • 过程中我多次看到了conhost.exe,它是微软为其Vista以及Win7、Windows 2008(服务器版)系统定义的系统文件,在系统中被称为“控制台窗口主机”。其功能主要是为命令行程序(cmd.exe)提供类似于Csrss.exe进程的图形子系统等功能支持,而之前在Windows XP系统中Conhost.exe的这一功能是由Csrss.exe进程“兼职”提供的,但这被认为存在不安全因素,于是微软为了提高系统安全性在06年之后发布的Vista和Win7等系统中新加入Conhost.exe进程。毫无疑问,这个进程应该是安全的,它由微软签署。
  • 谷歌的程序:
  • 同样出现多次的dllhost.exe,是微软Windows操作系统的一部分。dllhost.exe用于管理DLL应用,在任务管理器中可以找到,这个程序对是微软Windows系统的正常运行是非常重要的。
  • 腾讯电脑管家的相关运行程序。

  • 看到我的后门程序出现了,对可疑的进程可以仔细看看详细信息,再查一查它干了些啥,就可能可以发现恶意软件的踪影。

返回目录


3.3使用VirusTotal分析恶意代码。

VirSCAN.org 是一个非盈利性的免费为广大网友服务的网站,它通过多种不同厂家提供的最新版本的病毒检测引擎对您上传的可疑文件进行在线扫描,并可以立刻将检测结果显示出来,从而提供给您可疑程度的建议。

将后门文件放入该网站检测,进行分析。

  • 查看该后门的基本属性,包括它的MD5值、SHA-1值、文件类型等信息。
  • 便携式可执行信息,包括比较重要的部分或段落的信息、从外部动态链接库导入的功能等。
  • ExifTool文件元数据
  • 文件系统操作,包括文件打开和阅读的文件。
  • 进行了创建流程、同步机制、加载模块等等操作。

使用PEiD检测可疑对象是否加壳。

PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。

  • 将PEiD安装好之后是如图界面,比较小巧。
  • 先用一个没有加过壳的后门试试,什么都没找到。
  • 测试一个upx加壳后的程序,果然查出来了,还可以查看扩展信息。
  • 扩展信息的信息感觉也不是很丰富啊...
  • 点击多文件扫描,扫描一下含有多个后门程序的目录,我们可以发现,加过加密壳hyperion的后门并不能被查出来,看来这个软件并没有hyperion的记录信息。
  • 这个软件还能查看进程。
  • 点击选项,可以更改扫描模式等。

    扫描模式
    ●正常扫描模式:可在PE文档的入口点扫描所有记录的签名;
    ●深度扫描模式:可深入扫描所有记录的签名,这种模式要比上一种的扫描范围更广、更深入;
    ●核心扫描模式:可完整地扫描整个PE文档,建议将此模式作为最后的选择。
    PEiD内置有差错控制的技术,所以一般能确保扫描结果的准确性。前两种扫描模式几乎在瞬间就可得到结果,最后一种有点慢,原因显而易见。

返回目录


3.5 使用SysTracer分析恶意软件.

SysTracer 这是一款可以分析你的计算机文件,文件夹和注册表项目改变的系统实用工具.你可以在任何想要的时间获取无数个屏幕快照.你可以比较任何一对想要的屏幕快照,并且观察其间的不同之处.获取屏幕快照通常会持续几分钟的时间,这取决于文件和文件夹的数量和注册表项目的总数.

  • 我在自己的主机上拍摄快照,由于文件太多,耗时特别长,所以只拍摄了两个快照,最好还是选择在虚拟机中进行,耗时较短。
    (1)在连接后门前拍摄快照1.
    (2)监听、反弹回连后拍摄快照2.
  • 安装软件systracer,点击iagree
  • 我选择了中间这一项,其实选择别的项也行。
  • 端口我设为5114.
  • 会弹出一个安全警报,点击允许访问即可。
  • 安装完成就是这个界面啦,点击右边就是拍摄快照。
  • 拍摄快照,我选了全部的项目文件等,这样会导致拍摄时间较长。
  • 点击Applications->running processes,我选择了only difference只看差异,可以看到后门程序的进程。
  • 打开的端口:
  • 打开的句柄:

  • 但是还有好多东西都没看到,一直提示说未注册,这个问题我也暂时没能解决掉。

3.5使用Process Monitor 监视进程

Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常有用。

打开软件,可以看到该软件对各个进程的详细记录与时间等等。


3.6使用Process Explorer 监视进程

由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows上加载32位日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。

  • 独特之处
    1.显示被执行的映像文件的完整路径
    2.显示进程安全令牌
    3.加亮显示进程和线程列表中的变化
    4.显示作业中的进程,以及作业的细节
    5.显示运行。NET/WinFX应用的进程,以及与.NET相关的细节
    6.显示进程和线程的启动时间
    7.显示内存映射文件的完整列表
    8.能够挂起一个进程
    9.能够杀死一个线程
  • 后门程序运行时,可以看到这个进程的执行的记录:
  • 还可以手动杀死这个进程,杀死这个进程后,kali攻击机也会失去对主机的控制。


返回目录


四、实验总结与体会

  • 根据恶意代码的原理而产生的分析工具多种多样,杀软只是其中的易于被大家接受的一种而已,杀软的用户体验比较好,只需一键就可以检测,但是通过实验我们也知道了,杀软不是万能的,它检测不出来很多恶意代码。而仔细监控系统,总会发现恶意代码的影踪,但是感觉就是需要比较专业的知识和仔细耐心的学习分析。在大量而冗杂的数据中,找到恶意代码的痕迹,确实比较麻烦。但是这种综合分析能力也正是我们需要学习和成长的方向吧。
  • 这次实验我接触到了很多不同的软件,大多软件通过日志、进程、注册表等来监控。每个软件都有自身的特点吧,我在实验过程中突然接触这些陌生软件,又需要进行大量数据分析,通过查找大量资料进行综合分析才能顺利完成。我的虚拟机和主机由于桥接模式无法Ping通,也更改了很多网络设置、查找大量资料最终才解决,所以在实验中不要一叶障目,更不要机械地去使用各种软件,去思考和分析才是解决问题的比较好的途径。

五、实验错误与问题及其解决

(1)在使用sysmon工具是遇到版本不匹配的问题。只需要将版本修改即可。

(2)实验过程中遇到了拍摄快照耗时太长,最后显示未注册的问题。最好用虚拟机作为靶机,拍摄快照比较合适,这样比较快。未注册的问题最后我也没能解决,只能重新卸载后安装。


(3)主机不可达,导致了主机与虚拟机无法互相Ping通,最后导致了无法与后门连接。更改网络设置或者关掉防火墙也都不太行。

原文地址:https://www.cnblogs.com/erinwhere/p/10662415.html

时间: 2024-10-17 13:39:52

2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析的相关文章

20145239杜文超《网络对抗技术》- 恶意代码分析

20145239杜文超<网络对抗技术>- 恶意代码分析 实验后回答问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (1)使用计划任务schtasks指令动态监控系统运行 (2)使用sysmon工具动态监控系统运行 2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. (1)使用systracer工具进行快照分析注册表信息.文件行为等信息的变化 (2)把程序放在vir

20145225唐振远《网络对抗》Exp4 恶意代码分析

20145225唐振远<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放.注册表信息等等: 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件便可以查看: 使用Process Explorer工具,监视进程执行情况,查

20155317《网络对抗》Exp4 恶意代码分析

20155317<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 我首先会选择看任务管理器,查看系统下有什么进程,都在干些什么,不懂得就去网上搜索相关关键词. 我会开启360安全卫士,利用360监控是否有恶意程序. 2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. 利用Process Explorer去分析进程在连接什么地址

20145207李祉昂《网络对抗技术》恶意代码分析

实验内容 schtasks.Sysmon对电脑进行系统检测,并分析. 对恶意软件进行静态分析,直接上传到网上,或者利用peid等软件. 对恶意软件进行动态分析,使用systracer,以及wireshark分析. 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. schtasks,Sysmon监控 (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. wi

20145235李涛《网络对抗技术》- 恶意代码分析

基础问答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 可以通过计划任务,来建立一个定时更新的日志来查看 通过sysmon来监控. 通过Process Explorer工具,查看是否有程序调用了异常的dll库 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. 可以通过抓包工具,进行分析. 通过systracer工具分析某个程序执行前后,计算机注册表.文件.端口的一些变化情况.

2015306 白皎 《网络攻防》Exp4 恶意代码分析

2015306 白皎 <网络攻防>Exp4 恶意代码分析 netstat [Mac.Linux.Win] sysinteral [MS]:1 2 3 一.系统监控--Windows计划任务schtasks 1.创建计划任务,使系统每5分钟自动检测到哪些有哪些程序在连接我们的网络. 注:任务将创建于当前登录的用户名文件夹下. C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\

20155334 《网络攻防》Exp4 恶意代码分析

<网络攻防>Exp4 恶意代码分析 一.实验问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 可以使用工具监测系统,之后进行下一步分析. 在windows下建立一个监测本机连接ip地址的任务计划程序. 通过sysmon监控重要操作,并找到日志查看. 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. PEiD工具,可以查看程序有没有被常用的加壳软件加壳. PE expl

2019-2020-2 20175310奚晨妍《网络对抗技术》Exp4 恶意代码分析

目录 1 基础知识 1.1 恶意代码的概念与分类 1.2 恶意代码的分析方法 1.3 实践目标 2 实践内容及步骤 2.1 系统运行监控 2.1.1 Windows计划任务schtasks 2.1.2 sysmon 2.2 恶意软件分析 2.2.1 静态分析 2.2.2 动态分析 3 实验中遇到的问题 3.1 实验二生成的后门文件一直不能成功回连 3.2 实验中需要用到的软件 4 问题回答 4.1 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下

2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析

2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 2.实践内容概述 系统运行监控 使用如计划任务,每隔一分钟记