网络对抗 Exp4 恶意代码分析

    • 实验内容

      • 系统运行监控
      • 恶意软件分析
      • 报告评分
    • 基础问题回答
    • 实践目标
    • 实验内容
      • 1. 系统运行监控——计划任务
      • 2. 系统运行监控——利用Sysmon
      • 3.1恶意软件分析—— virscan网站
      • 3.2恶意软件分析——PEID
      • 3.3恶意软件分析——PE Explorer
      • 3.4恶意软件分析——Process Monitor
      • 3.5恶意软件分析——Process Explorer
      • 3.6恶意软件分析——Systraer
      • 3.7恶意软件分析——Wireshark
    • 实验中遇到的问题及解决方法
    • 实验感想

一、基础问题回答

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

  • 使用Windows自带的schtasks指令设置一个计划任务,指定每隔一定时间记录主机的联网记录或者是端口开放、注册表信息等;
  • 通过sysmon工具,配置好想记录事件的文件,之后在事件查看器里找到相关日志文件查看;
  • 使用任务管理器->进程,监视进程执行情况,查看是否有可疑程序运行。

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

  • 使用systracer工具分析恶意软件,查看其对注册表和文件的修改,进行快照的对比。
  • virscan集合各种杀软,对指定文件进行分析定性。
  • 使用Wireshark进行抓包分析,监视其与主机进行的通信过程。

二、实践目标

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

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

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

三、实践内容

1、windows计划任务

  • 以管理员身份打开cmd,使用指令schtasks /create /TN 4310netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt创建计划任务4310netstat,记录每1分钟计算机联网情况:
  • 在c盘下手动创建一个netstatlog.txt文件

       

  • 在桌面建立一个20164310netstatlog.txt文件,内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

将后缀名改为.bat后,用管理员身份将该文件放入C盘

  • 打开计算机管理的“任务计划程序库”,可以查看到4310netstat任务就绪(这里忘记截图了)
  • 打开其属性,修改其指令为20164310netstatlog.bat
  • 可以在C盘的netstatlog.txt文件中查看到本机在该时间段内的联网记录:

2、使用sysmon工具

  • 首先创建配置文件sysmon4310.txt,并输入如下的代码:

这里需要注意的是第一行代码那个版本如果谢3.10的时候出现问题那么就要换成4.20

<Sysmon schemaversion="4.20">
<!-- 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> <NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourcePort condition="is"></SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</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>
  • 在官网上下载sysmon工具
  • 以管理员身份打开命令行,使用指令Sysmon.exe -i安装sysmon

  • 配置sysmon:输入命令Sysmon.exe -i sysmon4310.xml配置sysmon

  • 安装成功之后在事件查看器中的应用程序和服务日志下,查看Microsoft->Windows->Sysmon->Operational

  • 然后在linux对windows进行控制,点击输入getpid,得到了进程号10386,然后在Image那一行出现了正在进行的后门

3、恶意软件分析

(1) 静态分析:文件扫描

将上次生成的jar文件放到virscan上扫描:

然后点击哈勃分析:

可以看到这个后门的种种行为如关键行为,进程行为等,此恶意代码是通过一个反弹链接来控制受害主机,并在受害主机中通过创建进程,船舰删除文件,创建事件对象等等,对目标主机有很大的威胁。

(2)用peid工具识别文件格式

先把一个没有加壳的后门放进去,结果什么也没有发现

然后把一个加壳的后门放进去,发现了压缩壳

同时peid也可以进行脱壳,右下角按钮点下显示的是插件列表,其中有一些脱壳的插件,不过只是一些简单的压缩壳而已,比  如upx等。

(3)使用PE Explorer

先导入没有加壳的后门程序,点击View->Import,查看程序所引用的dll库

再导入加壳的后门

可以发现加壳之后所引用的dll库明显减少,通过百度查到了这几个dll库分别代表了什么:

KERNEL32.dll:是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理。

USER32.dll:Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。它是一个对系统很关键或很可疑的文件,易遭受木马病毒破坏导致系统找不到此文件,出现错误提示框。

msvcrt.dll:是微软在windows操作系统中提供的C语言运行库执行文件(Microsoft Visual C Runtime Library),其中提供了printf,malloc,strcpy等C语言库函数的具体运行实现。

ws2_32.dll是Windows Sockets应用程序接口, 用于支持Internet和网络应用程序。

(4)使用Process Monitor

找到了后门程序,打开看看

可以看到该后门的路径,以及是用TCP进行操作的。同时也能看到它在电脑中的位置,打开第三项Stack可以看到所引用的dll库。

(5)使用Process Explorer

我找到了我正在运行的后门程序,可以看到反弹链接的ip和端口号

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

(6)使用Systracer

点击右侧的take snapshot,存储快照(因为那个sys总是出现问题所以我快照名字比较混乱这里就不放名字了)

快照一:未移植后门程序

快照二:移植后门程序

快照三:运行后门程序并在kali中实现回连

