热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何分析APT攻击

如何分析APT攻击,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。0x1:关于

如何分析APT攻击,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

0x1:关于APT的相关介绍:

APT是什么?

      APT(AdvancedPersistent Threat)高级持续性威胁。是指组织(特别是政府)或者小团体利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。APT是黑客以窃取核心资料为目的,针对客户所发动的网络攻击和侵袭行为。

APT手法?

      APT的攻击手法,在于隐匿自己,针对特定对象,长期、有计划性和组织性地窃取数据,此类攻击行为是传统安全检测系统无法有效检测发现,前沿防御方法是利用非商业化虚拟机分析技术,对各种邮件附件、文件进行深度的动态行为分析,发现利用系统漏洞等高级技术专门构造的恶意文件,从而发现和确认APT攻击行为。由于APT的特性,导致难发现、潜在威胁大,一旦被攻击将导致企业、政府、医疗组织等等的大量数据被窃取,公司重要财务、机密被盗窃。

0x2:初探APT大门(走进内网)

DMZ区域

  A公司里,准备用一台服务器用来开放web服务以供给别人看和宣传一下自己公司的产品,小王(项目负责人)想到近来许多大公司数据都被窃取,于是他想了个办法把web服务器置于另一个网络,访问不了公司内网的一个空间,把smtp服务器、web服务器架设在dmz区里面防止因网站被入侵而导致公司数据被盗窃。

两个防火墙之间的空间被称为DMZ,与Internet相比,DMZ可以提供更高的安全性,但是其安全性比内部网络低,它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。

该缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络。因为这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。

DMZ区域既可以与外网通讯,也可以与内网通讯,但受安全策略的限制。

所以在现如今,用web服务器当跳板来入侵内网已经是不现实的了,那么有没有什么可以简单易操作,的入侵方法呢?

0x3:常见利用

你可能想到了办公套件这类神器,正所谓:最大的漏洞不是存在于任何系统上面,而是人

OFFICE 漏洞一览:

=======================================================================================




CVE-2009-2496堆损耗远程代码执行漏洞,又称作 “Office Web 组件堆损耗漏洞丰收行动
CVE-2010-3333RTF分析器堆栈溢出漏洞,又称”RTF栈缓冲区溢出漏洞”
CVE-2012-0158Microsoft Windows Common Controls ActiveX控件远程代码执行漏洞,栈内存拷贝溢出漏洞,又称“MSCOMCTL.OCX RCE漏洞”摩诃草
蔓灵花
白象
Rotten Tomato
CVE-2013-3906Microsoft Graphics组件处理特制的TIFF图形时存在远程代码执行漏洞摩诃草
白象
CVE-2014-1761Microsoft Word RTF文件解析错误代码执行漏洞摩诃草
Pitty Tiger
白象
Rotten Tomato
CVE-2014-4114OLE包管理INF 任意代码执行漏洞摩诃草
白象
CVE-2015-1641RTF解析中的类型混淆漏洞MONSOON
摩诃草
白象
奇幻熊
Rotten Tomato
丰收行动
CVE-2015-2545EPS图形文件任意执行代码Rotten Tomato
CVE-2015-2546UAF(释放后重用)漏洞
CVE-2016-7193RTF文件解析漏洞,可远程执行任意代码
CVE-2017-0199首个Microsoft Office RTF漏洞暗黑客栈
CVE-2017-0261EPS中的UAF漏洞摩诃草
白象
Turla
CVE-2017-0262EPS中的类型混淆漏洞摩诃草
白象
CVE-2017-11826OOXML解析器类型混淆漏洞东亚某组织
CVE-2017-11882“噩梦公式”公式编辑器中的栈溢出漏洞,可远程代码执行白象
响尾蛇
寄生兽
摩诃草
人面马
黑凤梨
CVE-2017-8464解析快捷方式时存在远程执行任意代码的高危漏洞
CVE-2017-8570OLE对象中的逻辑漏洞 (CVE-2017-0199的补丁绕过),“沙虫”二代漏洞白象
寄生兽
摩诃草
CVE-2017-8759.NET Framework中的逻辑漏洞
CVE-2018-0802“噩梦公式二代”利用office内嵌的公式编辑器EQNEDT32.EXE发起攻击黑凤梨
CVE-2018-0798Microsoft Office远程内存破坏漏洞
CVE-2018-8174利用浏览器0day漏洞的新型Office文档攻击

