zoukankan      html  css  js  c++  java
  • Exp4 恶意代码分析

    1 实验内容

    2.1系统运行监控

    netstat工具计划任务监控

    使用netstat监控tcp、ip网络连接情况,结合windows的计划任务,每5分钟
    执行netstat -bn命令,将结果重定向到文本文件中。注意用管理员身份打开命令行。

    schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat指令创建一个任务,记录每隔两分钟计算机的联网情况。

    收集到的日志文件如下:

    我们用excel来分析一下数据。别小看了excel,他的功能很强大,我们平时用到的功能连1/10都不到。

    sysmon工具监控

    根据老师的博客,我修改到了监控器的配置文件,把微信,QQ加入白名单。

    说明一下,exclude下面的是白名单,不用监控,include下面的是黑名单,需要监控。

    接下来,用管理员身份运行命令行,用cd命令转到sysmon所在的目录下,使用sysmon.exe -i C:/Sysmoncfg.txt,安装sysmon。我的配置文件在c盘的Sysmoncfg.txt中保存。

    输入eventvwr,打开应用程序服务日志。在下方打开详细信息的友好视图,可以查看程序名、使用时间、目的ip、使用端口、通信协议类型等等信息。

    这是wps云服务,出现了好几次

    这是360tray,出现的最多,不知道是干什么用的

    这个是桌面搜索工具

    2.2 恶意软件分析

    2.2.1动态分析1—TCPView工具

    我们通过TCPView工具可以获取后门程序的网络连接信息,发现实验环境下攻击机的IP地址

    2.2.2动态分析2——Process Explorer

    Process Explorer是一款增强型的任务管理器,你可以使用它方便地管理你的 程序进程,能强行关闭任何程序(包括系统级别的不允许随便终止的”顽固”进程)。除此之外,它还详尽地显示计算机信息:CPU、内存使用情况,DLL、句柄信息,很酷的曲线图。
    本次实验,我们用它来监控Meterpreter进程迁移的行为。

    在win10运行后门程序apple.exe ,在Process中找到它的进程:

    我们找一个进程详细查看一下,这里选择notepad.exe,它的pid是7116.

    接下来,在kali虚拟机里,我们把后门迁移到notepad++.exe中去,看看Process Explorer能否监控到这个行为。果然,多了2264和8636两个线程。
    后门已经潜伏在这两个线程中了!!!

    毫不留情的关掉这两个线程。

    在kali攻击端,瞬间与靶机失去了联系,无法控制靶机了。

    2.2.3 动态分析3——systracer工具

    systracer是一款可以分析你的计算机文件,文件夹和注册表项目改变的系统实用工具。你可以在任何想要的时间获取无数个屏幕快照。

    我们用它来分析后门的运行过程。

    我的电脑文件有点多,每次快照都要花9分钟,三次快照半小时,崩溃……

    1.给win10系统快照

    2.运行apple.exe后门,kali连接到了靶机,然后快照。

    3.在kali开启meterpreter持久化,run persistence,快照。

    分析过程很简单,对三张快照进行compare。
    我们发现,快照2比快照1多了apple.exe进程

    快照3比快照2多了wkssvc这个文件,这个文件有什么用我暂时还不清楚,但肯定和持久化有关。

    2.2.4 静态分析1——PEid查看加壳

    PEid是什么呢?

    PEiD专业的查壳软件哦! 几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。PEiD能检测大多数编译语言.、病毒和加密的壳,它主要利用查特征串搜索来完成识别工作的,各种开发语言都有固定的启动代码部分,利用这点可识别是何种语言编译的,被加壳程序处理过的程序,在壳里会留下相关加壳软件的信息,利用这点就可识别是保种壳所加密的,它提供了一个扩展接口文件userdb.txt ,用启可以自定义一些特征码,这样可以识别出新的文件类型,签名的制作可以用插件Add Signature来完成!

    先分析一下我的apple.exe,显然没有加壳。

    我在kali里面,用upx给apple.exe加壳,然后检测一下,被查出来了

    上面写着,是用upx0.89.6加壳的。

    2.2.5 PE Explorer工具

    PE explorer,各位同学了解一下

    PE Explorer是一款功能强大的可视化Delphi、C++、VB程序解析器。能快速对32位可执行程序进行反编译,并修改其中资源。可直接浏览、修改软件资源,包括菜单、对话框、字符串表等; 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等 32 位可执行程序。

    欲知详情,请看帮助文档

    怎么用这个呢,很简单,把apple.exe拖进来,就能分析了

    看起来和专业的样子,是不是,有时间日期戳,符号表指针,操作系统版本号等等。

    依赖项扫描器,可以查出编译时用了什么库。我的ws2_32.dll都被扫描出来了。

    还可以反汇编,但我汇编忘了大半,看不懂……

    3 实验问题回答

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

    实践是检验真理的唯一标准,通过实践,我总结出以下几个方面。

    • 1.注册表项目
    • 2.网络连接
    • 3.开机启动项
    • 4.系统日志
    • 5.是否创建新的进程

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

    • 1.查看进程是否加壳。用PEid等查壳工具内先查壳,通过入口特征和区段特征来识别,然后脱壳。
    • 2.查看网络连接情况。用TCPView、Wireshark等网络工具查看是否存在可疑连接
    • 3.拍摄系统快照。与之前的快照进行对比,查看哪些文件,注册表发生了变化。
    • 4.用任务管理器监控进程的迁移。Process Explorer发现进程的异常行为。

    4 实验总结与体会

    上次刚做完了后门的免杀,使后门程序逃过杀软的法眼。
    这次,又要用恶意代码分析的照妖镜,使恶意进程原形毕露,无处藏身。

    有了upx加壳工具,就会有PEid查壳工具、脱壳工具;

    有了后门进程的迁移,就有了进程监控来监视各个进程的一举一动;

    有了恶意代码的tcp反弹端口连接,就有了TCPView、wireshark工具来检测各进程网络连接请求和端口号。

    俗话说,道高一尺,魔高一丈。恶意代码的伪装与分析是矛与盾的关系,这两种斗争无处不在,无时不有,异常激烈。他们相互竞争,相互制约, 同时又促进了各自的发展。矛盾的对立与统一关系,在网络攻防中体现的淋漓尽致。

    我们只有多实践,多总结,多观察,才能准确把握矛盾的规律,更好地指导网络攻防的实践与应用。

  • 相关阅读:
    lumen 错误&日志
    Composer设置忽略版本匹配的方法
    Laravel框架数据库CURD操作、连贯操作使用方法
    laravel5-目录结构分析
    Lumen 设置 timezone 时区
    phpstorm laravel单元测试 配置
    使用laravel的Eloquent模型获取数据库的指定列
    phpstorm 配置自带webserver ,配置根目录
    使用 OWIN 作为 ASP.NET Web API 的宿主
    angularjs webstorm 单元测试 Package.json
  • 原文地址:https://www.cnblogs.com/besti2015/p/8859245.html
Copyright © 2011-2022 走看看