渗透测试实战指南_渗透测试实战红队版

hacker|
201

我想学渗透测试,刚开始该看什么书呢?或者该怎么做?介绍一下!

这个要根据个人的实际情况来决定的,比如你先要去了解什么是渗透测试:

1、渗透测试属于信息安全行业,准确的说是网络计算机/IT行业

2、现在你知道了它的行业属性,那么你是否具备一些这个行业的知识呢?

3、具备的话学习起来比较简单,直接去学习渗透测试实战就行,不具备接着往下看

4、现在知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。

5、前期入门大概需要掌握或者说了解以下知识点:

1)了解基本的网络知识,例如什么是IP地址(63.62.61.123)去掉点是扣扣学习群,IP地址的基本概念、IP段划分、什么是A段、B段、C段等2)广域网、局域网、相关概念和IP地址划分范围。

3)端口的基本概念?端口的分类?

4)域名的基本概念、什么是URL、了解TCP/IP协议、

5)了解开放式通信系统互联参考模型(OSI)

6)了解http(超文本传输协议)协议概念、工作原理

7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构

8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等

9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等

10)了解基本的网络架构、例如:Linux + Apache + MySQL + php

11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言

12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等

然后你想学习入门,需要学习以下最基础的知识:

1、开始入门学习路线

1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。

其他数据库都差不多会了。

2)开始学习网络安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等

)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等

2、Google hacker 语法学习

3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等

4、漏洞挖掘学习

5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。

6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习

7、你也可以找一些扣扣群去和大佬交流,比如上面的IP去掉点就是,里面有很多的教程。

8、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等

10、提升自己的专业能力、把自己练成一个技术大牛、能给你带来一份稳定的高薪水工作,同时你还可利用自己的技术,额外的接些单子,做做副业,这个行业里是有很多单子可以接的。

从ATT&CK开始——对手仿真和红队

我们希望你已经花时间阅读了第一章开始使用ATTCK的威胁情报和第二章使用ATTCK的检测和分析!我们在这里给你带来了第三章,这一次涵盖了对手模拟和red与ATTCK的合作,来演示我们如何测试那些新的分析,John向我们展示了如何构建。

继续前几章的主题,本节将根据你的团队的复杂程度和你所拥有的资源分为不同的级别:

�一级对于刚开始那些可能没有许多资源

�二级对于那些中层团队开始成熟

�三级对于那些更高级的网络安全团队和资源

对于那些不熟悉它的人来说,敌手模拟是一种红队参与的类型,它通过混合威胁情报来定义红队使用的行动和行为,来模拟对组织的已知威胁。这就是为什么对手模拟不同于渗透测试和其他形式的红队。

对手模拟器构建一个场景来测试对手的战术、技术和过程(TTPs)的某些方面。然后,红队在目标网络上运行,以测试防御系统如何对付模拟对手。

由于ATTCK是一个关于现实世界中对手行为的大型知识库,所以不需要太多的想象力就可以将对手或红队的行为与ATTCK联系起来。让我们来探索安全团队如何使用ATTCK进行对手模拟来帮助改进他们的组织。

一、1级

小团队和那些主要专注于防守的团队可以从对手的竞争中获得很多好处,即使他们没有机会进入红队,所以不要担心!有相当多的资源可以帮助你开始测试你的防御与ATTCK对齐的技术。我们将重点介绍如何通过尝试简单的测试来深入敌手模拟。

Atomic Red Team是一个由Red Canary维护的开源项目,它是一个脚本集合,可以用来测试如何检测映射到ATTCK技术的某些技术和过程。例如,您可能已经遵循了第1章中的建议,并研究了APT3使用的技术,如网络共享发现(T1135)。您的intel团队将此信息传递给您的检测团队,并且根据第2章的指导,他们编写了一个行为分析来尝试检测对手是否执行了此技术。但是你怎么知道你是否真的能检测到这种技术呢?

Atomic Red Team可用于测试单个技术和过程,以验证行为分析和监视功能是否如预期的那样工作。

原子Red团队存储库有许多原子测试,每个测试都有一个用于测试ATTCK技术的目录。您可以查看ATTCK矩阵格式的完整存储库。

要开始测试,请选择T1135页,以查看详细信息和文档中记录的不同类型的原子测试。每个测试都包含关于技术是什么、支持的平台以及如何执行测试的信息。

