Overview
If your organization uses Microsoft Entra ID (formerly Azure AD), you can configure an application in the Azure portal that will allow PhishingBox to sync with the directory. You will create an application registration in your Entra ID, assign the proper API permissions, then enter the application credentials into PhishingBox. After doing so, PhishingBox will be able to connect to your Entra ID and import your Entra ID groups' users as targets.
NOTE: It's possible to sync in users from Security, Distribution, Microsoft 365, and Dynamic groups. Only direct users of the group will be synced in. Users contained within subgroups will NOT be synced in.
Use the links below to jump to a section:
Registering the Application
To start, navigate to the Azure portal and sign in. Once signed in, click the hamburger menu in the top-left of the portal and click Microsoft Entra ID. On the Microsoft Entra ID page, Click App Registrations in the navigation menu on the left-hand side.
Once in the App Registrations window, click the "New registration" button, located on the top of the page.
This will open the application registration wizard. Complete the following steps:
- Give the application a name.
- Under the Supported account types section, select the "Accounts in this organization directory only" option.
- Click the "Register" button on the bottom left-hand side of the wizard.
NOTE: A Redirect URI is not required.
Assigning Permissions
Now the application has been created and you will be redirected to the application overview. Note the Application (client) ID and Directory (tenant) ID. PhishingBox will need both, along with a secret, in order to connect to the directory. Before you enter the App ID and Directory ID into PhishingBox, the application needs API permissions. Click the "View API permissions" button under the Call APIs section, or the "API permissions" link in the navigation menu on the left-hand side.
After navigating to the API Permissions page, complete the following steps:
- Click the "Add a permission" button, located above the "Configured permissions" table.
- You will then need to select an API, select Microsoft Graph.
- Select Delegated permissions.
- Click the respective checkboxes for each permission below:
- Directory.Read.All
- Group.Read.All
- GroupMember.Read.All
- profile
- User.Read
- User.Read.All
- User.ReadBasic.All
- Click "Add permissions", located at the bottom of the Request API permissions form, to add the permissions to the application.
- Click the "Add a permission" button, located above the "Configured permissions" table.
- You will then need to select an API, select Microsoft Graph.
- Select Application permissions.
- Click the respective checkboxes for each permission below:
- Directory.Read.All
- Group.Read.All
- GroupMember.Read.All
- User.Read.All
- Click "Add permissions", located at the bottom of the Request API permissions form, to add the permissions to the application.
- After being redirected back to the application's API permissions page, click the "Grant admin consent" button on the application's API permissions page.
NOTE: Administrator consent will be required to grant the selected permissions to the application. The minimum admin privileges required to grant consent are Application privileges.
You will be asked to verify, click "Yes" to continue. If the permissions are granted successfully, is displayed in the 'Status' column for the respective permissions. Once you are done adding permissions, the API permissions page should look something like this:
Credentials
Next, the credentials needed for PhishingBox to connect will have to be collected. PhishingBox requires three distinct keys or ids in order to connect to your AD:
- Application (client) ID
- Directory (tenant) ID
- Client secret
IDs
The Application ID and Directory ID are displayed in the Overview tab of the application page. Click the Overview link in the navigation menu on the left-hand side.
The Application ID and the Directory ID will be displayed at the top of the page below the application's display name.
Client Secret
Click the Certificates & secrets link in the navigation menu on the left-hand side of the Azure portal.
Under the Client secrets tab, click the "New client secret" button.
You will be prompted to give the secret a description and select an expiry date.
NOTE: If you choose to allow the secret to expire, after expiration another secret will need to be generated and the integration will need to be reconfigured.
After the secret is generated, you will want to save/copy the secret value (circled in green in the below screenshot). If you navigate away from the page, the secret will be obscured and you will not be able to copy the secret value to the clipboard. If you do not save the secret or it is obscured, you can always generate another one. Keep in mind that if the secret entered in PhishingBox is deleted from the application registration or expires the integration will have to be reconfigured in PhishingBox.
Now that you have configured the application and have the IDs and secret at hand, your Azure AD can be integrated with PhishingBox.
Integrating with PhishingBox
To integrate your Azure AD with PhishingBox, log in to the PhishingBox portal and navigate to Administration > Integration Store.
Click the Setup button on Microsoft Graph's respective card:
This will open the setup form for Microsoft Entra ID. If you wish for the sync to occur immediately after saving the configuration, set the 'Active' switch to 'Yes'. Click "Test" to connect PhishingBox to your AD. If a connection is successful, your Entra ID's groups will appear in the select box. Select the groups you want to sync with PhishingBox then click the "Save" button.
NOTE: If you are syncing other groups using Microsoft Graph and they are not located in this integration, setting the integration sync to active will cause the other groups to become inactive. You can also sync Microsoft Entra ID groups at the group level from the Edit Group page. If an Entra ID group is synced via this method, but does not appear in the Edit Configuration pop-up for the integration, then setting the integration to active will cause the group to become inactive.
If there are more than 250 groups in the directory, then you will choose the groups using a search box, as shown below.
If the Active option was set to Yes, then the group(s) will be scheduled to sync in. The Microsoft Graph card will say "Sync Queued". When the sync is finished, an integration_sync_finished email will be sent to the Account Manager Email (set on the Notifications tab on the Account Settings page).
When the sync completes, it will say "Synced".
If you did not set the integration to active, you can sync later by selecting "Run Sync" from the drop-down menu located at the bottom right-hand side of the integration's card. Then, the group will be scheduled for a sync. When the sync is finished, an integration_sync_finished email will be sent to the Account Manager Email (set on the Notifications tab on the Account Settings page). You can view the results of the last time the integration was synced by clicking on "Last Sync Logs" in the drop-down.
Comments
0 comments
Please sign in to leave a comment.