一、实践目标

1.监控你自己系统的运行状态,看有没有可疑的程序在运行。

2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

二、实践内容(3.5分)

2.1系统运行监控(2分)

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

2.2恶意软件分析(1.5分)

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时,该后门软件

(3)读取、添加、删除了哪些注册表项

(4)读取、添加、删除了哪些文件

(5)连接了哪些外部IP,传输了什么数据(抓包分析)

三、实践步骤

1.系统运行监控

使用schtasks指令监控系统运行:

(1)在D盘下新建一个文本文档,输入下列内容后,更名为netstatlog.bat

  1. date /t >> D:\netstatlog.txt
  2. time /t >> D:\netstatlog.txt
  3. netstat -bn >> D:\netstatlog.txt

以管理员身份运行powershell,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "d:\netstatlog.bat",创建一个每隔两分钟记录计算机联网情况的任务



短时间记录与分析:



这些回环地址的可以抛弃,重点关注别的地址链接:



由443,80端口可以猜测应该是链接某些服务器,简单查询了一下:







但仅仅凭借这几个IP地址,并不能有实质性的了解,所以还需要进一步监测分析。

长时间记录与分析:(操作细节详见学姐博客



从图表中可以看出:ali213_box.exe运行次数最多,查了一下是游侠云盒(果然是游戏软件)

2.使用sysmon工具

(1)下载并安装,创建配置文件,并放到Sysmon.exe目录中。注意:这里老师给的代码需要修改:<Sysmon schemaversion="3.10">中的3.10要根据实际修改,我的版本是4.20,所以修改为

  1. <Sysmon schemaversion="3.10">
  2. <!-- Capture all hashes -->
  3. <HashAlgorithms>*</HashAlgorithms>
  4. <EventFiltering>
  5. <!-- Log all drivers except if the signature -->
  6. <!-- contains Microsoft or Windows -->
  7. <DriverLoad onmatch="exclude">
  8. <Signature condition="contains">microsoft</Signature>
  9. <Signature condition="contains">windows</Signature>
  10. </DriverLoad>
  11. <NetworkConnect onmatch="exclude">
  12. <Image condition="end with">chrome.exe</Image>
  13. <Image condition="end with">iexplorer.exe</Image>
  14. <SourcePort condition="is">137</SourcePort>
  15. <SourceIp condition="is">127.0.0.1</SourceIp>
  16. </NetworkConnect>
  17. <CreateRemoteThread onmatch="include">
  18. <TargetImage condition="end with">explorer.exe</TargetImage>
  19. <TargetImage condition="end with">svchost.exe</TargetImage>
  20. <TargetImage condition="end with">winlogon.exe</TargetImage>
  21. <SourceImage condition="end with">powershell.exe</SourceImage>
  22. </CreateRemoteThread>
  23. </EventFiltering>
  24. </Sysmon>

(2)以管理员身份运行powershell,在对应路径下运行.\Sysmon.exe -i .\Sysmoncfg.txt,以安装Sysmon



(3)在事件查看器中的应用程序和服务日志下,查看Microsoft->Windows->Sysmon->Operational



(4)后门程序运行分析:





根据这则日志:可以发现是我的后门程序,通过本地端口58024向IP为192.168.43.56的5313端口发送TCP请求链接。

3.恶意软件分析

一、文件扫描

(1)使用virscan分析恶意软件:



查看其行为分析:



该后门用了kernel32.dllmsvcrt.dll两个链接:kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。而msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件(Microsoft Visual C Runtime Library),其中提供了printf,malloc,strcpy等C语言库函数的具体运行实现,并且为使用C/C++(Vc)编译的程序提供了初始化(如获取命令行参数)以及退出等功能,我们基本上每个C程序都会用到。

二、工具分析

(1)使用systracer工具分析恶意软件

我分别创建了三个快照:

1.初始状态,2.成功回连,3.远程操作,4.结束链接:



快照分析

(1)对比第一张和第二张不难发现:

1.增加了后门程序并获取了windows桌面权限,还有很多增加或删减的键值,增加或删减的.dll文件。

2.通过TCP建立了链接。



(2)二,三两张比较:发现其中有大量文件被删除后加载,或加载后再删除,大胆猜测可能和获取权限调用有关







(3)三、四比较:结束TCP链接,并新增回环

(2)使用wireshark分析:在恶意软件回连时,可以用wireshark捕捉通信内容。

先输入表达式ip.addr==192.168.43.56and tcp过滤掉不需要的内容接着就可以看到恶意软件回连的通信信息,可以看到先进行了TCP三次握手:



着可以看到攻击机向靶机传送代码:

(3)使用Process Explorer分析恶意软件:打开TCP/IP信息



这是实时运行时出现的线程,我们尝试KIll掉,我们会发现Kali机也失去了链接:



实践问题回答

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

(1)我们可以使用一些工具帮助自己监测系统,可以实时监控电脑上的端口信息,如果受到怀疑的恶意代码启动的时候连接了一些看起来很可疑的端口,就可以进一步进行分析。

(2)我们可以通过在windows下建立一个监测本机连接ip地址的任务计划程序。

(3)可以通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看。

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

(1)PE explorer工具,它可以对程序调用库等信息进行分析查看,还可以对其反汇编。

(2)PEiD工具,可以查看程序有没有被常用的加壳软件加壳。

(3)启动该程序,利用systracer及wireshark动态分析程序动向。

(4)利用wireshark抓包分析

实践感想

  1. 本次实践内容操作并不困难,但却很耗费时间,这就需要我们拥有足够的耐心。分析数据是一件枯燥乏味的事情,但当我们真正理解了数据背后的含义,则会收获很多。对于计算机方面的较量肯定会不断升级,而我们要做的就是学会利用现有的资源进行深入,深刻的学习。

当然在本次实践中,由于水平的限制,我对于某些概念的理解并没有那么透彻,这就需要我继续努力。

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

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

    2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...

  2. 20145226夏艺华 网络对抗技术EXP4 恶意代码分析

    20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...

  3. 20155302《网络对抗》Exp4 恶意代码分析

    20155302<网络对抗>Exp4 恶意代码分析 实验要求 •是监控你自己系统的运行状态,看有没有可疑的程序在运行. •是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工 ...

  4. 20145208 蔡野 《网络对抗》Exp4 恶意代码分析

    20145208 蔡野 <网络对抗>Exp4 恶意代码分析 问题回答 总结一下监控一个系统通常需要监控什么.用什么来监控. 监控一个系统通常需要监控这个系统的注册表,进程,端口,服务还有文 ...

  5. 20145215《网络对抗》Exp4 恶意代码分析

    20145215<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...

  6. 20155227《网络对抗》Exp4 恶意代码分析

    20155227<网络对抗>Exp4 恶意代码分析 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分 ...

  7. 20155232《网络对抗》Exp4 恶意代码分析

    20155232<网络对抗>Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...

  8. 20155239 《网络对抗》Exp4 恶意代码分析

    20155239 <网络对抗>Exp4 恶意代码分析 使用schtasks指令监控系统运行 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到nets ...

  9. 20155304《网络对抗》Exp4 恶意代码分析

    20155304<网络对抗>Exp4 恶意代码分析 实践内容 1.系统运行监控 1.1使用schtasks指令监控系统运行 我们在C盘根目录下建立一个netstatlog.bat的文本文件 ...

  10. 20155308《网络对抗》Exp4 恶意代码分析

    20155308<网络对抗>Exp4 恶意代码分析 实践说明 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件: ...

随机推荐

  1. const修饰指针+volatile +restrict

    const这块的难点 const修饰指针有以下的几种形式 ,不同的形式 它的意义不一样. 形式1: int a=23: const int *p=&a: a是int型,&a是int * ...

  2. 作业:K-means算法应用:图片压缩

    from sklearn.datasets import load_sample_image from sklearn.cluster import KMeans import matplotlib. ...

  3. grep用法

    正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:在以前上班 ...

  4. complex类的定义和实现

    #include<iostream> #include<cmath> using namespace std; class complex { public: complex( ...

  5. java应用性能分析

    dump内存信息 通过jps -lm找到进程id jmap -dump:format=b,file=./heap.hprof <pid> 使用jprofile等分析内存占用情况 dump线 ...

  6. Java ASM 技术简介

    什么是ASM ASM 是一个 Java 字节码操控框架.它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为. ...

  7. 安装Python mysqlclient出现“OSError: mysql_config not found”错误

    问题:               使用Python3开发一个管理平台,用MySQL数据库存放元数据.使用pip安装mysqlclient模块时出现“OSError: mysql_config not ...

  8. 马凯军201771010116《面向对象与程序设计Java》第十三周学习总结

    实验十三  图形界面事件处理技术 实验时间 2018-11-22 理论知识与学习部分 事件处理基础  事件源(event source):能够产生事件的对象都可 以成为事件源,如文本框.按钮等.一个事 ...

  9. 安装linux虚拟机配置静态ip(桥接模式)

    1.centOs7.VMware Workstation14 2.常规新建虚拟机操作后,来到选择连接模式: 这里选择桥接模式,复制物理网络连接状态(就是把实际的主机网卡信息拷贝一份,让虚拟机也有一份和 ...

  10. 如何将本地的文件上传到你的github仓库中(首次流程)

    1.(先进入项目文件夹,右键项目文件夹,选择git Bash)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add . ...