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. NodeJs笔记 : express框架创建工程 ----- 路由设计

    一.搭建工程 1 .安装 express-generator $ npm install -g express-generator 2 .本地创建express项目 $ express -e blog ...

  2. linux脚本文件执行的方法之间的区别

    sh/bash sh a.sh bash a.sh 都是打开一个subshell去读取.执行a.sh,而a.sh不需要有"执行权限",在subshell里运行的脚本里设置变量,不会 ...

  3. [ Windows BAT Script ] BAT 脚本获取windows权限

    BAT 脚本获取windows权限 @echo off echo I am trying to run as Administrator %1 %2 ver|find "5."&g ...

  4. 十一 JS继承

    // time:2016.2.1 // des:继承 function Enemy() { this.level = 50; console.log("Enemy constructor&q ...

  5. JavaScript(六):错误处理机制

    1.Error()构造函数 javascript解析或执行语句时,一旦发生错误,js引擎会将其抛出! JavaScript原生提供了Error()构造函数,所有抛出的错误都是这个构造函数的实例(即对象 ...

  6. 转:php 5.5源码安装全过程

    下载 PHP 源码包 # wget http://cn2.php.net/distributions/php-5.5.15.tar.bz2 # tar xf php-5.5.15.tar.bz2 -C ...

  7. QNetworkAccessManager

    [1]头文件 想要利用QNetworkAccessManager类,必须在pro文件中添加对应库network,如下: QT += network 如果利用的VS + QT开发环境,请参考随笔< ...

  8. pcb走线注意事项笔记

    一.高压隔离. PCB的安全距离: 1.电气间隙或者叫做控件距离. (两相邻的后者一个到相邻电机壳表面的沿空气测量的最短距离,电气间隙的决定,根据测量的工作电压以及绝缘等级就可以决定距离.) a.一次 ...

  9. MongoDB遇到的疑似数据丢失的问题。不要用InsertMany!

    最近做数据备份的时候发现了有个很严重的问题,那就是数据丢失(最后证明没丢,是别的问题造成的). 问题如下: 我通过两种方式在两个mongoDB集群中,对一组collection进行备份,最后2个备份数 ...

  10. JS神经网络deeplearn.js:浏览器端机器智能框架

    JS神经网络deeplearn.js:浏览器端机器智能框架 通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型. deeplearn.js 以 TypeS ...