一文搞懂APT攻击

APT攻击

    • 1. 基本概念
    • 2. APT的攻击阶段
    • 3. APT的典型案例
    • 参考

1. 基本概念

高级持续性威胁(APT,Advanced Persistent Threat),又叫高级长期威胁,是一种复杂的、持续的网络攻击,包含高级、长期、威胁三个要素。

  • 高级是指执行APT攻击需要比传统攻击更高的定制程度和复杂程度,攻击人员通常根据需要开发更高级的工具,这需要花费大量时间和资源对目标进行扫描分析,挖掘研究系统漏洞
  • 长期是为了达到特定目的,过程中“放长线”,持续监控分析目标,确保对目标保有长期访问权
  • 威胁强调的是人为参与策划的攻击,攻击目标是高价值的组织,攻击一旦得手,往往会给攻击目标造成巨大的经济损失或政治影响

主要特点

  • 攻击者组织严密:有组织发起的攻击,可能具有军事或政治目的,有时会与某个国家关联在一起,而且背后往往有强大的资金及资源支持。
  • 针对性强:攻击者不会盲目攻击,一般会很有针对性的选择一个攻击目标,该目标往往具有军事、政治、经济上的较高价值。
  • 技术先进:APT攻击的恶意代码变种多且升级频繁,结合尚未发布的零日漏洞,使得基于特征匹配的传统检测防御技术很难有效检测出攻击。
  • 隐蔽性强:APT攻击者具有较强的隐蔽能力,不会像DDoS攻击一样构造大量的报文去累垮目标服务器,基于流量的防御手段很难发挥作用;在整个过程中都会使用高级逃逸技术来刻意躲避安全设备的检查,在系统中并无明显异常,基于单点时间或短时间窗口的实时检测技术和会话频繁检测技术也难以成功检测出异常攻击。
  • 持续时间长:攻击者一般都很有耐心,渗透过程和数据外泄阶段往往会持续数月乃至数年的时间。

2. APT的攻击阶段

APT攻击者通常是一个组织,从瞄准目标到大功告成,要经历多个阶段。洛克希德-马丁公司提出的网络攻击杀伤链 Cyber-Kill-Chain包括以下七个阶段。

在这里插入图片描述

(1)信息收集

RECONNAISSANCE

攻击者选定目标后,首先要做的就是收集所有跟目标有关的情报信息。这些情报可能是目标的组织架构、办公地点、产品及服务、员工通信录、管理层邮箱地址、高层领导会议日程、门户网站目录结构、内部网络架构、已部署的网络安全设备、对外开放端口、企业员工使用的办公OS和邮件系统、公司web服务器的使用的系统和版本等等。

(2)武器构建

WEAPONIZATION

信息收集完成后,就要考虑如何渗透到组织内部。从钓鱼邮件、web服务器还是U盘入手?如果是钓鱼邮件,利用哪种客户端软件的零日漏洞?如果是web服务器,目标用户最常去的网站有哪些?

收集信息越多,社会工程攻击就越无缝可击。通过员工在LinkedIn上的信息,可以用鱼叉式钓鱼获得公司内部资源。或者可以把远程访问木马提前嵌入可能会录入重要信息的文件里,以诱使接收者运行它。如果知道用户或服务器运行的软件信息,比如操作系统版本和类型,在企业网络里渗透和布置的机会就大大增加。

渗透手段确定后,下一步则需要制作特定的恶意软件。通常,攻击者所在组织会有专门的团队从事零日漏洞的挖掘和利用,他们也会密切关注一些漏洞报告平台上的最新公告,利用这种公开或半公开披露的漏洞原理以及可能的POC代码来进一步制作自己的趁手武器,例如带有恶意代码的pdf文件或office文件。这种恶意代码被称作shellcode,往往短小精悍,采用代码混淆、加壳、加密等反侦测手段,并在投递之前用各种最新的防病毒软件检测一遍,以期在投递到目标网络之后尽可能不被发现。

