APT是指高级持续性威胁, 利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式,APT攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在APT在发动攻击之前需要对攻击对象的业务流程和目标系统进行精确的收集。

高级持续渗透后门是指高级持续性后渗透权限长期把控,利用先进的后渗透手段对特定目标进行长期持续性维持权限的后攻击形式,高级持续渗透后门的原理相对于其他后门形式更为高级和先进,其高级性主要体现在持续渗透后门在发动持续性权限维持之前需要对攻击对象的业务流程和目标系统进行精确的收集并量身制定目标后门。

后门的种类繁多大体可分为,本地后门(系统自带后门),本地拓展后门(iis7模块后门),第三方后门(apache,serv-U软件后门)等,根据总体特征分为:主动后门,被动后门,传播型后门,而一个优秀的后门一定具备这几个特征:无文件,无端口,无进程,无服务,无语言码,并且是为目标主机量身制定的且一般不具备通用性。

从攻击者角度来对抗:

项目中一定会接触到溯源,而溯源最重要的环节之一就是样本取证与分析。既然是样本取证,也就是主要找残留文件。可能是脚本,dll,so,exe等。其次是查找相关流量异常,端口,进程。异常日志。做为攻击者的对抗,无开放端口,无残留文件,无进程,无服务。在防御者处理完攻击事件后的一定时间内,再次激活。

后门是渗透测试的分水岭,它分别体现了攻击者对目标机器的熟知程度,环境,编程语言,了解对方客户,以及安全公司的本质概念。这样的后门才能更隐蔽,更长久,而对于防御者需要掌握后门的基本查杀,与高难度查杀,了解被入侵环境,目标机器,以及后门或者病毒可隐藏角落,或样本取证,内存取证,所以说后门的安装与反安装是一场考试,一场实战考试。

这里要引用几个概念,只有概念清晰,才能把后门加入概念化,使其更隐蔽。

1:攻击方与防御方的本质是什么?
增加对方的时间成本,人力成本,资源成本(不限制于服务器资源),金钱成本。

2:安全公司的本质是什么?
盈利,最小投入,最大产出。

3:安全公司产品的本质是什么?
能适应大部分客户,适应市场化,并且适应大部分机器。(包括不限制于资源紧张,宽带不足等问题的客户)

4:安全人员的本质是什么?
赚钱,养家。买房,还房贷。导致,快速解决客户问题(无论暂时还是永久性解决),以免投诉。

5:提权的本质是什么?
信息搜集,搜集目标补丁情况,了解目标第三方利用等。

6:内网渗透的本质是什么?
信息搜集,搜集目标内网的组织架构,明确渗透诉求,在渗透过程中,当获取到内网组织架构图,如鱼得水。

7:渗透与高级持续渗透的本质区别是什么?
区别于“持续”,可长期根据攻击者的诉求来潜伏持久的,具有针对性的信息获取。(而在高级持续渗透它又分为2类,一类持久渗透,一类即时目标渗透)

8:溯源取证与对抗溯源取证的本质是什么?
信息搜集与对抗信息搜集。

清晰了以上概念,作为攻击者,要首先考虑到对抗成本,什么样的对抗成本,能满足概念1-5。影响或阻碍对手方的核心利益。把概念加入到后门,更隐蔽,更长久。

那么后门该如何做到,无服务,无进程,无端口,无自启?

我们可以使用MySQL等服务,用它的端口,它的进程,它的服务,它的一切,来重新编译MySQL的一些so文件并加入恶意代码,这样就实现了,无文件,无进程,无端口,无服务,无语言码,因为一切附属于它,这应该是一个攻击者值得思考的问题。

线索排查与反线索排查

如上方法生成的后门,距离高级可持续性渗透后门还有一段距离,这里引入“线索排查”与“反线索排查”,如果一位经验丰富的安全人员可根据时间差来排查日记,大体推测出MySQL被植入恶意代码的执行流程,并根据线索排查,定位到*.so文件,导致权限失控。

在线索排查概念中,这里要引入“ABC”类线索关联排查,当防御者在得到线索A,顺藤到B,最后排查到目标文件C,作为攻击方必须要考虑如何删除指定日志内容,以及其他操作。来阻止ABC类线索关联排查。

一个优秀的后门是量身目标制定且一般不具备通用性的。是的,一般不具备通用性。

观看目前文章的一共有2类人,一类攻击方,一类防守方。假设一个场景,现在摆在你面前有一台笔记本,并且这台笔记本有明确的后门,你的任务,排查后门。我想所有人都会排查注册表,服务,端口,进程等。因为这些具备通用性,也同样具备通用性排查手段。

信息搜集与对抗信息搜集

在一次完整的实战过程中,攻击者与防御者是需要角色对换的,前期,攻击者信息搜集,防御者对抗信息搜集。而后渗透,攻击者对抗信息搜集,防御者信息搜集。
而在两者后的持续把控权限,是随机并且无规律的角色对换过程。主要表现之一为后门。这一句话也许很难理解,举例:持续把控权限过程中,攻击者需要对抗防御者的信息搜集,而又要根据对方行为制定了解防御者的相关动作以及熟知目标环境的信息搜集安全时间。(包括但不限制于如防御者近期对抗查杀动作,防御者的作息规律,目标环境的作息规律等来制定相关计划)。

而在持续把控权限的过程中,防御者需要定期不完全依赖安全产品对自身环境的信息进行搜集(包括但不限制于日志异常,登陆异常,数据异常,第三方篡改日常等),一旦发现被攻击或者异常,对抗攻击者搜集,并且搜集攻击信息,攻击残留文件,排查可能沦陷的内网群,文件等。