快照四:在kali中使用dir指令

快照五:在kali中使用record_mic指令

对比快照一、二,可以发现多了个后门程序:

对照二、三可以发现多了一个TCP链接:

并且该后门文件生成了很多的文件和目录:

对照三、四,可以发现对对key_local_machine根键中的内容进行了修改:

对照快照四、五可以发现注册表中有以下变化(隔的时间有点久,今早才创建的快照四)

(7)使用wireshark

在没有进行回连的时候启动抓包,回连之后暂停抓包:

然后过滤ip(虚拟机的ip为192.168.1.104,因为只看虚拟机和主机之间的通信)得到了以下内容:

传输的数据包括Windows向Kali发出TCP同步请求包SYN,Kali给Windows发出的SYN同步请求包和确认包ACK。

 4、实验中遇到的困难和解决方法

这次实验也没遇到什么太大的困难,主要就是那个Sysmon安装不上,然后出现了以下问题:

解决办法就是你把那个xml文件放到C盘windows下,因为上面提示了那个xml文件的confugration(配置、路径)不对。

5、实验感想:

这次实验第一感觉就是信息太多,特别考验我们的信息处理能力,特别是在分析注册表修改的时候,一个点进去又会扯出很多问题,深刻感觉自己知识的缺乏,不过这些软件倒是很好用的,比上几次实验敲代码分析简单多了,希望异或能够用到他们。

2016310Exp4 恶意代码及分析的更多相关文章

  1. NetSarang软件中nssock2.dll模块被植入恶意代码技术分析与防护方案

    原文地址:http://blog.nsfocus.net/nssock2-dll-module-malicious-code-analysis-report/ NetSarang是一家提供安全连接解决 ...

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

    实验四 恶意代码分析 实验目的 1.监控自己系统的运行状态,看有没有可疑的程序在运行. 2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals ...

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

    2018-2019 20165311 网络对抗 Exp4 恶意代码分析 2018-2019 20165311 网络对抗 Exp4 恶意代码分析 实验内容 系统运行监控(2分) 恶意软件分析(1.5分) ...

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

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

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

    1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sys ...

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

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

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

    <网络对抗技术>Exp3 免杀原理与实践 Week5 一.实验目标与内容 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp ...

  8. 20164322韩玉婷 -----EXP4 恶意代码分析

    1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sys ...

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

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

随机推荐

  1. ios 传递JSON串过去 前面多了个等号

    先说下我的问题 后台让我这边把请求的参数弄成一个实体转化成 json 串放body里传给他,当然header也有设置,提前设置好了, 但是后来了解 所谓的把实体转成json串的本质就是先把实体用run ...

  2. 关于atom无限意外退出的一个原因

    atom很好用,也有开发直接使用这个工具进行编码,我经常使用,最近突然会报意外退出的错误. 再重启应用依然会报这个错,然后重启电脑后可以正常使用. 非常疑惑. 原来,是因为Shadowsocks开启的 ...

  3. Ubuntu如何百度云盘下载

    我使用Firefox浏览器下载. (1)先为浏览器下载一个插件:网盘助手 (2)通过终端安装aria2: sudo apt-get install python-apt sudo apt-get in ...

  4. 常用的phpdoc标签

    标签 说明 @access public|private|protected 描述了访问级别.当使用反射技术时,这个标签不是很有用,这是因为API能够自动获取这一特性.在PHPDoc中,用它可略去私有 ...

  5. linux压缩、解压缩和归档工具

    linux基础之压缩.解压缩和归档工具 1.压缩工具 基本介绍 为了减少文件的原来的文件大小而过多的浪费磁盘的存储空间,我们使用压缩后多文件进行存储 压缩工具的介绍 compress:把文件压缩成以. ...

  6. postman Could not get any response。

    浏览器输入地址可以返回结果,但是由于返回的json没有格式,看起来比较麻烦,用postman却报错Could not get any response. 可以注意到下面写了可能的情况:比如服务器无响应 ...

  7. 前端---js02

    主要内容 1.数组 2.字符串 3.Date日期对象 4.内置对象 5.定时器 6.DOM 7.伪数组 内置对象: 1 数组(列表) Array (1) 数组的创建 <script>//字 ...

  8. MySQL 对分组后的同类数据进行拼接字符串

    MySQL 对分组后的同类数据进行拼接字符串 写后台方法时遇到个问题,需要将表内同一订单号的操作记录流水进行简单拼接输出,不想取出来再操作,找了个mysql的方法直接操作 //group_concat ...

  9. Python项目依赖并生成requirements.txt

    一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt. 如果一个项目使用时virtualenv环境,还好办 pip ...

  10. Appium环境搭建——安卓模拟器(AVD)调试 2-运行Apk失败点的总结

    如何优化AVD模拟器运行速度? 解决方法:开启IntelHAXM 查询intelhaxm是否已经开启: sc query intelhaxm 若开启成功,则如图所示 若没有开启,可以通过BIOS打开, ...