20145319 《计算机病毒》动态分析lab3-2(实践六)

实践过程

基础分析

  • 拿到恶意代码时,首先使用PE ID打开,查看其中一些基础信息以及观察该恶意代码是否加壳,来确定下一步分析方向
  • 从结果上来看,该恶意代码并未加壳,所以我们可以进行之前我们常用的一些静态分析手段,我们最关心的,则是这个恶意代码的导入导出表信息,通过分析其中调用的函数,对我们分析该代码功能有很大帮助
  • 其中导入表函数与我们之前分析的恶意代码并无太大分别,内存操作相关的kernel32.dll提供c语言库函数wsvcrt.dll以及网络连接,套接字相关ws2_32.dll等,还有大量注册表相关函数advapi.dll.因此导出表中尤其是install相关函数则更引人关注

如何让该恶意代码自行安装

  • dll文件无法直接运行,因此需要通过加载到其他进程中完成功能,如何安装此恶意代码,则与我们之前看到的导出函数有关,从函数名上来看,最可能的函数就是installinstallA(两者在参数的字符集的要求上有所不同,功能相同),我们可以大胆猜测,通过运行恶意代码的该函数,应该就可以完成代码安装
  • rundll32.exe dll文件名,函数名

安装之后如何让这个恶意代码运行

  • 通过对比注册表,我们可以知道,该恶意代码新建了一个名为IPRIP的服务,因此我们可以通过运行该服务来运行恶意代码

怎么找到该恶意代码的宿主进程

  • dll文件无法单独运行,因此只能寄宿在其他进程中,我们先通过pe view打开,看是否能查看到信息,可以看到在可识别的字符串中,提到了一个系统进程scvhost.exe
  • 我们同时运行process exploer等软件,对进程列表进行监控,点击find搜寻lab03-02.dll我们就可以找到是哪些进程正在调用该dll文件
  • 因此我们就可以找到,其宿主进程是一个pid为1352的scvhost.exe

precess moniter工具中设置怎样的过滤器来搜集信息

  • 通过上一步的结果我们可以很清楚的找到该进程的pid,因此我们想搜集相关信息只需要限制Pid来查找即可

恶意代码中网络连接相关的特征码

  • 在查看导入表的时候,我们明确看到了其中与套接字相关的dll文件,因此该恶意代码是肯定与网络连接相关的
  • 我们再次通过Pe view来观察一下其中字符串中是否有相关信息,可以观察到其中有一个网址
  • 具体信息我们通过wirshark进行抓包分析
  • 通过对dns,以及ip地址的过滤,找到相应数据包进行分析,我们就可以知道,在访问一个serve.html的网页文件

20145319 《计算机病毒》动态分析lab3-2的更多相关文章

  1. MIT 6.824 : Spring 2015 lab3 训练笔记

    摘要: 源代码参见我的github:https://github.com/YaoZengzeng/MIT-6.824 Lab3: Paxos-based Key/Value Service Intro ...

  2. Droidbox恶意软件动态分析环境搭建

    @author : Dlive 0x01 DroidBox简介 DroidBox是一款,可以获得以下信息 1.APK包hash值 2.网络通信数据 3.文件读写操作 4.网络通信,文件读写,SMS中的 ...

  3. [操作系统实验lab3]实验报告

    [感受] 这次操作系统实验感觉还是比较难的,除了因为助教老师笔误引发的2个错误外,还有一些关键性的理解的地方感觉还没有很到位,这些天一直在不断地消化.理解Lab3里的内容,到现在感觉比Lab2里面所蕴 ...

  4. 20145319 《java程序设计》课程总结

    20145319 <Java程序设计>课程总结 读书笔记链接总结 - 20145319 第一周学习总结 - 20145319 第二周学习总结 - 20145319 第三周学习总结 - 20 ...

  5. IOS性能调优系列:使用Instruments动态分析内存泄漏

    硬广:<IOS性能调优系列>第二篇,持续更新,欢迎关注. 第一篇介绍了Analyze对App做静态分析,可以发现应用中的内存泄漏问题,对于有些内存泄漏情况通过静态分析无法解决的,可以通过动 ...

  6. 动态分析maillog日志,把恶意链接直接用防火墙禁止

    近期用 postfix + dovecot 搭建了一个邮件server, 被人当做垃圾邮件转发器,经过配置postfix 的黑白名单, postfix 提示成功的 REJECT 了垃圾邮件, 只是还是 ...

  7. 【bug记录】OS Lab3 踩坑记

    OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...

  8. 20145319 《网络渗透》MS08_067安全漏洞

    20145319 <网络渗透>MS08_067安全漏洞 一 实验内容 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单的渗透操作 了解漏洞MS08_067的相关知 ...

  9. 20145319 《网络渗透》免考—API拦截技术

    20145319 <网络渗透>免考-API拦截技术 概述 本次实验在window环境下进行,主要通过编写hook代码和注入程序,将我们的hook代码通过dll文件的形式注入到目标中,拦截其 ...

随机推荐

  1. .Net拾忆:从List去除重复-拾忆集合

    方法1: private static List<int> DistinctList(List<int> list) {//去除重复 HashSet<int> ha ...

  2. iOS UI进阶-5.0 蓝牙/加速计/传感器

    传感器 实现代码: #import "ViewController.h" @interface ViewController () @end @implementation Vie ...

  3. 30.get和post的区别

    POST和GET的区别 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个 ...

  4. gitlab4.0_工程提交

    一,环境 gitlab         linux系统 IP :10.2.177.31   ==>(我已经申请了一个账户 A@A) 客户端      windows系统 IP:10.2.256. ...

  5. DOS命令下映射虚拟磁盘(驱动器)

    ---恢复内容开始--- subst命令,用于路径替换,进入dos窗口,键入“subst /?”(t和/之间有空格),会看到关于subst的用法如下: C:\Users\Administrator&g ...

  6. ubuntu修改时区

    1.网上大部分解决办法是命令tzselect,然后选择亚洲-->中国->上海,但很遗憾,一点效果没有: 2.后找到解决办法,运行命令dpkg-reconfigure tzdata,选择As ...

  7. 区别JS中类的静态方法,静态变量,实例方法,实例变量

    1.类的静态方法 先来段代码之后分析 // JS类静态函数 function BaseClass() { } // 类添加add函数 BaseClass.add = function() { cons ...

  8. JavaScript--函数、匿名函数和自执行函数详解

       函数的声明及调用 1.函数的声明格式:        function 函数名([参数1],[参数2],.....){          //函数体代码          [return 返回值 ...

  9. XML系列之--对电文格式XML的简单操作(三)

    前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...

  10. Eclipse中tomcat更改部署路径 deply path

    默认是部署在项目元数据文件夹.metadata文件夹下,需要更改到tomcat/webapps目录下 Eclipse中tomcat service设置 选择window ----show view-- ...