在高级持续渗透测试中,PTES的渗透测试执行标准主要分为6段1报。既:
1.前期交互阶段
2.情报收集阶段
3.威胁建模阶段
4.漏洞分析阶段
5.渗透攻击阶段
6.后渗透攻击阶段
7.报告编写

在即时目标渗透测试中,主要分为5段1清1报。既:
1.前期交互阶段
2.情报收集阶段
3.威胁建模阶段
4.漏洞分析阶段
5.渗透攻击阶段
6.清理攻击痕迹
7.报告编写
持久渗透以时间换空间为核心的渗透,以最小化被发现,长期把控权限为主的渗透测试。
即时目标渗透则相反,放大已知条件,关联已知线索,来快速入侵,以达到诉求。

实战中的APT主要分为2大类,一类持久渗透,一类即时目标渗透,主要区别于高级持续渗透是6段1报,即时目标渗透是5段1清1报,共同点都是以黑客以窃取核心资料为目的,并且是一种蓄谋已久的长期踩点针对目标监视(包括但不限制于服务更新,端口更新,web程序更新,服务器更新等)。不同点主要区别于即时目标渗透清晰目标网络构架或是明确诉求,得到目标诉求文件,随即销毁自身入侵轨迹。结束任务。而即时目标渗透往往伴随着传统的人力情报的配合进行网络行动。

归纳总结,转载于:https://micropoor.blogspot.com

APT高持续渗透攻击-后门篇的更多相关文章

  1. 【渗透攻防WEB篇】SQL注入攻击初级

    前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一,这里我想问 ...

  2. 【web渗透技术】渗透攻防Web篇-SQL注入攻击初级

    [web渗透技术]渗透攻防Web篇-SQL注入攻击初级 前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的S ...

  3. 【渗透攻防Web篇】SQL注入攻击高级

    前言 前面我们学习了如何寻找,确认,利用SQL注入漏洞的技术,本篇文章我将介绍一些更高级的技术,避开过滤,绕开防御.有攻必有防,当然还要来探讨一下SQL注入防御技巧. 目录 第五节 避开过滤方法总结 ...

  4. 转:攻击JavaWeb应用[8]-后门篇

    转:http://static.hx99.net/static/drops/tips-662.html 攻击JavaWeb应用[8]-后门篇 园长 · 2013/10/11 19:19 0x00 背景 ...

  5. 如何检测Windows中的横向渗透攻击

    一.前言 横向渗透攻击技术是复杂网络攻击中广泛使用的一种技术,特别是在高级持续威胁(Advanced Persistent Threats,APT)中更加热衷于使用这种攻击方法.攻击者可以利用这些技术 ...

  6. 20165230田坤烨网络对抗免考报告_基于WIN10的渗透攻击

    目录 简单信息收集 主机发现 ping nmap 端口扫描 nmap OS及服务版本探测 nmap -sV 绕过防火墙尝试 诱饵 随机数据长度 随机顺序扫描目标 MAC地址欺骗 实现win10的渗透攻 ...

  7. 渗透攻防工具篇-后渗透阶段的Meterpreter

    作者:坏蛋链接:https://zhuanlan.zhihu.com/p/23677530来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言 熟悉Metasploit ...

  8. 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)

    持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...

  9. metasploit利用漏洞渗透攻击靶机

    1.网络测试环境构建 首先需要先配置好一个渗透测试用的网络环境,包括如图1所示的运行Kali Linux系统的计算机,如图2所示的老师给的Windows Server 2000系统的计算机.这两台计算 ...

随机推荐

  1. Java程序,JVM之间的关系

    java程序是跑在JVM上的,严格来讲,是跑在JVM实例上的.一个JVM实例其实就是JVM跑起来的进程,二者合起来称之为一个JAVA进程.各个JVM实例之间是相互隔离的. 每个java程序都运行于某个 ...

  2. 2019java第十二周课程总结

    本周主要还是学习图形界面 各种容器使用方法 如下代码: package text10; import java.awt.*; import java.io.File; import javax.swi ...

  3. Java程序设计第十周学习总结

    Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...

  4. 【JVM】jstack 查询占用最大资源线程|排查死循环等

    jstack 应用 首先通过:ps -ef|grep java 得到java pid 查看哪个线程占用最多资源: 找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid ...

  5. 解决Oracle XE报错ORA-12516(oracle回话数超出限制)

    本地安装的oracleXEUniv—oracle特别版,免费用户可以自由使用,但有连接数量和存储限制. 最近遇到一个问题,当我的SSM项目连接本地数据库oracleXE后,我的navicat再连接时就 ...

  6. 使用django-cors-headers 来解决跨域问题

    在settting里面这样配置 ALLOWED_HOSTS = ["*"] # Application definition INSTALLED_APPS = [ 'django. ...

  7. Android内存Activity泄露:Handler与Threads

    Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收.也就是说,一个对象不被任何引用所指向,则该对象会在被 ...

  8. python中unicode utf-8的互换

    比较简单明了,直接上例子 # -*- coding: utf-8 -*- t0 = u'测试' #u'\u6d4b\u8bd5' t1 = '测试' #'\xe6\xb5\x8b\xe8\xaf\x9 ...

  9. 阶段3 2.Spring_10.Spring中事务控制_4 spring中事务控制的一组API

    分析aop的 xml 的代码.更直观一些 事务提交和回滚就是我们重复的代码 spring业余事务管理器,我们拿过来直接用就可以 提交和回滚的后面直接调用释放.所以释放资源之类就是多余的 在绑定连接到线 ...

  10. Kubernetes 中文文档

    Kubernetes 中文文档 如果想学习 Kubernetes 的小伙伴,可以参考如下文档学习: https://www.kubernetes.org.cn/docs 文档中详细讲解了 k8s 的设 ...