======================================================================================================

Adobe漏洞一览:

======================================================================================================

CVE-2007-5659Adobe Acrobat/Reader PDF文件 多个缓冲区溢出漏洞Adobe Acrobat 8
Adobe Reader 8
Adobe Reader 7
丰收行动
CVE-2008-2992Adobe Reader util.printf() Javascript函数栈溢出漏洞Adobe Acrobat <8.1.3
Adobe Reader <8.1.3
丰收行动
CVE-2009-0927Adobe Acrobat和Reader Collab getIcon() Javascript方式栈溢出漏洞Adobe Acrobat 9
Adobe Acrobat 8
Adobe Acrobat 7.0
Adobe Reader 9
Adobe Reader 8
Adobe Reader 7
丰收行动
CVE-2009-4324Adobe Reader和Acrobat newplayer() Javascript方式内存破坏漏洞Adobe Acrobat <= 9.2
Adobe Reader <= 9.2
丰收行动
CVE-2010-0188Adobe Reader和Acrobat TIFF图像处理缓冲区溢出漏洞Adobe Acrobat <9.3.1
Adobe Acrobat <8.2.1
Adobe Reader <9.3.1
Adobe Reader <8.2.1
丰收行动
CVE-2010-3653Adobe Shockwave Player Director文件rcsL块解析内存破坏漏洞Adobe Shockwave Player 11.5.8.612丰收行动
CVE-2012-0773Adobe Flash Player / AIR  NetStream类任意代码执行或拒绝服务漏洞Adobe Flash Player 11.x
Adobe AIR 3.x
The mask
CVE-2013-0640Adobe Acrobat和Reader远程代码执行漏洞Adobe Acrobat 9.x
Adobe Acrobat 11.x
Adobe Acrobat 10.x
Adobe Reader 9.x
Adobe Reader 11.x
Adobe Reader 10.x
丰收行动




CVE-2014-0497Adobe Flash Player远程代码执行漏洞Adobe Flash Player 12.x
Adobe Flash Player 11.x
暗黑客栈
CVE-2015-5119Adobe Flash Player ActionScript 3 ByteArray释放后重用远程漏洞Adobe Flash Player <= 18.0.0.194
Adobe Flash Player <= 18.0.0.194
Adobe Flash Player Extended Support Release 13.x
Adobe Flash Player Extended Support Release 13.0.0.296
Adobe Flash Player for Linux 11.x
Adobe Flash Player for Linux 11.2.202.468
蓝白蚁
Hacking Team
CVE-2015-8651Adobe Flash Player整数溢出漏洞Adobe Flash Player <18.0.0.324
Adobe Flash Player <11.2.202.559
Adobe Flash Player 20.x-20.0.0.267
Adobe Flash Player 19.x
Adobe AIR <20.0.0.233
暗黑客栈
CVE-2016-0984Adobe Flash远程代码执行漏洞Adobe Flash Player before 18.0.0.329 and 19.x and 20.x before 20.0.0.306BlackOasis
CVE-2016-4117Adobe Flash Player 任意代码执行漏洞Adobe Flash Player <= 21.0.0.226奇幻熊
CVE-2016-7855Adobe Flash Player 释放后重利用远程代码执行漏洞Adobe Flash Player <= 23.0.0.185
Adobe Flash Player <= 11.2.202.637

CVE-2017-11292类型混淆漏洞导致的远程代码执行Adobe Flash Player Desktop Runtime
Adobe Flash Player for Google Chrome
Adobe Flash Player for Microsoft Edge and Internet Explorer 11
Adobe Flash Player Desktop Runtime
黑色绿洲
Lazarus
CVE-2018-4878Adobe Flash Player释放后重利用远程代码执行漏洞Adobe Flash Player <= 28.0.0.137Lazarus

============================================================================

以上是一些APT用烂了的漏洞资料,接下来看看最常见的攻击方式:(来源于百度百科)

1、 鱼叉式钓鱼攻击

      由于鱼叉式网络钓鱼锁定之对象并非一般个人,而是特定公司、组织之成员,故受窃之资讯已非一般网络钓鱼所窃取之个人资料,而是其他高度敏感性资料,如知识产权及商业机密。

一次简单的点击相当于为攻击者开启了一扇电子门,这样他就可以接触到你的内部了,因为你已经同意他进入!

