Mimecast Email Security
Overview
A secure email gateway to block spam, viruses, and malware.
- Vendor: Mimecast
- Supported environment: Cloud
- Detection based on: Telemetry
- Supported application or feature: Email gateway
Warning
Important note - This format is currently in beta. We highly value your feedback to improve its performance.
High-Level Architecture Diagram
- Type of integration: PULL by Sekoia.io
- Schema
Specification
Prerequisites
- Permissions:
- The Mimecast administrator must be assigned a Role with the following criteria.
- Read and Edit API Application Permissions under the Service Menu.
- Security Permissions setting must permit the Management of Application Roles.
- The generated API key must be a Mimecast Administrator with at least the Security Events and Data Retrieval | Threat and Security Events (SIEM) and Threat and security statistics | Read permission.
- The Mimecast administrator must be assigned a Role with the following criteria.
Transport Protocol/Method
- Direct HTTP
Logs details
- Supported functionalities: See section Overview
- Supported type(s) of structure: JSON
- Supported verbosity level: Informational
Note
Log levels are based on the taxonomy of RFC5424. Adapt according to the terminology used by the editor.
Step-by-Step Configuration Procedure
Instructions on the 3rd Party Solution
Create API credentials
- Login to Mimecast Administration Console
- Navigate to Account > Roles > New Role
- Name the role as you wish, for instance "Sekoia"
- Add the following roles under the section called Security Events and Data Retrieval:
- Threat and security svents (SIEM) with READ permission,
- Threat and security statistics with READ permission.
- Navigate to Services | API and Platform Integrations
- Locate the following Mimecast API 2.0 tile and click on Generate Keys.
- After reading the Terms & Conditions, complete the I accept check box to enable the Next button to progress onto the next step.
- Complete the Application Details section by providing:
- Application Name: Select SIEM Integration,
- Description (Optional),
- Integration Partner (Optional),
- Products: Select all products,
- Role: Select the "Sekoia" role created above.
- Complete the Notifications section by providing:
- Technical Point of Contact: Write the name of the administrator to be contacted if you encounter any issue with the API,
- Email : Write the administrator's email.
- Validate the form and Click on Add and Generate Keys
- The wizard completes and displays a pop-up window including your
Client ID
andClient Secret
key data.
Instruction on Sekoia
Create your intake
- Go to the intake page and create a new intake from the
Mimecast Email Security
. - Copy the associated Intake key
Pull your logs on Sekoia.io
Go to the Sekoia.io playbook page, and follow these steps:
- Click on + PLAYBOOK button to create a new one
- Select Create a playbook from scratch
- Give it a name in the field Name
- Open the left panel, click Mimecast then select the trigger
[BETA] Fetch new email events from Mimecast
-
Click on Create
-
Create a Module configuration using your
Client ID
andClient Secret
created on the How to create API credentials step. Name the module configuration as you wish - Create a Trigger configuration and Type the
Intake key
created on the previous step - Click on the Save button
- Activate the playbook with the toggle button on the top right corner of the page
Enjoy your events on the Events page
Raw Events Samples
In this section, you will find examples of raw logs as generated natively by the source. These examples are provided to help integrators understand the data format before ingestion into Sekoia.io. It is crucial for setting up the correct parsing stages and ensuring that all relevant information is captured.
{
"aggregateId": "vC80NNxvOWKkBPnzSs04FA_1715699686",
"processingId": "PGZfGuxEAu_kE-nGy1sjThBr5EYbm1ZcDKg-vXbRHLA_1715699686",
"accountId": "CDE22A102",
"timestamp": 1715699697146,
"senderEnvelope": "newsletter@stub.com",
"recipients": "neo@gmail.fr",
"direction": "Inbound",
"type": "journal",
"subtype": null,
"_offset": 105760,
"_partition": 137
}
{
"aggregateId": "J5JwSy0HNvG7AvCg1sgDvQ_1715708284",
"processingId": "hP5f7mBanAVkWJWfh4vYvca3zOi9I3jROBmH3Z_Kysk_1715708284",
"accountId": "CDE22A102",
"action": "Hld",
"timestamp": 1715708287466,
"senderEnvelope": "john.doe015@gmail.com",
"messageId": "<CAF7=BmDb+6qHo+J5EB9oH+S4ncJOfEMsUYAEirX4MRZRJX+esw@mail.gmail.com>",
"subject": "Moderate",
"holdReason": "Spm",
"totalSizeAttachments": "0",
"numberAttachments": "0",
"attachments": null,
"emailSize": "3466",
"type": "process",
"subtype": "Hld",
"_offset": 105825,
"_partition": 137
}
{
"processingId": "processingId",
"aggregateId": "aggregateId",
"numberAttachments": "2",
"attachments": "tpsreport.doc",
"subject": "siem_process - email subject line",
"senderEnvelope": "auser@mimecast.com",
"messageId": "messageId",
"eventType": "process",
"accountId": "C0A0",
"action": "Allow",
"holdReason": null,
"subType": "Allow",
"totalSizeAttachments": "642",
"timestamp": 1689685338609,
"emailSize": "56422"
}
{
"aggregateId": "J5JwSy0HNvG7AvCg1sgDvQ_1715708284",
"processingId": "hP5f7mBanAVkWJWfh4vYvca3zOi9I3jROBmH3Z_Kysk_1715708284",
"accountId": "CDE22A102",
"timestamp": 1715708286579,
"action": "Acc",
"senderEnvelope": "john.doe@gmail.com",
"messageId": "<CAF7=BmDb+6qHo+J5EB9oH+S4ncJOfEMsUYAAarX4MRZRJX+esw@mail.gmail.com>",
"subject": "Moderate",
"recipients": "admin@mcfr2.pro",
"senderIp": "209.123.123.123",
"rejectionType": null,
"rejectionCode": null,
"direction": "Inbound",
"numberAttachments": "0",
"senderHeader": "john.doe@gmail.com",
"rejectionInfo": null,
"tlsVersion": "TLSv1.3",
"tlsCipher": "TLS_AES_256_GCM_SHA384",
"spamInfo": "[]",
"spamProcessingDetail": "{\"spf\":{\"allow\":true,\"info\":\"ALLOW\"},\"dkim\":{\"allow\":true,\"info\":\"ALLOW\"},\"dmarc\":{\"allow\":true,\"info\":\"ALLOW\"}}",
"virusFound": null,
"type": "receipt",
"subtype": "Acc",
"_offset": 105826,
"_partition": 137
}
Detection section
The following section provides information for those who wish to learn more about the detection capabilities enabled by collecting this intake. It includes details about the built-in rule catalog, event categories, and ECS fields extracted from raw events. This is essential for users aiming to create custom detection rules, perform hunting activities, or pivot in the events page.
Related Built-in Rules
The following Sekoia.io built-in rules match the intake Mimecast Email Security [BETA]. This documentation is updated automatically and is based solely on the fields used by the intake which are checked against our rules. This means that some rules will be listed but might not be relevant with the intake.
SEKOIA.IO x Mimecast Email Security [BETA] on ATT&CK Navigator
Cryptomining
Detection of domain names potentially related to cryptomining activities.
- Effort: master
Dynamic DNS Contacted
Detect communication with dynamic dns domain. This kind of domain is often used by attackers. This rule can trigger false positive in non-controlled environment because dynamic dns is not always malicious.
- Effort: master
Exfiltration Domain
Detects traffic toward a domain flagged as a possible exfiltration vector.
- Effort: master
Remote Access Tool Domain
Detects traffic toward a domain flagged as a Remote Administration Tool (RAT).
- Effort: master
SEKOIA.IO Intelligence Feed
Detect threats based on indicators of compromise (IOCs) collected by SEKOIA's Threat and Detection Research team.
- Effort: elementary
Sekoia.io EICAR Detection
Detects observables in Sekoia.io CTI tagged as EICAR, which are fake samples meant to test detection.
- Effort: master
TOR Usage Generic Rule
Detects TOR usage globally, whether the IP is a destination or source. TOR is short for The Onion Router, and it gets its name from how it works. TOR intercepts the network traffic from one or more apps on user’s computer, usually the user web browser, and shuffles it through a number of randomly-chosen computers before passing it on to its destination. This disguises user location, and makes it harder for servers to pick him/her out on repeat visits, or to tie together separate visits to different sites, this making tracking and surveillance more difficult. Before a network packet starts its journey, user’s computer chooses a random list of relays and repeatedly encrypts the data in multiple layers, like an onion. Each relay knows only enough to strip off the outermost layer of encryption, before passing what’s left on to the next relay in the list.
- Effort: master
Event Categories
The following table lists the data source offered by this integration.
Data Source | Description |
---|---|
Email gateway |
Inbound, outbound and internal logs for messages |
In details, the following table denotes the type of events produced by this integration.
Name | Values |
---|---|
Kind | `` |
Category | email |
Type | denied , info |
Transformed Events Samples after Ingestion
This section demonstrates how the raw logs will be transformed by our parsers. It shows the extracted fields that will be available for use in the built-in detection rules and hunting activities in the events page. Understanding these transformations is essential for analysts to create effective detection mechanisms with custom detection rules and to leverage the full potential of the collected data.
{
"message": "{\"aggregateId\": \"vC80NNxvOWKkBPnzSs04FA_1715699686\", \"processingId\": \"PGZfGuxEAu_kE-nGy1sjThBr5EYbm1ZcDKg-vXbRHLA_1715699686\", \"accountId\": \"CDE22A102\", \"timestamp\": 1715699697146, \"senderEnvelope\": \"newsletter@stub.com\", \"recipients\": \"neo@gmail.fr\", \"direction\": \"Inbound\", \"type\": \"journal\", \"subtype\": null, \"_offset\": 105760, \"_partition\": 137}",
"event": {
"category": [
"email"
],
"dataset": "journal",
"provider": "Mimecast",
"type": [
"info"
]
},
"@timestamp": "2024-05-14T15:14:57.146000Z",
"email": {
"direction": "Inbound",
"from": {
"address": [
"newsletter@stub.com"
]
},
"to": {
"address": [
"neo@gmail.fr"
]
}
},
"mimecast": {
"siem": {
"aggregate_id": "vC80NNxvOWKkBPnzSs04FA_1715699686",
"processing_id": "PGZfGuxEAu_kE-nGy1sjThBr5EYbm1ZcDKg-vXbRHLA_1715699686"
}
}
}
{
"message": "{\"aggregateId\": \"J5JwSy0HNvG7AvCg1sgDvQ_1715708284\", \"processingId\": \"hP5f7mBanAVkWJWfh4vYvca3zOi9I3jROBmH3Z_Kysk_1715708284\", \"accountId\": \"CDE22A102\", \"action\": \"Hld\", \"timestamp\": 1715708287466, \"senderEnvelope\": \"john.doe015@gmail.com\", \"messageId\": \"<CAF7=BmDb+6qHo+J5EB9oH+S4ncJOfEMsUYAEirX4MRZRJX+esw@mail.gmail.com>\", \"subject\": \"Moderate\", \"holdReason\": \"Spm\", \"totalSizeAttachments\": \"0\", \"numberAttachments\": \"0\", \"attachments\": null, \"emailSize\": \"3466\", \"type\": \"process\", \"subtype\": \"Hld\", \"_offset\": 105825, \"_partition\": 137}",
"event": {
"action": "Hld",
"category": [
"email"
],
"dataset": "process",
"provider": "Mimecast",
"type": [
"info"
]
},
"@timestamp": "2024-05-14T17:38:07.466000Z",
"email": {
"from": {
"address": [
"john.doe015@gmail.com"
]
},
"message_id": "CAF7=BmDb+6qHo+J5EB9oH+S4ncJOfEMsUYAEirX4MRZRJX+esw@mail.gmail.com",
"to": {
"address": [
"null"
]
}
},
"mimecast": {
"siem": {
"aggregate_id": "J5JwSy0HNvG7AvCg1sgDvQ_1715708284",
"hold_reason": "Spm",
"processing_id": "hP5f7mBanAVkWJWfh4vYvca3zOi9I3jROBmH3Z_Kysk_1715708284"
}
}
}
{
"message": "{\"processingId\": \"processingId\", \"aggregateId\": \"aggregateId\", \"numberAttachments\": \"2\", \"attachments\": \"tpsreport.doc\", \"subject\": \"siem_process - email subject line\", \"senderEnvelope\": \"auser@mimecast.com\", \"messageId\": \"messageId\", \"eventType\": \"process\", \"accountId\": \"C0A0\", \"action\": \"Allow\", \"holdReason\": null, \"subType\": \"Allow\", \"totalSizeAttachments\": \"642\", \"timestamp\": 1689685338609, \"emailSize\": \"56422\"}",
"event": {
"action": "Allow",
"category": [
"email"
],
"dataset": "process",
"provider": "Mimecast",
"type": [
"info"
]
},
"@timestamp": "2023-07-18T13:02:18.609000Z",
"email": {
"attachments": [
{
"file": {
"name": "tpsreport.doc"
}
}
],
"from": {
"address": [
"auser@mimecast.com"
]
},
"message_id": "messageId",
"to": {
"address": [
"null"
]
}
},
"mimecast": {
"siem": {
"aggregate_id": "aggregateId",
"processing_id": "processingId"
}
}
}
{
"message": "{\"aggregateId\": \"J5JwSy0HNvG7AvCg1sgDvQ_1715708284\", \"processingId\": \"hP5f7mBanAVkWJWfh4vYvca3zOi9I3jROBmH3Z_Kysk_1715708284\", \"accountId\": \"CDE22A102\", \"timestamp\": 1715708286579, \"action\": \"Acc\", \"senderEnvelope\": \"john.doe@gmail.com\", \"messageId\": \"<CAF7=BmDb+6qHo+J5EB9oH+S4ncJOfEMsUYAAarX4MRZRJX+esw@mail.gmail.com>\", \"subject\": \"Moderate\", \"recipients\": \"admin@mcfr2.pro\", \"senderIp\": \"209.123.123.123\", \"rejectionType\": null, \"rejectionCode\": null, \"direction\": \"Inbound\", \"numberAttachments\": \"0\", \"senderHeader\": \"john.doe@gmail.com\", \"rejectionInfo\": null, \"tlsVersion\": \"TLSv1.3\", \"tlsCipher\": \"TLS_AES_256_GCM_SHA384\", \"spamInfo\": \"[]\", \"spamProcessingDetail\": \"{\\\"spf\\\":{\\\"allow\\\":true,\\\"info\\\":\\\"ALLOW\\\"},\\\"dkim\\\":{\\\"allow\\\":true,\\\"info\\\":\\\"ALLOW\\\"},\\\"dmarc\\\":{\\\"allow\\\":true,\\\"info\\\":\\\"ALLOW\\\"}}\", \"virusFound\": null, \"type\": \"receipt\", \"subtype\": \"Acc\", \"_offset\": 105826, \"_partition\": 137}",
"event": {
"action": "Acc",
"category": [
"email"
],
"dataset": "receipt",
"provider": "Mimecast",
"type": [
"info"
]
},
"@timestamp": "2024-05-14T17:38:06.579000Z",
"email": {
"direction": "Inbound",
"from": {
"address": [
"john.doe@gmail.com"
]
},
"message_id": "CAF7=BmDb+6qHo+J5EB9oH+S4ncJOfEMsUYAAarX4MRZRJX+esw@mail.gmail.com",
"to": {
"address": [
"admin@mcfr2.pro"
]
}
},
"mimecast": {
"siem": {
"aggregate_id": "J5JwSy0HNvG7AvCg1sgDvQ_1715708284",
"processing_id": "hP5f7mBanAVkWJWfh4vYvca3zOi9I3jROBmH3Z_Kysk_1715708284"
}
},
"related": {
"ip": [
"209.123.123.123"
]
},
"source": {
"address": "209.123.123.123",
"ip": "209.123.123.123"
}
}
Extracted Fields
The following table lists the fields that are extracted, normalized under the ECS format, analyzed and indexed by the parser. It should be noted that infered fields are not listed.
Name | Type | Description |
---|---|---|
@timestamp |
date |
Date/time when the event originated. |
destination.ip |
ip |
IP address of the destination. |
email.attachments |
nested |
List of objects describing the attachments. |
email.direction |
keyword |
Direction of the message. |
email.from.address |
keyword |
The sender's email address. |
email.message_id |
wildcard |
Value from the Message-ID header. |
email.to.address |
keyword |
Email address of recipient |
event.action |
keyword |
The action captured by the event. |
event.category |
keyword |
Event category. The second categorization field in the hierarchy. |
event.dataset |
keyword |
Name of the dataset. |
event.provider |
keyword |
Source of the event. |
event.type |
keyword |
Event type. The third categorization field in the hierarchy. |
mimecast.siem.aggregate_id |
keyword |
Unique identifier that allows you to correlate/group related events. |
mimecast.siem.delivered |
boolean |
If the email was delivered successfully or not. |
mimecast.siem.delivery_errors |
keyword |
Information about any errors that occurred on the delivery attempt. |
mimecast.siem.hold_reason |
keyword |
The reason the email was held for review (quarantined), if applicable. |
mimecast.siem.processing_id |
keyword |
Unique identifier that allows you to correlate/group related events. |
mimecast.siem.rejection.code |
number |
The rejection code issued if the email was rejected at the receipt stage. |
mimecast.siem.rejection.info |
keyword |
The rejection information if the email was rejected at the receipt stage. |
mimecast.siem.rejection.type |
keyword |
The rejection type if the email was rejected at the receipt stage. |
mimecast.siem.virus_found |
keyword |
The name of the virus found on the email, if applicable. |
source.ip |
ip |
IP address of the source. |
For more information on the Intake Format, please find the code of the Parser, Smart Descriptions, and Supported Events here.