NetSec2019 20165327 Exp4 恶意代码分析

一、实践目标

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

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

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

二、实践内容概述

1、系统运行监控

①使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。

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

2、分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

①读取、添加、删除了哪些注册表项

②读取、添加、删除了哪些文件

③连接了哪些外部IP,传输了什么数据

三、基础问题回答

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

①使用windows自带的schtasks指令设置一个计划任务,发现网络连接异常

②使用Sysmon,编写配置文件,记录有关的系统日志

③使用Process Explorer工具,监视进程执行情况。

④使用Process Monitor工具,监视文件系统、注册表、进程/线程的活动。

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

①使用systracer工具分析恶意软件,查看其对注册表和文件的修改。

②使用Wireshark进行抓包分析,监视其与主机进行的通信过程。

③使用Process Explorer工具或Process Monitor工具,监视文件系统、注册表、进程/线程的活动

四、实践步骤

1、使用schtasks指令监控系统(使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果)

①管理员身份打开命令行使用schtasks /create /TN netstat5327 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat5327.txt"命令创建计划任务netstat5327

TN是TaskName的缩写,创建的计划任务名是netstat5327;

sc表示计时方式,我们以分钟计时填MINUTE;

TR=Task Run,要运行的指令是 netstat

bn,b表示显示可执行文件名,n表示以数字来显示IP和端口;

表示输出重定向,将输出存放在c:\netstat5327.txt文件中

②在C盘中创建一个netstat5327.bat脚本文件,写入以下内容

date /t >> c:\netstat5327.txt

time /t >> c:\netstat5327.txt

netstat -bn >> c:\netstat5327.txt

③打开任务计划程序,可以看到新创建的这个任务:

④双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat5327.bat批处理文件,确定即可。

在属性中“常规”一栏最下面勾选“使用最高权限运行”,不然程序不会自动运行

⑥还可以自行更改该任务的其他属性,如在"条件"选项卡中可以看到,电源选项中默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。注意:如果没有修改默认操作,任务无论如何都无法执行可能只是因为拔掉了电源。为了统计足够多的数据,最好把这个取消掉。



⑦执行此脚本一定时间,就可以在netstat5327.txt中查看到本机在该时间段内的联网记录:



记录此时已足够进行分析,将这些数据导入Excel



查询出现的未知进程:

如果监听得久也可以通过Excel表分析出各个进程联网的频率找出异常进程在进行处理

2、使用sysmon工具监控系统

①在微软官方文档中,可以查看所有操作。

②下载sysinternals。下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysmon

③一键安装命令:sysmon -accepteula -i -n

④创建配置文件Sysmon20165327.xml

  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. <Image condition="end with">firefox.exe</Image>
  15. <SourcePort condition="is">137</SourcePort>
  16. <SourceIp condition="is">127.0.0.1</SourceIp>
  17. <DestinationPort condition="is">80</DestinationPort>
  18. <DestinationPort condition="is">443</DestinationPort>
  19. </NetworkConnect>
  20. <CreateRemoteThread onmatch="include">
  21. <TargetImage condition="end with">explorer.exe</TargetImage>
  22. <TargetImage condition="end with">firefox.exe</TargetImage>
  23. <TargetImage condition="end with">svchost.exe</TargetImage>
  24. <TargetImage condition="end with">winlogon.exe</TargetImage>
  25. <SourceImage condition="end with">powershell.exe</SourceImage>
  26. </CreateRemoteThread>
  27. <ProcessCreate onmatch="include">
  28. <Image condition="end with">chrome.exe</Image>
  29. <Image condition="end with">iexplorer.exe</Image>
  30. <Image condition="end with">firefox.exe</Image>
  31. </ProcessCreate>
  32. <FileCreateTime onmatch="exclude" >
  33. <Image condition="end with">firefox.exe</Image>
  34. </FileCreateTime>
  35. <FileCreateTime onmatch="include" >
  36. <TargetFilename condition="end with">.tmp</TargetFilename>
  37. <TargetFilename condition="end with">.exe</TargetFilename>
  38. </FileCreateTime>
  39. </EventFiltering>
  40. </Sysmon>

⑤用sysmon -c Sysmon20165327.xml命令指定配置文件:报错版本不匹配,改成自己对应的版本即可:

⑥重新输入sysmon -c Sysmon20165327.xml命令,完成配置。

sysmon -u命令为停止服务。

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

打开之前Exp3植入的5327upxed.exe后门,Kali攻击机用meterpreter回连,可以看到连接的详细信息,包括ip、端口、pid等:



在事件查看器里以进程号查找关键字

3、对各种软件进行恶意软件分析

(1)使用VirusTotal分析恶意软件



detail:



可以看出它的MD5摘要值、SHA-1、文件类型、文件大小,以及TRiD文件类型识别结果。