我们看到有三个测试选项,并决定选择#2来使用命令提示符进行测试。因此,我们打开命令提示符,复制并粘贴命令,添加计算机名,然后执行命令。

我们刚刚执行了我们的第一个原子测试!一旦完成了这一步,我们就可以看看我们期望检测到的是否就是我们实际检测到的。例如,可能我们在SIEM工具中有一个行为分析工具,它应该在“net view”执行时发出警报,但是我们发现它没有触发,所以我们发现从主机导出的日志不正确。您排除故障并修复了问题,现在您已经取得了可度量的改进,以帮助您在将来有更好的机会使用此过程捕获对手。

这些单项测试允许激光聚焦于单个的ATTCK技术,这使得构建基于ATTCK的防御覆盖更容易实现,因为您可以从单个技术的单一测试开始,然后从单一技术扩展到其他技术。

1.5级奖励内容:获得了一个使用原子红队执行对手模拟测试的过程,并准备好了一些东西,可以帮助链接在一起的行为序列?下一个看看CALDERA!CALDERA是一个由MITRE创建的自动对抗仿真系统,它有许多内建的行为映射到ATTCK技术。它允许操作员在构建测试时选择一种技术或将多种技术连接在一起,这允许您开始自动化测试的行为序列,而不是手动执行单个原子测试。您可以使用预先构建的场景之一,或者通过选择映射到您想要测试的某些ATTCK技术的过程(在CALDERA中称为能力)来定义更具体的场景。

二、2级

对于那些已经拥有红队能力的人来说,您可以从将ATTCK与您现有的项目集成中获益良多。映射技术用于红色团队参与ATTCK编写报告和讨论时提供了一个通用框架移植。

首先,您可以使用现有的计划操作或工具并将其映射到ATTCK。将red team过程映射到ATTCK类似于将威胁情报映射到ATTCK,因此您可能想要查看Katie在第一章中概述的六步流程的建议。

幸运的是,有时映射技术可以像搜索ATTCK网站上使用的命令一样简单。例如,如果我们在red team操作中使用了“whoami”命令,那么我们可以在ATTCK网站上搜索它,并发现可能会应用两种技术:系统所有者/用户发现(T1033)和命令行界面(T1059)。

另一个帮助您开始将red team过程映射到ATTCK的资源是APT3敌手模拟字段手册,它列出了APT3使用的一个命令一个命令的操作,所有这些操作都映射到ATTCK。

如果你的红队正在使用像Cobalt Strike或Empire这样的工具,好消息是这些工具已经被映射到ATTCK了。有了您个人的命令、脚本和映射到ATTCK的工具,您现在可以计划您的任务了。

红队有他们的尝试和真正的工具箱和操作方法。他们知道什么是有效的,因为它总是有效。但是他们不知道的是,他们所尝试的和真正的ttp与已知的可能针对组织的威胁有多少重叠(或者不重叠!)。这就导致了在理解防御系统与你真正想要防御的对象之间的差距——目标是你的环境的敌人,而不一定是红队本身。

我们想要确保我们不仅仅是在做技术,因为我们的工具可以执行它们——我们想要模拟一个真正的对手,我们关心的是提供更多的价值。例如,我们可以和我们的CTI团队谈谈,他们告诉我们,他们担心来自伊朗石油钻井平台的袭击。

由于ATTCK的所有内容都是结构化的,我们可以使用ATTCK导航仪来比较现有工具(如Cobalt Strike)和OilRig基于开源报告的技术。(你可以查看导航器的演示,它演示了如何做到这一点。)在下一个图形,Cobalt Strike技术是红色的,OilRig技术是蓝色的,两种技术都能执行用紫色。

这些紫色技术为我们提供了一个开始使用现有工具和执行组织优先考虑的技术的地方。

除了识别出Cobalt Strike和OilRig之间的重叠部分,分析还可以显示出,在哪些地方可以改变red team的行为,而不仅仅局限于他们通常采用的程序层面。

在某些情况下,一项技术可能是在红队使用的工具中以特定的方式实现的,但是我们不知道对手是如何实现的。有了这些知识,就可以帮助red团队在不同的测试之间使用不同的行为,从而更好地覆盖作为对抗模拟过程一部分的威胁。

此时,我们还可以添加希望使用命令或脚本手动执行的技术。然后,我们可以在导航器中添加关于执行技术的顺序以及如何执行它们的注释。

