2017-2018-2 《网络对抗技术》 20155322 Exp4 恶意代码分析


[-= 博客目录 =-]

  • 1-实践目标

    • 1.1-实践介绍
    • 1.2-实践内容
    • 1.3-实践要求
  • 2-实践过程
    • 2.1-Mac下网络监控
    • 2.2-Windows下网络监控
    • 2.3-Mac下恶意软件分析
    • 2.4-Windows下恶意软件分析
    • 2.5-基础问题回答
  • 3-资料

1-实践目标

1.1-恶意代码分析

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
  • 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。

返回目录

1.2-实践内容

  • 系统运行监控(2分)

    • 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
    • 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
    • 实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
  • 恶意软件分析(1.5分)
    • 分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。
    • 该后门软件读取、添加、删除了哪些注册表项;读取、添加、删除了哪些文件;连接了哪些外部IP,传输了什么数据(抓包分析)
    • 该实验重点在“分析”,不是“如何使用某软件”。组长、课题负责人要求写细一点,其他人可以重点放在分析上。

返回目录

1.3-实践要求

  • 基础问题回答

    • 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
    • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
  • 实验总结与体会
  • 实践过程记录
  • 报告评分 1.5分
    • 报告整体观感 0.5分
    • 报告格式范围,版面整洁 加0.5。
    • 报告排版混乱,加0分。
  • 文字表述 1分
    • 报告文字内容非常全面,表述清晰准确 加1分。
    • 报告逻辑清楚,比较简要地介绍了自己的操作目标与过程 加0.5分。
    • 报告逻辑混乱表述不清或文字有明显抄袭可能 加0分

返回目录

2-实践过程

2.1 Mac下网络监控

我使用的操作系统是MacOS,因为已经用了很多年所以非常不情愿还是一直再拿Windows做实验……但是做新东西=花更多的时间,我的时间也很紧,Mac下的这些成果都是自己花时间在网上学习的,比较浅显但符合实验要求,若有不足望理解和指正,还有部分没有提到的信息可参考MacOS下netstat和lsof使用的若干问题这篇博客。

刚开始,我先寻找Mac中关于这方面的一些工具,来满足以下几个要求:

  1. 哪些进程在联网
  2. 连接的外部IP是哪里
  3. 对那些文件进行了操作
  4. 对结果过滤、统计、分类

