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. 深度学习笔记(十二)车道线检测 LaneNet

    论文:Towards End-to-End Lane Detection: an Instance Segmentation Approach 代码:https://github.com/MaybeS ...

  2. Reduce pandas memory size

    有关pandas存储的理论 简单又实用的pandas技巧:如何将内存占用降低90% 代码 Reducing DataFrame memory size by ~65% 上篇的改进 缓解pandas中D ...

  3. CopyOnWriteArrayList使用

    1.在遍历操作数量大大超过可变操作是(add,set等等)使用.原因是其可变操作是通过对底层数据进行一次新的复制来实现的. 2.迭代器创建后,其不会反应列表的添加.移除或更改.其迭代器是”快照“风格的 ...

  4. leetcode-easy-others-118 Pascal's Triangle

    mycode   16.47% class Solution(object): def generate(self, numRows): """ :type numRow ...

  5. SAP MaxDB Backup and Restore

    Back up the data and redo log entries from the data and log areas of your database to data carriers ...

  6. VC++获取CPU序列号 CPU ID

    CString strCPUID; unsigned long s1, s2; __asm{ mov eax, 01h xor edx, edx cpuid mov s1, edx mov s2, e ...

  7. 函数参数<一>

    <1> 定义带有参数的函数 示例如下: def add2num(a, b): c = a+b print (c) <2> 调用带有参数的函数 以调用上面的add2num(a, ...

  8. linux如何杀掉进程(kill)

    方法/步骤1: 使用“ps -e|grep mysql”命令,查看mysql程序的对应的pid号.结果如下图:   方法/步骤2: 使用“kill -9 2891”命令,可以结束掉mysqld_saf ...

  9. c++ 函数后面有个 const

    非静态成员函数后面加const,类似如下函数: class testClass{ public: void testClass() const{ /*...*/} private: /*...*/ } ...

  10. 如何利用Prometheus监控你的应用

    Prometheus作为一套完整的开源监控接近方案,因为其诸多强大的特性以及生态的开放性,俨然已经成为了监控领域的事实标准并在全球范围内得到了广泛的部署应用.那么应该如何利用Prometheus对我们 ...