当我们计划红队行动时,映射到ATTCK是有好处的,一旦我们执行了我们的行动,当我们与我们的蓝队沟通时,我们也收获了回报。如果他们将分析、检测和控制映射回ATTCK,那么您可以轻松地用一种通用语言与他们交流,了解您所做的工作和他们的成功之处。在报表中包含ATTCK导航器映像(甚至保存的导航器层)可以帮助这个过程,并为它们提供一个可以改进的模板。

用户级别2.5内容:在使用ATTCK计划约定和报告结果之后,尝试使用APT3模拟计划或基于该计划的ATTCK评估第一轮场景,以进行约定模拟APT3,显示针对特定对手组的基线测试。

三、3级

此时,您的红队正在将ATTCK集成到操作中,并在与蓝队的通信中寻找价值。为了提高您的团队及其所产生的影响,您可以与您的组织的CTI团队协作,通过创建您自己的对手模拟计划,使用他们收集的数据来针对特定的对手调整约定。

创建您自己的对手模拟计划,利用最大的力量,结合红色团队与您自己的威胁情报:行为是从现实世界的对手看到的目标是你!红队可以把intel变成有效的测试,以显示什么防御工作得很好,什么地方的资源需要改进。

当安全性测试暴露了可见性和控制漏洞时,当您可以显示它们很可能被已知的对手利用时,就会产生更高级别的影响。将您自己的CTI与对手模拟工作相连接,将提高测试的有效性,并将输出结果提供给高级领导以制定更改。

我们推荐如下图所示的五步流程来创建一个对手模拟计划、执行操作并推动防御改进。(有关此过程的更详细概述,请参见Katie Nickels和Cody Thomas关于ATTCK基于威胁的对手模拟的演示。)

1. 收集威胁情报——根据组织面临的威胁,选择一个对手,与CTI团队合作,分析对手的行动。结合你的组织所知道的,除了公开的情报,来记录对手的行为,他们追求的是什么,他们是粉碎和抓取还是低速度和慢速。

2. 提取技术——就像你将你的红队行动映射到ATTCK技术一样,将你的情报映射到与你的情报团队相关的特定技术。您可以将您的CTI团队指向第1章,以帮助他们学习如何做到这一点。

3.分析和组织——现在你有了一堆关于对手的情报以及他们是如何运作的,用一种很容易制定具体计划的方式将这些信息绘制到他们的运作流程中。例如,下面是MITRE团队为APT3对手模拟计划创建的操作流。

4. 开发工具和过程——既然您已经知道了希望红队做什么,那么就应该弄清楚如何实现行为。考虑:

�威胁组织使用这种技术如何?

�集团不同的技术是使用基于环境上下文?

�什么工具可以复制这些ttp吗?

5. 模拟对手——有了适当的计划,红队现在能够执行并执行模拟契约。正如我们建议所有使用ATTCK的红队项目,红队应该与蓝队紧密合作,深入了解蓝队的可见度的差距在哪里,以及它们存在的原因。

一旦整个过程发生,红色和蓝色的团队可以与CTI团队合作,确定下一个威胁,重复这个过程,创建一个连续的活动,测试对现实世界行为的防御。

总结

本章向您展示了如何使用ATTCK进行红色团队和对手模拟,而不管您拥有什么资源(包括您还没有红色团队时)。我们希望您在本书中已经注意到,这些主题都是建立在其他主题的基础上的,通过威胁情报来创建分析,这些分析可以通过对手的仿真来验证和改进——所有这些都使用ATTCK的公共语言。下一章(也是最后一章)将讨论ATTCK的执行评估和工程,为我们的ATTCK系列的入门课程画上圆满的句号。

红队最喜欢的18 种优秀的网络安全渗透工具

Bishop labs用了两期博客,前后各总结了9个红队工具,共计18个红队使用的优秀渗透工具,其博客文章也提及,这份清单不是决定性的,也仅用于参考。

创建者: @IAmMandatory

用途:允许 谷歌 Chrome 浏览器将受害者的浏览器变成测试代理。

优点: CursedChrome 可以很容易地在红队参与期间模拟恶意浏览器扩展。用来劫持 Chrome 浏览器,绕过大多数 2FA 或其他可能存在的安全保护,并利用 cookie 来访问任何基于网络的目标。

创建者: @symbolcrash1