花费了一些时间,确定了一个比较适合我的组合:

  1. 确定哪些进程在联网:netstat+lsof指令(原生)
  2. 外部IP:网络实用工具(Mac自带)+NetworkUtilty X(花了我18块大洋)
    网络实用工具:

    NetworkUtilty X:
  3. 文件操作:活动监视器(Mac自带)
  4. 统计分析:number表格(Mac自带)

    介绍就免了,参考前言里面的博客,我们直接进入正题:
    首先我们先观察一下联网进程:netstat -an(像计划任务那样间隔更新可以使用-w参数,这里不做使用)

    Active Internet connections (including servers)
    Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
    tcp4       0      0  192.168.3.59.51013     64.233.189.101.443     SYN_SENT
    tcp4       0      0  192.168.3.59.51011     17.248.160.84.443      ESTABLISHED
    tcp4       0      0  192.168.3.59.51010     17.248.156.9.443       ESTABLISHED
    tcp4       0      0  192.168.3.59.51009     58.205.214.147.443     ESTABLISHED
    ……

    上面是某段记录,那么我想知道64.233.189.101这个使用了443端口的IP是什么:

    我甚至能在地球上定位他的服务器位置:

    谷歌的进程应该是没问题的,但是我好奇,我就要看看它做了啥(强行分析)。
    既然它用了443端口,那么我看看443端口都有哪些进程在用吧:lsof -i :443

    COMMAND    PID USER   FD   TYPE           DEVICE SIZE/OFF NODE NAME
    Google     995  mac   12u  IPv4 0xb1e186b93fa95b      0t0  TCP 192.168.3.59:51181->ti-in-f113.1e100.net:https (SYN_SENT)
    Google     995  mac   84u  IPv4 0xb1e186b93a5d3b      0t0  TCP 192.168.3.59:51134->52.187.123.66:https (ESTABLISHED)
    Google     995  mac  104u  IPv4 0xb1e186c60e8d3b      0t0  TCP 192.168.3.59:51185->ti-in-f102.1e100.net:https (SYN_SENT)
    Google     995  mac  105u  IPv4 0xb1e186b9483d3b      0t0  TCP 192.168.3.59:50974->146.185.175.64:https (ESTABLISHED)
    Google     995  mac  108u  IPv4 0xb1e186c543895b      0t0  TCP 192.168.3.59:51191->ti-in-f102.1e100.net:https (SYN_SENT)
    Google     995  mac  111u  IPv4 0xb1e186b91fa95b      0t0  TCP 192.168.3.59:51182->ti-in-f113.1e100.net:https (SYN_SENT)
    Google     995  mac  114u  IPv4 0xb1e186b92813db      0t0  TCP 192.168.3.59:51169->104.19.194.102:https (ESTABLISHED)
    Google     995  mac  116u  IPv4 0xb1e186b91f9ffb      0t0  TCP 192.168.3.59:51186->ti-in-f100.1e100.net:https (SYN_SENT)
    Google     995  mac  121u  IPv4 0xb1e186b94833db      0t0
    ……

    好吧都是你(此时我正在用chrome看博客),行吧,网络部分看起来没问题嘛,那我看看你动了我什么文件:lsof -p 995

    MacBook-Air:~ mac$ lsof -p 995
    COMMAND   PID USER   FD      TYPE           DEVICE   SIZE/OFF       NODE NAME
    Google    995  mac  cwd       DIR              1,4       1120          2 /
    Google    995  mac  txt       REG              1,4      19072 8595250658 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    Google    995  mac  txt       REG              1,4   26771408 8596864393 /usr/share/icu/icudt59l.dat
    Google    995  mac  txt       REG              1,4      24576    6205008 /Users/mac/Library/Application Support/Google/Chrome/Default/QuotaManager
    Google    995  mac  txt       REG              1,4       7168    6205019 /Users/mac/Library/Application Support/Google/Chrome/Default/databases/Databases.db
    ……

    先贴这么多,其实这步通过活动监视器观看对人更加友好一点:


    终端显示的非常详细,我们可以知道进程号,使用的用户,文件类型等等,甚至在那个磁盘分区里面用都会记录,NODE也出来了,已经底层到逻辑存储的地步了,非常nice,我可以通过直观的看到chrome用到的我本地的全部文件,嗯,看起来并没有什么问题。
    记录太多了,在Mac的终端和活动监视器里看起来太麻烦了怎么办?number表格给我提供了解决方案:

    通过设置过滤条件可以很方便的来调出想要的数据,或者通过数据生成图表,这个类似Excel,如果不熟悉可以通过number导出到Excel来进行操作,也是很方便的。

返回目录

2.2 Windows下网络监控

这个网络监控我是使用Windows7的系统,如老师教程一样,配合windows计划任务与netstat命令来进行监控,并把数据输入到Excel表格中。

结合windows自带的计划任务,每5分钟执行netstat -bn这条指令(这跟Mac中的很像),并将结果重定向到一个txt文件当中。
首先先建一个脚本:

date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

下面创建计划任务:
创建成功,等待,完成后将结果导入Excel表格,同样的和如上的Mac网络监控一样,我们可以通过其信息进行一定的分析操作,这个过程我就不再描述一遍了,没意义。
下面是为了完成实验要求,使用老师提供的Sysmon工具:

待未完。

返回目录

2.3 Mac下恶意软件分析

在网上找来了半天,没发现MacOS有什么可以用的后门生成工具……这也是Mac比较安全的原因?(强行解释为什么我不装杀软)其实最有效的还是一句“no zuo no die”,管住自己比任何杀软都要有效(好吧其实我买不起软件)。