2、 水坑攻击

     水坑攻击是一种计算机入侵手法,其针对的目标多为特定的团体,攻击者首先通过猜测或观察确定这组目标经常访问的网站,并入侵其中一个或多个,植入恶意软件,最后,达到感染该组目标中部分成员的目的。

由于此种攻击借助了目标团体所信任的网站,攻击成功率很高,即便是那些对鱼叉攻击或其他形式的钓鱼攻击具有防护能力的团体。

3、 社会工程学

    社会工程学是一种通过人际交流的方式获得信息的非技术渗透手段。不幸的是,这种手段非常有效,而且应用效率极高。

然而事实上,社会工程学已是企业安全最大的威胁之一

我们来看看毒云藤(APT-C-01)组织的鱼叉式钓鱼攻击文档的页面

(携带漏洞文档界面,图片来源于freebuf)

如何分析APT攻击如何分析APT攻击

(携带二进制程序的文档图片来源于freebuf)

如何分析APT攻击

从上面文档内容简要来看,apt组织在事前已经对xx部门做了许多信息收集的迹象,伪造的文档如果不是内部成员很难看出端倪。

回放一下攻击流程:

如何分析APT攻击

在确定目标公司后,APT组织会开始收集目标的一切信息,如:公司用户的电子邮箱,手机号码,通讯软件号码、姓名、你的工作岗位。接着APT组织会对目标开始构造钓鱼文档并准备投放,当内部工作人员打开恶意文档了之后,电脑会触发相关的漏洞为apt成员打开了一道通往内部网络的大门,这时候他们会开始寻找存放着信息的服务器并开始攻击服务器拿到自己想要的东西后,在植入木马进行权限维持。

0x4:场景回放

     钓鱼是APT组织最常用的攻击方式,但以上数据仅表面我们只是知道了APT组织的一些攻击,并没有掌握全部资料,APT攻击隐秘,有组织,能力强。“影子经纪人”泄露的NSA武器库“EternalBlue”就是来源自APT组织“方程组”,可见APT组织的破坏力有多大。

在询问了几个大表哥后得知,现如今通过钓鱼邮件进行攻击方式在互联网上占了将近一半,在当前能找到的apt攻击防御资料中,至少有一半的攻击都是通过钓鱼邮件进行的,而于传统黑客行动不同的是,apt组织会用一切手段去攻击目标,对于他们来说,并不在乎人力、物力和财力,他们只在乎成功率。

我们来模拟一个简单的APT攻击:

环境搭建:

     Windows7虚拟机 *1
     Ubuntu  
     Windows2008 *1

我将采用几个知名漏洞来为大家演示:“震网3代”、“永恒之蓝”以及“钓鱼邮件”

这些简单便捷的0day可以为APT组织省下不少力气去花时间去破解目标系统。

实验本来是想用office漏洞+flash或者是pdf,考虑到自身硬件配置和实验时间,就粗略的讲下思路来和大家分享一下,这次选用的两个漏洞均可在msf框架里面找到对应的模块去测试。

模块编号分别为:
Cve-2017-8464
Ms17_010

生成cve-2017-8464的exp,震网三代的利用是快捷方式,把恶意快捷方式藏在u盘里面,当电脑设置自动播放,或者访问u盘时可触发漏洞

如何分析APT攻击

生成的恶意文件后,我们在目标机上面执行恶意payload,使用

exploit/multi/handler模块

进行监听

如何分析APT攻击

如何分析APT攻击

把这台“钥匙”添加到路由表里面

如何分析APT攻击


这样子我们的流量就会经过这台机子转发,接着我们使用永恒之蓝攻击服务器

如何分析APT攻击


攻击成功后我们获取了一个meterpreter会话

如何分析APT攻击


再来看看钓鱼邮件

首先我利用了cve-2017-8759

如何分析APT攻击

生成了恶意rtf文档(windows写字板可以打开或者office而且通杀office)

然后生成了一个恶意exe

把恶意rtf文档发了过去,在在目标机接收该邮件

(在这个过程中我发现邮箱附件安全检测并没有检测出恶意文档)

如何分析APT攻击

开启监听等待目标机反回的会话

如何分析APT攻击


成功获得了一个meterpreter会话!

关于如何分析APT攻击问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程笔记行业资讯频道了解更多相关知识。


推荐阅读
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
author-avatar
神話南帝冫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有