(3)载荷投送

DELIVERY

恶意软件制作好,下一步是把它投递到目标网络内。常用的手法包括邮件的附件、网站(挂马)、U盘等。

  • 对于钓鱼邮件攻击,黑客务必要精心构造一封足以乱真的邮件内容,邮件标题、邮件内容、附件的名称和类型,都要让收件者放松警惕,产生兴趣,最终打开邮件附件或邮件正文中的URL链接。例如2020 年结合疫情热点发送钓鱼邮件或制作诱饵文件,成为了全球高级持续性威胁的普遍趋势。
  • 对于网站(挂马),要根据攻击目标的兴趣爱好,选择一个合适的网站下手,这个网站必须存在可被利用的零日漏洞,然后对网站展开渗透和攻击,攻破后放上一个能自动在后台进行下载的脚本,让访问该网页的目标用户在不知不觉中就把含有恶意软件下载到本地,同时利用浏览器漏洞来安装执行。
  • 而使用U盘载体来投递恶意软件的攻击行为,一般需要近距离的接触。当攻击目标不在internet上,不连接外网时,是一种手段。

(4)漏洞利用

EXPLOITATION

当目标用户使用含有漏洞的客户端程序或浏览器打开带有恶意代码的文件时,就会被恶意代码击中漏洞,下载并安装恶意软件,恶意软件通常是一个体积很小的远程控制工具,业内简称为RAT(即Remote Administration Tool,或Remote Access Trojan),用于与控制服务器建立C&C信道。恶意程序一般还会提升权限或添加管理员用户,把自己设置为开机启动,甚至在后台悄悄关闭或修改主机防火墙设置,以让自己尽可能不被发现。

(5)安装植入

INSTALLIATION

通常情况下,攻击方安装一个持续后门或植入,可以长时间访问目标的工具终端防御检测和记录“异常”安装活动。

同一个组织机构内部的办公主机往往都是相同的系统、类似的应用软件环境,因此很大程度上具备相同的漏洞,攻陷一台内网主机后,恶意程序会横向扩散到子网内其他主机或纵向扩散到企业内部服务器。由于RAT具备键盘记录和屏幕录像功能,因此很容易获取用户的域密码、邮箱密码及各类服务器密码。

(6)命令控制

COMMAND & CONTROL

一旦威胁软件在目标的网络环境里扎根,恶意软件将打开通信信道,以使攻击方远程操作目标。它可能下载额外的组件,更有可能的是通过C&C通道联系一个僵尸网络主控机。

(7)完成目标

ACTION ON OBJECTIVES

攻击者成功地破坏、瘫痪或渗入系统后,攻击者可转移到另一个阶段——盈利。攻击者可能采取任意形式的组合,比如,通过破坏基础设施来进行广告欺诈或发送垃圾邮件、向企业勒索赎金、出售他们在黑市上获得的数据,甚至劫持基础设施出租给其他罪犯。

攻击者的每一步过程中都通过匿名网络、加密通信、清除痕迹等手段来自我保护,在机密信息外发的过程中,也会采用各种技术手段来避免被网络安全设备发现。一方面化整为零,将机密信息打散、加密或混淆,避免DLP设备通过关键字扫描发现泄密;另一方面会限制发送的速率,以尽量不超过各类安全设备的检测阈值。

3. APT的典型案例

Google Aurora极光攻击、震网攻击是2010年著名的APT攻击,也是APT攻击的典型案例。而近年来,供应链、远程办公、移动终端成为攻击的切入点,例如2020年末的SolarWinds供应链事件。

(1)Google Aurora极光攻击

