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

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

监控注册表和文件改动、端口占用、进程驻留等操作。可使用本次实验的netstat记录网络连接情况然后分析,当然wireshark等工具也可以使用。

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

可通过查看sysmon日志找到该进程邻近或同一时刻的进程动态,源IP、目的IP,端口号和进程号等,以及进一步分析它所创建的子进程。

实验内容

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

1、在windows命令行下输入命令schtasks /create /TN 20165228netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"创建名20165228netsta的任务计划

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



2、通过notepad创建netstatlog.bat

内容如下:

date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

然后将其放到C盘根目录下(需要管理员权限)

3、编辑任务操作

  • 进入管理工具,在任务计划程序中找到刚创建的任务20165228netstat

  • 操作页面里的启动程序修改为netstatlog.bat,并且在常规页面里开启以最高权限执行以防权限不够无法在C根目录创建.txt文件





    4、由于是每隔一分钟就记录网络情况,所以此时可以看到netstatlog.txt里已经有更新的内容。(然后等待很长一段时间)



    5、用excel生成图表分析



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

1、创建20165228monconfig.txt作为sysmon的配置文件

内容如下:

<Sysmon schemaversion="3.10">
<!-- 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">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>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>

2、进入sysmon解压后的路径,执行sysmon.exe -i C:\20165228monconfig.txt开始安装sysmon



3、安装完成



4、如果修改了配置文件,需运行sysmon.exe -c C:\20165228monconfig.txt

5、进入事件查看器查看日志

  • 应用程序和服务日志/Microsoft/Windows/Sysmon/Operational路径下可以找到sysmon日志文件

  • 运行之前制作的后门回连我的kali

  • 查询得到进程号为21672

  • 在日志中以进程号为关键词搜索相关信息

  • 首先找到了我的后门程序

  • 然后发现它还创建了一个子程序conhost.exe

任务三:恶意软件分析

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

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

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

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


1、使用VirusTotal分析恶意软件

  • 将后门程序丢到VirusTotal中进行分析,并得到SHA-1、MD5摘要值、文件类型、大小、TRiD文件类型识别结果和算法库支持情况



    2、使用Process Monitor分析恶意软件
  • 先反弹连接kali,并且得到进程号15152

  • 发现有很多记录,找出需要的很不容易。我发现它有filter功能,于是我以pid is 15152为条件进行了过滤

  • 得到结果



    所以我的后门应该是修改了我的注册表

    3、使用Process Explorer分析恶意软件



    4、使用PEiD分析恶意软件
  • 加壳:

  • 不加壳:



    5、使用systracer分析恶意软件

    保存了两个快照:正常运行和成功回连
  • 通过compare发现注册表里出现了改动

  • 查看后门软件的“opened handles”来对比

  • 查看后门软件的"open port"来对比

    其中192.168.43.219是win10 IP 192.168.43.171是kali IP

问题

  • 在安装system monitor时,在按照博客编写配置文件开始执行安装后,提示incorrect or unsupported schema version 3.10 . current sysmon schema version 4.20意思是当前sysmon schema 版本为4.20,即3.10为不支持或不正确的版本号。

    解决:我猜测与编写的配置文件有关,刚好在其中找到了有关版本的那一项,该为4.20即可成功安装。

实验感想

  • 在此次实验中,我使用了许多恶意代码分析软件,从网络连接和端口、系统注册表变化等多方面的监控,然后具体定位到某一个或某一些进程后进入深入分析。一定程度上增加了我们自己排查恶意代码的能力,不再那么依赖杀软,并且对恶意代码的运行情况也有了一些理解。

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

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

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

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

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

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

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

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

    2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp ...

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

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

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

    2018-2019-2 20165236 <网络对抗技术>Exp4 恶意代码分析 一.1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行; 1.2是分析一个恶意软件, ...

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

    2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...

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

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

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

    2018-2019-2 20165205<网络对抗技术>Exp4 恶意代码分析 实验要求 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中 ...

随机推荐

  1. kafka producer batch 发送消息

    1. 使用 KafkaProducer 发送消息,是按 batch 发送的,producer 首先把消息放入 ProducerBatch 中: org.apache.kafka.clients.pro ...

  2. There are multiple modules with names that only differ in casing. 黄色warning

    There are multiple modules with names that only differ in casing.有多个模块同名仅大小写不同This can lead to unexp ...

  3. c# Process cmd 执行完回调 Proc_OutputDataReceived mysql mysqldump mysql source备份还原数据

    c# Process 执行完回调 Proc_OutputDataReceived mysql mysqldump mysql source备份还原数据 直接贴代码 前提:mysql5.7 vs2017 ...

  4. NPOI 关于Excel的学习

    1.传送门:http://blog.csdn.net/guo_lover/article/details/52399570

  5. mysql语句将日期转换为时间戳的方法

    mysql将日期转换为时间戳更新数据库: update test set creattime=UNIX_TIMESTAMP('2018-04-19') 替换字段为当前日期: update test s ...

  6. Linux c codeblock的使用(二):在工程中编译多个文件

    (一)前言 我们刚开始学习linux c的时候,一般都是在一个c文件里面写完所有程序,然后用gcc编译这个c文件就好了,十分简单. 但是你有没有想过,如果我们希望将不同模块的代码放到不同的c文件,然后 ...

  7. Unity中Terrain中刷出的树木模糊解决办法

    Billboard Start  该项用于设定摄像机将树渲染为广告牌的距离.

  8. 【Alpha】事后分析

    Alpha阶段终于告一段落,我们的团队也完整经历了从提出设想.用户需求分析,到开发.测试,再到部署上线.推广的流程."葫芦娃不想写代码"团队还是较出色地完成了Alpha阶段的工作, ...

  9. python 使用selenium模块实现自动搜索百度百科词条(模拟人工搜索)

    目标:模拟人工搜索百度百科词条,爬取相关信息,自动删除上一个关键词,输入新关键词,继续搜索,直到循环结束. 代码: from selenium import webdriver from seleni ...

  10. 域名排序 sort uniq awk

    [root@web01 ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同:-b :忽略最前面的空格符部分: ...