Exp4 恶意代码分析

  • 本次实验操使用Windows下的schtasks,sysmon,Process Explorer作为测试工具。

  • 确定是某个程序或进程有问题,

    使用Wireshark进行抓包分析,查看该程序联网时进行了哪些操作;

    使用systracer工具分析某个程序执行前后,计算机注册表、文件、端口的一些变化情况。


实验内容

实验环境 Windows 10 64bit

实验工具schtasks,sysmon,netstat,systracer


使用schtasks指令监控系统运行

先在C盘目录下建立一个NetstatLog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中。

//netstatlog.bat内容
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • 利用DOS界面命令

    schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\NetstatLog.bat"
    即可生成定时任务,不过运行时需要利用管理员权限。

  • 也可以利用 任务计划程序,创建一个任务,通过新建 操作 调用bat脚本。

    在创建任务时,需要勾选 以最高权限运行

  • 充分发酵后转换为EXCEL,删除重复项,对IP进行升序排列后,即可获得本机上的各种连接。

  • 之后利用WHOIS对这些IP地址进行分析。

结果经过了24小时,我的小新连上了全国各地的IP,有点懵。

配置Microsoft日志工具Sysmon监控系统

netstat 属于比较基本的系统工具,除此之外我们还可以利用一些完善的系统监控软件。

Sysmon 是微软 Sysinternals 套件中的一个工具,可以从微软官网里进行下载。

  • 要使用sysmon工具先要配置文件config,语法为xml格式
  • 标签使用在官网中有Sysmon使用说明

本次实验我们主要学习Sysmon的前三种基本标签用法,即

1.ProcessCreate

2.FileCreateTime

3.NetworkConnect

  • 贴一下自己的简版配置文件作为分析(知识点中)

之后利用DOS命令,即可更新Sysmon配置

Sysmon -c c:\SysmonConfig.txt

监视恶意代码测试

接下来,我们利用上次实验制作的免杀病毒回连,测试各个分析软件的效果

在使用exploit回连后,我使用了三个命令,分别是:dir,ps,screenshot

  • netstat

    作为最基本的工具,netstat在管理员权限下能检测到主机与异常IP的连接,但也仅限于显示连接状态,无法深入分析。

  • Sysmon

    作为微软的系统日志监控软件,功能很强大,但信息量也同时非常繁杂。在茫茫的日志中寻找恶意代码确实不易。

再利用meterpreter回连前后,我打开了Sysmon检测系统状态,但却没找到关于后门shellcode_v2.exe的相关信息。

这时我在日志中发现了一条很奇怪的信息。

明明是kali利用后门实现screenshot,但Explorer.EXE确调用了一条Micorsoft.Windows.Photos的命令。

并且权限为0x2000,基本上是全权,很可疑。

以此为基础又找到了Explorer.EXE调用SystemSetting的命令。

最终找到了一条,TargetImage为vmware.exe。即猜测Kali通过Explorer这个程序实现了连接和以上命令。

  • SysTracer

我分别在回连前,连接成功后,调用dir,ps,screenshot三个命令时,建立了系统快照,以下进行分析。

生成快照后,点击Only differences,即可判断后台修改的信息。

可见连接后相较正常快照,更改了shell的相关注册表。

在执行dir命令后,相较于连接时,增加了windows命令处理器注册表的修改。

同时后门程序对于Explorer的修改,验证了Sysmon检测时的猜想!

比较实现screenshot和ps的快照,可以分析,后台程序修改了VitualDestop注册表,从而能够获得截图。

经过以上分析,对于木马程序连接后执行命令的流程有了一个大致的思路。

主要思路

Tip:

本次实验,主机通过利用系统监控工具,达到获取自身连接信息,监控恶意代码执行的目的。


知识点

Sysmon 配置文件简版

 <Sysmon schemaversion="4.00">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms> <EventFiltering>
