zoukankan      html  css  js  c++  java
  • 20174309徐宁艺 Exp4 恶意代码分析

    一、实验目标

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

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

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

    二、实验过程

    (一)系统运行监控

    1、使用计划任务与netsta命令t运行监控

           使用计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

    • 新建一个文本文件,输入以下内容:
    date /t >> D:4309exp4
    etstat.txt
    time /t >> D:4309exp4
    etstat.txt
    netstat -bn >> D:4309exp4
    etstat.txt

           然后将选择将文件另存为4309netstat.bat文件(文件类型选所有文件)。

    • 在控制面板中打开【任务计划程序】,选择右侧【创建任务】,选择【使用最高权限】。

           新建触发器

            新建操作,选择刚刚新建的.bat文件

     

            新建完后可以看到任务,此后每隔5分钟会有命令行一闪而过,如果没有出现就是前面的过程有问题。

    • 分析数据

            参考学长的博客将文本文件的数据输入导入Excel中并制作条形图进行分析,

            依次分别是360防护墙模块、浏览器代理、火狐、flash服务助手(是个流氓弹窗进程)、IE浏览器、QQ、小娜的搜索进程、IE浏览器筛选器、搜狗输入法云计算、Windows系统文件、视频播放工具(??什么时候打开的)

           发现弹窗FlashHelperService,开开心心卸掉了。

           再对链接的IP地址进行同样的分析

            连接次数最多的是183.192.197.111:443,查询一下

            次之的是111.30.159.176:80

     

    2.sysmon工具监控系统

    • 根据需求编写xml文件
    • 下载安装sysmon

           下载SysinternalsSuite201608压缩包并解压,在命令行中进入解压目录,输入 .Sysmon.exe -i C:UsersadminDesktop4309sysmon.xml 安装sysmon。此时出现【You need to launch Sysmon as an Administrator】的错误。

            按【windows+x】键,选择【Windows PowerShell(管理员)】进入,重新进入解压目录并输入安装指令,在弹出的对话框中勾选【agree】,安装完成。

    •  查看日志

           打开事件查看器,找到【应用程序和服务日志】—>【Microsoft】—>【Sysmon】—>【Operational】,可以查看进程信息,比如火狐浏览器。

     

            打开kali启动msf监控,运行之前实验制作的后门文件,查看相关信息,可以看到4309_backdoor.exe频繁调用的进程有RuntimeBroker.exe和explorer.exe两个进程,前者是权限管理进程,后者是文件资源管理器

     

    (二)恶意软件分析

           分析该软件在(1)启动回连(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)时该后门软件

    • 读取、添加、删除了哪些注册表项
    • 读取、添加、删除了哪些文件
    • 连接了哪些外部IP,传输了什么数据(抓包分析)

    1.PE explorer

           网上随便下一个,打开后门程序。视图选择【引入】,显示如下:

           查阅资料知,MSVCRT.dll用于提供的C语言运行库执行文件。kernel32.dll是动态链接库文件,控制着系统的内存管理、数据的输入输出操作和中断处理,值得注意的是它驻留在内存中特定的写保护区域,是一个非常重要的内核级文件。ADVAPI32.dll文件是一个高级API应用程序接口服务库的一部分,调用这个dll可以实现对注册表的操控。WSOCK32.dll和WS2_32.dll这两个DLL用于创建套接字,用于网络连接。

     

    2.wireshark抓包分析

            使用wireshark对kali回连及截屏、提权、获取击键操作的过程分别进行抓包分析。wlan接口那个捕获不到kali地址的包,我是在【VMware Netwoer Adapter VWnet8】中捕包,推测可能是因为虚拟机和主机之间不是用wlan传输数据。

     

            对捕获的包进行分析,唯一的结论就是他们全部使用TCP协议进行传输.... ...这个传输的数据是什么不太会分析,打开了几个没有看太懂,推测数据可能是加密了?

     

    3.日志分析

           在kali通过后门程序控制目标机并进行截屏、提权的过程中有以下可疑进程日志

    • consent.exe,百度得知为用户控制进程,可能与提权操作有关。

    • backgroundTaskHost.exe,百度得知为照片应用进程,可能与截屏操作有关

    4.Systracer分析

           我是在两台虚拟机中进行,因为虚拟机中文件比较少,快照时间短。

    • 在Windows虚拟机中安装Systracer并进行快照,记为#1
    • 分别在下面五个操作后分别进行快照、
      • 将木马植入靶机,记为#2
      • 打开kali的msfconsle,靶机运行木马,回连kali,记为#3
      • 在kali中对靶机获取击键记录,记为#4
      • 在kali中对靶机进行屏幕截图,记为#5
      • 在kali中对靶机进行提权操作,记为#6
    •  分别进行比较,分析恶意软件的行为

           对1、2进行比较,在安装到目标机过程中增加了好多文件(救命太多了吧)

           主要是在下图中的注册表项有变化。

            查阅资料得知,HKEY_CLASSES_ROOTLocal Settings是应用程序运行时必需的信息,HKEY_CURRENT_USERSoftware包含了所安装的应用程序信息,HKEY_LOCAL_MACHINESYSTEM包括设备驱动和其他服务的描述和控制,HKEY_USERS仅包含了缺省用户设置和登录用户的信息,下面的两个文件信息没有查到,可能是与当前用户有关的注册表项。

            对2、3进行比较

            与上面的差别是多了一项HKEY_LOCAL_MACHINESOFTWARE,这个键列出了所有已安装的32位软件和程序的.ini文和程序的控制功能。

           导出快照文件后发现启动回连时添加了很多dll文件,也添加了很多dll。。。

     

           删掉了一些系统进程(也有的地方说是木马程序?)

            这里能看到回连信息

     

            对后续几个快照进行分析,注册表项的变化不大,主要是越往下级的子键在网上也很难查到相关信息。

    三、实验总结

    (一)问题回答

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

    •  sysmon监和事件查看器中查看日志
    • Systracer监控注册表和文件修改
    • 杀软会监测开机启动项

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

    • 启动该程序,利用systracer及wireshark动态分析程序动向
    • PE Explorer查看反汇编是否有不正常的数据信息

    (二)实验总结

            本次实验中对恶意软件的行为进行了分析,先对整个系统进行监控来找到可疑对象,再对可疑对象进行进一步分析,来确认其具体的行为与性质,从而找到具体的查杀方法。在分析注册表和文件的时候,由于本人这方面的知识实在匮乏,也没有分析出太多有用的信息,只能通过频繁百度大致了解一下变化情况。不过真正拥有极强的专业知识的大佬一个能借助这些工具发现问题所在,从而实现一些杀毒软件实现不了的功能,因为杀软是机器,而只有人类才有创造性。

  • 相关阅读:
    redhat,centos Linux常用命令LS之常用功能
    人生信用卡
    如何让Redhat Linux启动时进入字符终端模式(不进入XWindow)
    OpenJDK和JDK区别
    Linux rpm 命令参数使用详解[介绍和应用]
    linux 的vim命令详解
    centos6.4安装javajdk1.8
    samba服务器 实现Linux与windows 文件共享
    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换
    linux学习之 Linux下的Eclipse安装
  • 原文地址:https://www.cnblogs.com/20174309xny/p/12675768.html
Copyright © 2011-2022 走看看