Invoke-MailSearch - Empire Module
This page contains detailed information about how to use the powershell/management/mailraider/mail_search Empire module. For list of all Empire modules, visit the Empire Module Library.
Module Overview
Name: Invoke-MailSearch
Module: powershell/management/mailraider/mail_search
Source code [1]: empire/server/modules/powershell/management/mailraider/mail_search.yaml
Source code [2]: empire/server/data/module_source/management/MailRaider.ps1
MITRE ATT&CK:
T1114
Language: PowerShell
Needs admin: No
OPSEC safe: Yes
Background: Yes
The mail_search module searches the given Outlook folder for items (Emails, Contacts, Tasks, Notes, etc. *Depending on the folder*) and returns any matches found.
This module runs in a foreground and is OPSEC unsafe as it writes on the disk and therefore could be detected by AV/EDR running on the target system.
Note that the mail_search module does not need administrative privileges to work properly which means that a normal user can run this module.
Required Module Options
This is a list of options that are required by the mail_search module:
Agent
Agent to run module on.
DefaultFolder
Folder to search in.
Default value: Inbox
.
Keywords
Keyword/s to search for.
MaxThreads
Maximum number of threads to use when searching.
Default value: 15
.
Additional Module Options
This is a list of additional options that are supported by the mail_search module:
File
Path to results file (instead of stdout).
MaxResults
Maximum number of results to return.
Default value: 100
.
MaxSearch
Maximum number of emails to search through.
OutputFunction
PowerShell's output function to use ("Out-String", "ConvertTo-Json", "ConvertTo-Csv", "ConvertTo-Html", "ConvertTo-Xml").
Default value: Out-String
.
Suggested values: Out-String
, ConvertTo-Json
, ConvertTo-Csv
, ConvertTo-Html
, ConvertTo-Xml
.
Mail_search Example Usage
Here's an example of how to use the mail_search module in the Empire client console:
[+] New agent Y4LHEV83 checked in
[*] Sending agent (stage 2) to Y4LHEV83 at 192.168.204.135
(empire usestager/windows/ducky) > usemodule powershell/management/mailraider/mail_search
Author @xorrior
Background True
Comments https://github.com/xorrior/EmailRaider
http://www.xorrior.com/phishing-on-the-inside/
Description Searches the given Outlook folder for items (Emails, Contacts, Tasks,
Notes, etc. *Depending on the folder*) and returns any matches found.
Language powershell
Name powershell/management/mailraider/mail_search
NeedsAdmin False
OpsecSafe True
Techniques http://attack.mitre.org/techniques/T1114
,Record Options--,------------,----------,-------------------------------------,
| Name | Value | Required | Description |
|----------------|------------|----------|-------------------------------------|
| Agent | | True | Agent to run module on. |
|----------------|------------|----------|-------------------------------------|
| DefaultFolder | Inbox | True | Folder to search in. |
|----------------|------------|----------|-------------------------------------|
| File | | False | Path to results file (instead of |
| | | | stdout). |
|----------------|------------|----------|-------------------------------------|
| Keywords | | True | Keyword/s to search for. |
|----------------|------------|----------|-------------------------------------|
| MaxResults | 100 | False | Maximum number of results to |
| | | | return. |
|----------------|------------|----------|-------------------------------------|
| MaxSearch | | False | Maximum number of emails to search |
| | | | through. |
|----------------|------------|----------|-------------------------------------|
| MaxThreads | 15 | True | Maximum number of threads to use |
| | | | when searching. |
|----------------|------------|----------|-------------------------------------|
| OutputFunction | Out-String | False | PowerShell's output function to use |
| | | | ("Out-String", "ConvertTo-Json", |
| | | | "ConvertTo-Csv", "ConvertTo-Html", |
| | | | "ConvertTo-Xml"). |
'----------------'------------'----------'-------------------------------------'
(Empire: usemodule/powershell/management/mailraider/mail_search) > set Agent Y4LHEV83
[*] Set Agent to Y4LHEV83
(Empire: usemodule/powershell/management/mailraider/mail_search) > set DefaultFolder Inbox
[*] Set DefaultFolder to Inbox
(Empire: usemodule/powershell/management/mailraider/mail_search) > set Keywords value
[*] Set Keywords to value
(Empire: usemodule/powershell/management/mailraider/mail_search) > set MaxThreads 15
[*] Set MaxThreads to 15
(Empire: usemodule/powershell/management/mailraider/mail_search) > execute
[*] Tasked Y4LHEV83 to run Task 1
...
Now wait for the results to come.
Author
References
- https://github.com/BC-SECURITY/Empire/tree/master/empire/server/modules/powershell/management/mailraider/mail_search.yaml
- https://github.com/BC-SECURITY/Empire/tree/master/empire/server/data/module_source/management/MailRaider.ps1
- https://github.com/xorrior/EmailRaider
- http://www.xorrior.com/phishing-on-the-inside/
- http://attack.mitre.org/techniques/T1114
- http://bigorg.com/projections.xls
- https://social.technet.microsoft.com/forums/windowsserver/en-US/6b25cbd2-2bff-4820-ab53-796e306066eb/defining-custom-outlook-rules-using-powershell
- https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerView/powerview.ps1#L5672
See Also
Check also the following modules related to this module:
- powershell/management/mailraider/get_subfolders
- powershell/management/mailraider/send_mail
- powershell/management/mailraider/view_email
- powershell/management/mailraider/search_gal
- powershell/management/mailraider/get_emailitems
- powershell/management/mailraider/disable_security
- python/collection/osx/search_email
- python/persistence/osx/mail
Version
This page has been created based on Empire version 4.1.3 (BC Security Fork).
Visit Empire Module Library for more modules.