<!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows 以下签名驱动加载时不记录-->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad> <ProcessCreate onmatch="exclude" 以下程序镜像加载时不记录>
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</ProcessCreate> <!-- incontains chrome or iexplorer 以下文件镜像创建时不记录-->
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
</FileCreateTime> <!-- incontains access 0x1400 以下权限被进程执行时不记录-->
<ProcessAccess onmatch="exclude">
<GrantedAccess condition="is">0x1400</GrantedAccess>
</ProcessAccess> <!-- incontains port 137 以下端口连接时不记录-->
<NetworkConnect onmatch="exclude">
<SourcePort condition="is">137</SourcePort>
</NetworkConnect> <!-- contains port 443 or 80 特别关心端口443和80-->
<NetworkConnect onmatch="include">
<DestinationPort condition="is">443</DestinationPort>
<DestinationPort condition="is">80</DestinationPort>
</NetworkConnect> <!-- contains RemoteThread explorer,svchost,winlogon,powershell 特别关心以下远程进程创建-->
<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>

启发

本次实验给我的启发是,我们的主机每天都在进行着成千上万的连接,如果不对其进行了解分析,就完全不知道他在24小时内到底经历了什么 (囧oz……

2017-2018 Exp4 恶意代码分析 20155214曾士轩的更多相关文章

  1. 20145236《网络攻防》Exp4 恶意代码分析

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

  2. 20155321 《网络攻防》 Exp4 恶意代码分析

    20155321 <网络攻防> Exp4 恶意代码分析 计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...

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

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

  4. 20145202马超《网络对抗》Exp4 恶意代码分析

    20145202马超<网络对抗>Exp4 恶意代码分析 1.实验后回答问题 (1)总结一下监控一个系统通常需要监控什么.用什么来监控. 虽然这次试验的软件很好用,我承认,但是他拖慢了电脑的 ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Microsoft MVP MSDN Magazine 最新期分享

    下载地址:http://1105insight.com/portal/wts/uemcmQeeDyaq%5Ev2gAe6c3b0Djd 可在线或下载查看

  2. JS获取填报扩展单元格控件的值

    1. 问题描述 填报预览时,我们想获取到某个控件的值相对来说较容易.但如果控件是扩展的,就只能获取到第一个值,无法根据扩展一行行获取对应的值. 例:本意是想获取到袁成洁,结果还是获取到第一个单元格值孙 ...

  3. DrawerLayout建立侧滑时,显示侧滑页面,底层页面仍可以有点击响应,解决办法。

    第一感觉是下层仍有焦点,解决办法应该是侧方页面出现后,下层页面的焦点改为false,应该是动态去改变焦点的状态,但是不知道如何去实现. 然后再网上找到实现方法,感谢:http://blog.csdn. ...

  4. 带你从零学ReactNative开发跨平台App开发(二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  5. 《图解HTTP》

    第一章.了解web及网络基础 1.2 http的诞生 HTTP于1990年问世,那时候HTTP并没有作为正式的标准被建立,被称为HTTP/0.9 HTTP正式作为标准被公布是在1996年5月,版本被命 ...

  6. 回归JavaScript基础(十)

    主题:创建对象 原型模式 JavaScript中的每个对象都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象,而这个对象可以由一些属性和方法组成.被指向的对象,可以是多个对象 ...

  7. C++设计模式 ==> 装饰(者)模式

    简介 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象.装饰模式使用对象嵌套的思想,实现对一个对象动态地进行选择性的属 ...

  8. November 14th, 2017 Week 46th Tuesday

    Eternity is said not to be an extension of time but an absence of time. 永恒不是时间的无限延伸,而是没有时间. What is ...

  9. 【13】python time时间模块知识点备查

    表示时间的三种形式 # 时间模块 '''UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国来说是UTC+8DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1个小时 时间的表示 ...

  10. 【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池)

    Druid.io(以下简称Druid)是2013年底开源出来的, 主要解决的是对实时数据以及较近时间的历史数据的多维查询提供高并发(多用户),低延时,高可靠性的问题. Druid简介: Druid是一 ...