Google Aurora极光攻击是由一个有组织的网络犯罪团伙精心策划的有针对性的网络攻击,攻击团队向Google发送了一条带有恶意连接的消息,当Google员工点击了这条恶意连接时,会自动向攻击者的C&C Server(Command and Control Server)发送一个指令,并下载远程控制木马到电脑上,成为“肉鸡”,再利用内网渗透、暴力破解等方式获取服务器的管理员权限,员工电脑被远程控制长达数月之久,其被窃取的资料数不胜数,造成不可估量的损失。

(2)震网攻击

2010年,“震网”病毒(Stuxnet)成功攻击了伊朗核设施的离心机,仅仅2个月,报废离心机约1000台。据报道,“震网”是由多个国家发起的针对伊朗核设施的定向网络攻击事件, 但一个编程错误使蠕虫扩散到了其它不支持的操作系统上,才导致其在2010年6月被捕获。

“震网”利用了7个漏洞,其中4个是零日漏洞。由于攻击目标不在Internet上,不连接外网,与外界物理隔离,理论上不会遭遇外界攻击。初期“震网”是经由特工之手将U盘插入目标系统或网络的。“震网”还应用了非常多的隐身、伪装、欺骗手法,例如,它的漏洞利用程序瞄准的是系统内核级别,以此逃脱反病毒软件的扫描,实现“隐身”;它会仔细跟踪自身在计算机上占用的处理器资源情况,只有在确定震网所占用资源不会拖慢计算机速度时才会将其释放,以免被发现,它还盗用了两家公司的数字签名。

(3)SolarWinds供应链事件

2020年12月网络安全公司 FireEye披露其公司购置的网管软件厂商SolarWinds相关软件中存在后门,该后门通过HTTP与第三方服务器进行通信。SolarWinds对全球客户展开排查,经排查发现,多家大公司均被攻击者通过该软件作为入口而成功渗透。此外,多个政府机构也可能已经沦陷;世界500强企业中,也有超过9成受到影响;全球至少30万家大型政企机构受到影响。

参考

  1. 360安全大脑
  2. 知道创宇安全威胁情报
  3. 安全资讯平台
  4. 安全牛威胁情报

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/95784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超声波气象站——环境监测领域强大助手

超声波气象站是环境监测领域的一位强大助手,超声波气象站是一种综合型的气象设备,精巧而全面,满足人们对环境状况的深入了解和精准把握。 首先,超声波气象站的传感器部分,是它的核心组成部分,这位“感知者”…

PHP 行事准则:allow_url_fopen 与 allow_url_include

文章目录 参考环境allow_url_fopenallow_url_fopen 配置项操作远程文件file 协议 allow_url_includeallow_url_include 配置项 allow_url_include 与 allow_url_fopen区别联系默认配置配置项关闭所导致异常运行时配置ini_set()限制 参考 项目描述搜索引擎Bing、GoogleAI 大模型…

Elasticsearch数据操作原理

Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个…

Linux 本地 Docker Registry本地镜像仓库远程连接

Linux 本地 Docker Registry本地镜像仓库远程连接 Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,不受本地局域网限制! 1. 部署Docker Registry 使用官网安装方式,docker命令一键启动,该命令启动一个regis…

JVM-满老师

JVM 前言程序计数器,栈,虚拟机栈:本地方法栈:堆,方法区:堆内存溢出方法区运行时常量池 垃圾回收垃圾回收算法分代回收 前言 JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件&#xff…

虫情测报灯如何实现自动化测报?

一、KH-CQPest虫情测报灯的工作过程 虫情测报灯是新一代的图像式虫情测报智能设备,在农业虫害防治领域拥有独特魅力,它内置高像素的摄像头,能够精准记录并将照片上传至智慧农业平台识别害虫的形态、种类。虫情测报灯运用现代光电数控集成技术…

Netty(四)NIO-优化与源码

Netty优化与源码 1. 优化 1.1 扩展序列化算法 序列化,反序列化主要用于消息正文的转换。 序列化:将java对象转为要传输对象(byte[]或json,最终都是byte[]) 反序列化:将正文还原成java对象。 //java自带的序列化 // 反序列化 b…