这个没找到,不是找不到,是没时间去找了,所以这里我贴几个网上的案例:
EasyDoc Converter
恶意软件,技术名称为“Backdoor.MAC.Eleanor”,是一个允许用户通过在小窗口拖动转换文件的Mac应用程序,但暗地里下载并运行恶意脚本,这些脚本在启动时安装并注册三个新组件:Tor隐藏服务、PHP网络服务以及Pastebin客户端。

  • 原理为:Backdoor.MAC.Eleanor为Mac创建一个.onion地址,Tor服务自动将受感染的计算机连接至Tor网络,并生成一个.onion域名,攻击者可以通过这个域名只使用一种浏览器访问用户系统。
    PHP网络服务是连接的接收端,负责将从攻击者控制面板接收的命令解译至本地Mac操作系统。
    Pastebin代理干预作用体现在:通过RSA与算法使用公共密钥对Pastebin URL加密后,Pastebin代理获取本地生成的.onion域名并将其上传至Pastebin URL。
  • 后果:Backdoor.MAC.Eleanor能让罪犯操控并与本地文件系统交互、发起反向shell(Reverse shell)执行root命令,并发起和执行所有类型的PHP、PERL、Python、Ruby、Java或C语言脚本。
    此外,攻击者还可以罗列在本地运行的应用程序,使用被感染的计算机发送电子邮件,并使用被感染计算机作为中介点连接并管理数据库,以及扫描开放端口的远程防火墙。
    被感染的计算机基本上就成了攻击者“僵尸网络”的僵尸主机(bot),攻击者随时可以利用僵尸主机发送大量垃圾邮件、窃取被感染系统的敏感数据,将其作为DDoS攻击的僵尸主机或安装其它恶意软件。

Skype API
桌面端API,这个API可以为本地程序或插件提供相应的功能接口,第三方应用可以通过这个桌面API来与Skype的服务器进行通信。攻击者利用Skype桌面API中的这个安全问题来绕过其身份验证机制。恶意软件可以使用客户端名称标识符“SkypeDashbd Wdgt Plugin”来将自己伪造成SkypeDashboard的Widget插件程序,并绕过其身份验证机制直接与桌面API进行交互。

  • 原理:当其他程序尝试访问桌面API的时候,系统会向用户发出通知,并请求用户同意操作。而此时,通过后门来通知桌面API的用户其工作机制与正常的通知流程是不一样的。如果使用这个后门,那么用户将不会收到系统的任何通知,而这也就意味着用户根本就没有机会去拒绝访问。这将允许任何应用程序在用户毫不知情的情况下通过这个后门来访问桌面API。
    而且,Skype也不会对访问桌面API的程序进行验证,因为这些第三方程序会将自己伪装成SkypeDashboard插件程序。这也就意味着,任何的第三方应用(包括恶意软件)都可以利用Skype桌面API来实施非法操作。
  • 后果:在之前的版本中,应用程序可以使用这个桌面API来访问Skype所提供的全部服务。这些服务包括但不仅限于:消息接收通知(以及消息内容)、修改信息、创建聊天会话、记录Skype的语音通话信息、以及检索用户的通讯录。在之后的版本中,桌面API访问消息内容的这个功能已经被去除了,但是其他的功能仍然保留了下来。

Fruitfly
后门,攻击者可利用其对受感染系统的进行完全控制,实现众多监视操作。VirusTotal恶意软件检测服务的统计显示:57款杀毒软件中,仅有22款可以检测到Fruitfly。

  • 后果:Fruitfly可以捕捉屏幕截图、按键、网络摄像头图像,并从受感染Mac偷取数据。
    它能执行shell命令、截图、控制鼠标动作、结束进程、甚至会在用户使用Mac时为攻击者发出警示信息。

海莲花(OceanLotus)
后门,已经有了各种各样的改进。一些改进包括病毒文件的使用,去除使用命令行工具,完善的字符串编码机制,使用加密的自定义二进制协议通信量,还有一个模块化的后门。

返回目录

2.4 Windows下恶意软件分析

待未完。

返回目录