用途: Universal Loader 是一个 Golang 库,可以跨多个平台(Linux、Windows 和 OSX)从内存中加载共享库,而无需CGO。

优点: Universal Loader 可以用在新的 Apple M1 芯片上,值得一提的是,这个 Golang 库没有使用 memfd,这使它成为第一个这样做的 Golang Linux 加载器。由于这两个原因,Universal Loader 是一个相当令人印象深刻的红队工具。

创建者: QSecure Labs

用途: Overlord 是一个基于 Python 的控制台命令行界面,用于自动化红队基础设施。

优点: 在红队参与期间能够根据需要快速启动安全基础设施非常重要,该工具可以节省大量时间,然后可以将这些时间用于进行一些实际的黑客攻击。

创作者: @LittleJoeTables和@rkervell

用途: Sliver是一个用 Golang 编写的跨平台通用植入框架。

优点: 这个工具是两位 Bishop Fox 研究人员的创意,所以我们的偏见可能会表现出来。类似于商业工具Cobalt Strike。使 Sliver 值得注意的是诸如使用每个二进制混淆的动态代码生成、多个和可扩展的出口协议以及支持多个操作员同时控制植入物等功能。此外,它易于使用且运行速度快。

创作者: @tillson_

用途: 使用 Githound 来定位暴露的 API 密钥和其他围绕 GitHub 浮动的敏感信息。该工具通过模式匹配、提交 历史 搜索和“独特的结果评分系统”工作。

优点: 像 Githound 这样的秘密窃取工具并不少见,但这并没有使这个工具(或其他类似工具)的价值降低。Githound 的一些可能用例包括检测暴露的客户 API 密钥以及员工 API 令牌。如果您进行漏洞赏金,此工具可用于添加书签 - 有些人报告说,由于它,因此获得了数千美元的赏金。

创作者: @browninfosecguy

用途: 这个工具的名字说明了一切,在 PowerShell 中轻松地为 Microsoft Active Directory 设置实验室。

优点: 速度很快,效果很好。可以使用此工具来确保您针对 Active Directory 使用的任何漏洞利用都已完善,然后再将其引入客户端环境。对于只想更轻松地测试 Active Directory 的渗透测试员来说非常有用。

创建者: Microsoft Azure 红队

用途: 可以使用 Stormspotter 更好地可视化 Azure 攻击面;此工具可帮助您绘制 Azure 和 Azure Active Directory 对象。

优点: 类似渗透测试工具BloodHound概念类似,只是该工具是为 Azure 环境设计的。对于任何蓝色或紫色团队成员来说,从防御的角度来看,Stormspotter 也非常有用。

创建者: @Void_Sec

用途: ECG 实际上是一种商业工具。该工具是静态源代码扫描器,能够分析和检测 TCL/ADP 源代码中真实和复杂的安全漏洞。

优点: ECG是一种强大的工具,可以填补令人惊讶的空白。正如 VoidSec 在他们的官方文章中所指出的,TCL代码相当普遍;所以能够彻底分析漏洞可能会非常有帮助。没有很多其他工具可以满足这种独特的需求,无论是商业的还是其他的。

创建者: @TryCatchHCF

用途: 可以使用 DumpsterFire 构建“时间触发的分布式”安全事件来测试红队进攻和蓝队防守。

优点: DumpsterFire 将传统桌面练习提升到一个新的水平,它还使用自动化来在参与期间有效地进行多任务处理(并避开一些更乏味的事情)。DumpsterFire 允许的定制程度令人印象深刻;可以真正定制模拟安全事件来满足独一无二的情况。

10.GhostPack

创建者: SpecterOps ( @SpecterOps )

用途: 借助强大的后开发工具集 GhostPack,可以做各种事情;可以攻击 KeePass 2.X 数据库、复制锁定的文件、篡改 Active Directory 证书等。

优点: GhostPack 是一种满足黑客需求的“一站式商店”。包含的 13 个工具包括非常有用的 Rubeus、Seatbelt 和 SharpUp。Rubeus 是一个 C# 工具集,直接与 Active Directory 环境中的 Kerberos 协议交互,允许直接与 Kerberos 属性(例如票证和常规身份验证)进行通信,然后可以利用这些属性在网络中移动。Seatbelt 是一个 C# 项目,可用于面向安全的主机“安全检查”,而 SharpUp 是一个 C# 工具,可识别本地权限提升路径。这些工具被无数红队和网络渗透测试员使用。