SpringBoot自带模板引擎Thymeleaf使用详解①

目录 前言 一、SpringBoot静态资源相关目录 二、变量输出 2.1 在templates目录下创建视图index.html 2.2 创建对应的Controller 2.3 在视图展示model中的值 三、操作字符串和时间 3.1 操作字符串 3.2 操作时间 前言 Thymeleaf是一款用于渲染XML/HTML5内容的模板引擎&am…

[unity]保存文件的路径设置

序 比如,序列化了一个数组,保存到磁盘上。 原来的路径是"D://test.bin",能跑,但是有点问题:序列化出来的文件和原项目离的太远,不好管理。 要是能保存到unity工程的文件夹里就好了。这个路径该…

学习记忆——方法篇——整除特点

理解记忆法 对于数的整除特征大家都比较熟悉:比如4看后两位(因为100是4的倍数),8看后三位(因为1000是8的倍数),5末尾是0或5,3与9看各位数字和等等,今天重点研究一下3,9,…

毕设-原创医疗预约挂号平台分享

医疗预约挂号平台 不是尚医通项目,先看项目质量(有源码论文) 项目链接:医疗预约挂号平台git地址 演示视频:医疗预约挂号平台 功能结构图 登录注册模块:该模块具体分为登录和注册两个功能,这些…

小样本学习——匹配网络

目录 匹配网络 (1)简单介绍: (2)专业术语 (3)主要思想 (4)训练过程 问题 回答 MANN 匹配网络 (1)简单介绍: Matching netwo…

创新家庭办公室:打造完美工作空间的秘诀

一个精心策划的家庭办公室有很多好处,何不把临时工作区升级改造为你的专属工作区呢,还能为这些至关重要的区域注入新的活力。 创造多用途的起居室:我们大多数人都不曾拥有一个可以完全根据工作需求设计的独立家庭办公室——所以有时候要找到…

【锁的区别】C++线程库和POSIX线程库锁的区别

C线程库和POSIX线程库锁的区别 C线程库代码段的互斥:mutex、recursive_mutex、timed_mutex、recursive_timed_mutex互斥量mutex:直接进行lock()或者unlock()递归互斥锁recursive_mutex:可以多次加锁,意味着加几次锁就需要解几次锁…

【C++】:类和对象(2)

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux的基础知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数…

netcore Polly.Core

一、安装包 <PackageReference Include"Polly.Core" Version"8.0.0" /> 二、编写重试 ResiliencePipeline pipeline new ResiliencePipelineBuilder().AddRetry(new RetryStrategyOptions{MaxRetryAttempts 2,Delay TimeSpan.FromSeconds(3),O…

王杰国庆作业day6

服务器 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <my_head.h> #define PORT 2324 //端口号 #define IP "192.168.10.107" //本机IP int main(int argc, const char *argv[]) {sqlite3* d…

【JavaEE】JUC(Java.util.concurrent)常见类

文章目录 前言ReentrantLock原子类线程池信号量CountDownLatch相关面试题 前言 经过前面文章的学习我们大致了解了如何实现多线程编程和解决多线程编程中遇到的线程不安全问题&#xff0c;java.util.concurrent 是我们多线程编程的一个常用包&#xff0c;那么今天我将为大家分…

vue、vuex状态管理、vuex的核心概念state状态

每一个 Vuex 应用的核心就是 store&#xff08;仓库&#xff09;。“store”基本上就是一个容器&#xff0c;它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同&#xff1a; Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候&…

【TensorFlow Hub】:有 100 个预训练模型等你用

要访问TensorFlow Hub&#xff0c;请单击此处 — https://www.tensorflow.org/hub 一、说明 TensorFlow Hub是一个库&#xff0c;用于在TensorFlow中发布&#xff0c;发现和使用可重用模型。它提供了一种使用预训练模型执行各种任务&#xff08;如图像分类、文本分析等&#xf…