也可以看该恶意代码的算法库支持情况:

(2)使用Process Explorer分析恶意软件



也可以详细查看该进程使用的CPU,虚拟内存空间、物理内存空间、I/O等

(3)使用Process Monitor分析恶意软件

简介:Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。

查找恶意进程:



还可以看到这个后门程序引用的各种其他的库

(4)使用systracer分析恶意软件

主要想尝试一下,拍两张试一试(血的教训:在物理机上把本机搞崩了,还是在win7虚拟机上,又快又安全)

传恶意软件前:

传恶意软件后:

"找不同":



可以选择看各类Reqs、Flies、Apps:



明显的特征是增加(add)了这个恶意软件



也可以看出开机时计算机系统无时无刻不在工作着(add/del/mod/……)

(5)使用wireshark抓包分析恶意软件

回连完成后结束捕获,把过滤规则设置为ip.addr == 172.30.2.15,把没用的包过滤掉



可以看到三次握手的以及有大量的TCP包

用dir指令查看了靶机的当前目录



遇到问题:

本想查看与虚拟机有关的数据包,以及在回连过程中的数据是什么样的

然而用了那么久的wireshark失灵了?! 试了几次也没找到,具体原因每天验收时找老师讨论……

NetSec2019 20165327 Exp4 恶意代码分析的更多相关文章

  1. 20165310 NetSec2019 Week6 Exp4 恶意代码分析

    20165310 NetSec2019 Week6 Exp4 恶意代码分析 一.实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...

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

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

  3. 2018-2019 20165237网络对抗 Exp4 恶意代码分析

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

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

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

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

    - 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP ...

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

    Exp4 恶意代码分析 实验内容 一.基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. •使用w ...

  7. 2018-2019 20165235 网络对抗 Exp4 恶意代码分析

    2018-2019 20165235 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件 ...

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

    目录 Exp4 恶意代码分析 一.基础问题 问题1: 问题2: 二.系统监控 1. 系统命令监控 2. 使用Windows系统工具集sysmon监控系统状态 三.恶意软件分析 1. virustota ...

  9. 20155312 张竞予 Exp4 恶意代码分析

    Exp4 恶意代码分析 目录 基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (2)如果 ...

随机推荐

  1. 全志A33移植LCD驱动(ILI9806E)

    0x00 环境说明: 所使用的开发板为锐尔威视的插针版A33_Vstar 屏幕是买的第三方的KD050FWFPA011-C009A,其中LCD驱动IC为ILI9806E,所使用的接口为RGB666 0 ...

  2. JavaScript Object中的函数assign

    Object函数提供了一个叫做assign的函数,用来合并多个对象. Object.assign(...): 你可以传递多个对象给该函数,这些对象中的自有且可枚举的属性,会被拷贝给第一个对象. var ...

  3. 学Python的感受

    这门课程已经上了两周了,虽然还没学到什么实质上的东西,只是做了几道题,但是我也感受到了Python的魅力.我感觉这门课真的很有用,比如老师所说的网络爬虫,我对这个非常感兴趣.再说说老师的教学方式,理论 ...

  4. Ajax请求二进制流并在页面展示

    后端代码: public void getIntegralQrcode(HttpServletResponse response, String token) throws BizException, ...

  5. caffe常用

    1. 关闭模型froward信息 os.environ[' #注意要在improt caffe之前 2. 学习率 step: 配合stepsize,迭代次数达到stepsize的整数倍改变一次, ba ...

  6. CCF CSP 201509-1 数列分段

    题目链接:http://118.190.20.162/view.page?gpid=T32 问题描述 试题编号: 201509-1 试题名称: 数列分段 时间限制: 1.0s 内存限制: 256.0M ...

  7. 字段like多个条件(or关系)简写

    字段 like ‘匹配串1’or 字段 like ‘匹配串2’or ... 有如下简写方式 oracle: select  * from tablex where REGEXP_LIKE(字段名, ' ...

  8. hdu2054 通过率低是有理由的

    这虽然是一道水题,但却巨坑,他题面上不说数据范围,也没有说数据类型,事实就是数据范围巨大,整型实型都有,所以必须用字符串去写,但是又涉及到小数,所以还要删除小数后面多余的0,比如1==1.0000,这 ...

  9. 2、每日复习点--ConcurrentHashMap vs HashMap vs HashTable

    HashMap:允许键或者值为null.底层是基于数组+链表的结构.默认初始容量是16,默认加载因子是0.75F,默认扩容增加一倍.如果指定了初始容量n,n必然在(2x,2x+1]范围内,n经过运算所 ...

  10. textfield reload issue and other things reload problem.===================================

    https://github.com/flutter/flutter/issues/18828 https://blog.csdn.net/u011272795/article/details/830 ...