创作者: Benjamin Delpy ( @gentilkiwi )

用途: Mimikatz 可以从 Windows 环境中提取密码和其他凭据。是一种非常流行的渗透测试工具,已经存在了十多年。但 Mimikatz 会定期维护和更新,以确保仍然是最前沿的工具

优点: 将 Mimikatz 视为网络渗透测试的瑞士军刀。带有几个内置工具,对 Kerberoasting、密码转储很有用,你能想到的,Mimikatz 都可以做到。而且 Mimikatz 不仅适用于那里的进攻性安全专业人员——防御性安全团队也可以从中受益(如果你发现自己处于紫色团队场景中,这也是个好兆头)。

创建者: Metasploit 项目 ( @metasploit ),由 Rapid7 与开源社区合作运营

用途: Metasploit 可以说是世界领先的渗透测试框架,由 HD Moore 于 2003 年创建。Metasploit 包括用于渗透测试几乎每个阶段的模块,这有助于其普及。包括约 250 个后利用模块,可用于捕获击键、收集网络信息、显示操作系统环境变量等。

优点: Metasploit 后开发模块非常庞大,有一个模块最突出——Meterpreter 有效载荷。Meterpreter 允许 探索 目标系统并执行代码,并且由于它通过内存 DLL 注入工作,因此不必冒险留下任何操作证据。Metasploit 后开发功能也非常通用,具有适用于 Windows、Linux 和 OS X 的模块。

创作者: 阿德里安·沃尔默( @mr_mitm )

用途: 此后利用工具旨在绕过端点检测和应用程序阻止列表。

优点: 可以使用 PowerHub 传输文件,而不会在测试环境中发出任何安全保护警报,这将使下一次渗透测试更加顺畅和轻松。使用此工具领先于 Windows Defender。

创建者: LOLBAS 项目和亚利桑那州安全工程与研究小组

用途: LOLBAS 是一个字典,用于在 Windows 机器上使用二进制文件查找可能的权限提升路径。LLOLBAS 是与 LOLBAS 协同工作的摄取器。摄取器会在 Windows 机器上的 LOLBAS 列表中查找所有二进制文件,因此无需猜测或对列表进行排序以查找它们(这可能很乏味)。

优点: LOLBAS 项目可搜索机器上可能的权限提升路径,而 LLOLBAS 允许针对特定机器定制这些路径。结合这两个工具,(几乎)在参与中势不可挡。作为一个额外的好处,如果出现需要它们的情况,可以方便地使用离线工具。

创作者: @nil0x42

用途: PHPSploit 充当功能齐全的 C2 框架,通过单行 PHP 后门在 Web 服务器上静默地持久化。

优点: PHPSploit 是非安全参与时手头上的一项了不起的工具——高效、用户友好且运行安静。正如其 GitHub 描述所述,PHPSploit 是“由偏执狂,为偏执狂设计的”。

创作者: 塞瓦加斯

用途: 可以使用 swap_digger 在后期开发或取证期间自动进行 Linux 交换分析。

优点: 在 Linux 交换空间中可以找到各种各样的好东西,从密码和电子邮件地址到 GPG 私钥。Swap_digger 可以梳理这些交换空间并找到高影响力的奖杯,这将使评估更加成功。

创建者: RedCode 实验室

用途: Bashark 是一个后开发工具包,顾名思义,是用编程语言 Bash 编写的。这是一个可以产生巨大结果的简单脚本。

优点: Bashark 工作快速而隐蔽,允许通过创建 Bash 函数来添加新命令,并清除在目标环境中使用脚本后可能留下的任何痕迹。

创作者: AlessandroZ

用途: 使用 BeRoot 项目查找可用于在 Windows、Linux 和 OS X 环境中提升权限的常见错误配置。

优点: 识别常见的错误配置是在网络中立足的最可靠方法之一,因此找到这些错误配置的速度越快越好。BeRoot 项目在这方面提供了极大的帮助。

本文,旨在介绍一些红队工具,供大家了解和参考研究之用,不建议任何人利用网络技术从事非法工作,破坏他人计算机等行为。渗透有风险,入坑需谨慎。法网恢恢,疏而不漏。请正确理解渗透含义,正确利用渗透技术,做网络安全服务的践行者。

0条大神的评论

发表评论