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. SWF加载器控件 SWFLoaderControl

    SWF加载器控件 书:165 <?xml version="1.0" encoding="utf-8"?> <s:Application xm ...

  2. 利用css伪类编写冒泡小三角

    HTML代码 <div class="lf otherLogin"> <span>其他方式注册</span> <div class=&qu ...

  3. gitlab4.0_安装

    一,安装环境 OS:redhat7.4 二,安装依赖包 yum -y groupinstall 'Development Tools'  ===>待验证 yum -y install pytho ...

  4. 如何简单地理解Python中的if __name__ == '__main__'(https://blog.csdn.net/yjk13703623757/article/details/77918633)

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  5. programmatically detect whenever test run is in debug mode

    if (System.Diagnostics.Debugger.IsAttached)    // code or timeout value when running tests in debug ...

  6. ubuntu安装启动redis

    1.下载安装 sudo apt-get  install  build-essential wget http://redis.googlecode.com/files/redis-2.2.13.ta ...

  7. 2.sklearn库中的标准数据集与基本功能

    sklearn库中的标准数据集与基本功能 下面我们详细介绍几个有代表性的数据集: 当然同学们也可以用sklearn机器学习函数来挖掘这些数据,看看可不可以捕捉到一些有趣的想象或者是发现: 波士顿房价数 ...

  8. Necklace (全排列 + 匈牙利)

    #include<bits/stdc++.h> using namespace std; ][], Gra[][]; ]; ]; ]; bool dfs(int u, int vN) { ...

  9. 联想拯救者win10+ubuntu14.04

    之前是win10+win7,默认win10启动,win7所在磁盘直接格式化即可(如果是win10+unbuntu不能这么搞,据说会导致win10也起不来) 按F2进bios 除了按这里fast boo ...

  10. Hive中实现group concat功能(不用udf)

    在 Hive 中实现将一个字段的多条记录拼接成一个记录: hive> desc t; OK id string str string Time taken: 0.249 seconds hive ...