2.5 基础问题回答

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

    • 这个在之前就已经分析过了:1. 哪些进程在联网2. 连接的外部IP是哪里3. 对那些文件进行了操作4. 对结果过滤、统计、分类,方法就是原生指令+活动监视器发现问题进程,网络实用工具或者NetworkUtilty X分析IP信息,原生指令leof+活动监视器调查文件使用情况。
  • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
    • 原生指令leof+活动监视器可以有效调查文件使用情况,主要调查该进程使用、修改或者关联的文件。

返回目录

3-参考资料&实践体会

实践体会

通过这次实践,我发现学好网络攻防需要很多综合性的知识,我为了写这边博客学习(复习?)的前置知识……保守估计看了40+以上的博客,我甚至还看了《操作系统原理》(为什么参考MacOS下netstat和lsof使用的若干问题)也可以看我的朋友圈2333。
我感觉分析进程、监控系统也是个综合性比较强的操作,需要掌握一些操作系统进程、文件相关知识,需要了解网络方面的知识,需要掌握一些系统指令和调用参数,需要从一堆信息中看出问题,我觉得需要很多知识的积累,很多操作我都是一知半解,想掌握不是一时半会儿能了解的。
收获也是有的,大概了解了分析恶意代码的一个流程,也自己摸索出了套路,感觉时间花的还是很值得的。
但是路还是很长,慢慢来吧。

参考资料

返回目录

原文地址:https://www.cnblogs.com/blackay03/p/8850338.html

时间: 2024-08-29 04:56:52

2017-2018-2 《网络对抗技术》 20155322 Exp4 恶意代码分析的相关文章

2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析

2018-2019-2 网络对抗技术 20165232 Exp4 恶意代码分析 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 2.实践内容概述 系统运行监控 使用如计划任务,每隔一分钟记

2018-2019-2 网络对抗技术 20165318 Exp4 恶意代码分析

2018-2019-2 网络对抗技术 20165318 Exp4 恶意代码分析 原理与实践说明 实践目标 实践内容概述 基础问题回答 实践过程记录 1.使用schtasks指令监控系统 2.使用sysmon工具监控系统 恶意软件分析 3.使用VirusTotal分析恶意软件 4.使用PEiD分析恶意软件 5.使用PE Explorer分析恶意软件 6.使用Process Monitor分析恶意软件 7.使用Process Explorer分析恶意软件 8.使用systracer分析恶意软件 9.

2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析

- 2018-2019-2 网络对抗技术 20165206 Exp4 恶意代码分析 - 实验任务 1系统运行监控(2分) (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不.如果想进一步分析的,可以有针对性的抓包. (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为

2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析

2018-2019-2 网络对抗技术 20165225 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 报告内容 使用schtasks指令监控系统

2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析

2018-2019-2 20165205<网络对抗技术>Exp4 恶意代码分析 实验要求 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 基础问题 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想

2018-2019-2 网络对抗技术 20165322 Exp4 恶意代码分析

2018-2019-2 网络对抗技术 20165322 Exp4 恶意代码分析 目录 实验内容与步骤 系统运行监控 恶意软件分析 实验过程中遇到的问题 基础问题回答 实验总结与体会 实验内容与步骤 系统运行监控 (一)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不.如果想进一步分析的,可以有针对性的抓包. 在windows命

20165101刘天野 2018-2019-2《网络对抗技术》Exp4 恶意代码分析

20165101刘天野 2018-2019-2<网络对抗技术>Exp4 恶意代码分析 1. 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 2. 实践内容 2.1 系统

2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析

Exp4 恶意代码分析 目录 一.实验目标 (1)监控你自己系统的运行状态,看有没有可疑的程序在运行. (2)分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. (3)假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 二.基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一

2018-2019-2 网络对抗技术 20165305 Exp4 恶意代码分析

Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 2.实践内容 2.1系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联

2019-2020-1 20175313张黎仙《网络对抗技术》Exp4 恶意代码分析

目录 一.实验目标 二.预备知识 三.实验内容 任务一:系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不.如果想进一步分析的,可以有针对性的抓包. (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为. 任务二:恶意软件分析 (1)安装到目标机,启动回