Operational Workflow
A typical Phishmonger operation follows this workflow:1
Craft Email in Outlook
Create your phishing email in Outlook with all formatting, images, and links
2
Capture Email
Use Phishmonger’s capture feature to receive the email and parse it into sections
3
Modify and Template
Make modifications, add string substitutions, and save as template or campaign
4
Configure Campaign
Set SMTP settings, phishing link, and email delay parameters
5
Add Targets
Import or manually add target email addresses with metadata
6
Test Email
Send test emails to verify deliverability and appearance
7
Launch Campaign
Send immediately or schedule for later execution
8
Monitor Results
Track email delivery, clicks, and interactions in real-time
Accessing Phishmonger
Admin Interface
Navigate to your Phishmonger domain:- Create Campaign: Start email capture and campaign creation workflow
- Campaign List: Table of existing campaigns with names and links
- Phishmarket (if configured): Access remote template library
API Documentation
Phishmonger includes built-in OpenAPI documentation:Creating Your First Email
Starting Email Capture
1
Navigate to Create Campaign
From the admin interface, click “Create Campaign”
2
Start SMTP Listener
Click the “Capture Email” button. The button should turn grey indicating the listener is active on port 25
3
Send from Outlook
Open Outlook and create your phishing email with all desired formatting, images, and content
4
Send to Phishmonger
Send the email to any address at your phishmonger domain:The username portion is ignored - all emails to your domain are captured
5
Automatic Parsing
Phishmonger automatically parses the email and displays all MIME sections in the web interface
Understanding Captured Email Sections
After capture, you’ll see the email broken into sections: Headers- SMTP headers and email headers
- Subject, From, To, Date, Content-Type, etc.
- Plain text body (if present)
- HTML body (if present)
- Attachments and embedded images
Email Editing Buttons
Phishmonger provides several buttons to help process captured emails:Global Email Buttons
These buttons affect the entire email: Reset Captured Email- Reverts all changes to the original captured state
- Useful when you make mistakes and want to start over
- Does not require re-sending the email from Outlook
- Strips out unnecessary and revealing SMTP headers
- Keeps only RFC-required headers (From, To, Subject, Date, Message-ID, MIME-Version)
- Recommended for reducing email fingerprinting
- Shows a rendered preview of the HTML email
- Displays how the email will appear to recipients
- Useful for verifying formatting and layout
- Global find and replace across all email sections and headers
- Case-sensitive string replacement
- Example: Replace company names or specific URLs
Section-Specific Buttons
These buttons operate on individual content sections: Base64 Decode- Decodes Base64-encoded content sections
- Email bodies are often Base64 encoded for transmission
- Decode before editing, or Phishmonger will send as-is
- Decodes Quoted-Printable encoded text
- Identified by
=at end of lines - Common in email bodies with special characters
- Formats and indents HTML content for readability
- Makes manual HTML editing easier
- Does not change rendered output
- Replaces external image URLs with CID references
- Downloads external images and embeds them in the email
- Converts
<img src="http://...">to<img src="cid:image1"> - Adds images as MIME attachments
- Shows a preview of an individual image attachment
- Does NOT preview the entire email
- Only works on image content sections
String Substitutions
Phishmonger automatically replaces specific strings in your email with target-specific values:| String | Replaced With | Example |
|---|---|---|
SuppliedPhishingLink | Campaign phishing URL + tracking parameter | https://evil.com/?id=abc123 |
SuppliedFirstName | Target’s first name | John |
SuppliedLastName | Target’s last name | Smith |
SuppliedPosition | Target’s job title | IT Administrator |
SuppliedCustomReplacement | Custom field per target | +1-555-0123 |
SuppliedToAddress | Target’s email address | john.smith@target.com |
DateTimeStamp | Current timestamp (RFC 2822 format) | Mon, 15 Dec 2023 14:30:00 -0500 |
Using String Substitutions
In your HTML content:String substitutions are case-sensitive. Use exact spelling shown in the table above.
Configuring Campaign Settings
After capturing and editing your email, configure campaign settings:Campaign Name
Purpose: Unique identifier for the campaign Requirements:- Unique across all campaigns
- No spaces recommended
- Used in event tracking and database queries
Q4_2023_VPN_Phish
SMTP Settings
Mail Server
Options:- Target’s MX server for direct delivery
- SMTP relay for authenticated sending
SMTP From
Format:sender@yourdomain.com
Considerations:
- Must use a domain you control
- Should have SPF/DKIM records configured
- Used for bounce messages
it-security@yourdomain.com
Secure Mail
Options:- Enabled: Port 465 with TLS (for authenticated relays)
- Disabled: Port 25 without TLS (for direct delivery)
Username/Password
When Required:- Using authenticated SMTP relay (SendGrid, AWS SES, etc.)
- Direct server-to-server delivery
- Anonymous SMTP relays
DKIM Signing
Options: Enable/Disable When to Enable:- You have DKIM properly configured in DNS
- Sending from a domain you control
- Want maximum deliverability
- Testing without proper DNS
- Using a relay that does its own signing
Phishing Link Configuration
Phishing Link URL
Purpose: Base URL for your payload delivery or credential harvesting server Format:https://payload-domain.com or https://payload-domain.com/path
Recommendation: Use Humble Chameleon for advanced payload delivery
ID Parameter
Purpose: URL parameter name for tracking individual targets Default:id
Example: If set to id, links become:
user, links become:
Email Delay
Purpose: Seconds to wait between sending each email Minimum: 1 second Recommended: 30-60 seconds Maximum: No hard limit Considerations:- Slower sending reduces chance of rate limiting
- Faster sending completes campaign quicker
- Very fast sending may trigger spam filters
Testing Emails
Before launching a campaign, always test:Send Test Email
1
Configure SMTP Settings
Fill in all SMTP configuration fields
2
Add Test Target
Enter a test email address you control
3
Click Send Test
The “Send Test” button sends one email to the specified address
4
Check Inbox
Verify the email arrived and displays correctly
5
Check Spam Folder
If not in inbox, check spam/junk folder
Test with mail-tester.com
For detailed deliverability analysis:1
Visit mail-tester.com
2
Get Test Address
Copy the unique test email address provided (e.g., test-abc123@srv1.mail-tester.com)
3
Send Test to Address
Use Phishmonger’s “Send Test” with the mail-tester address
4
Check Score
Click “Then check your score” on mail-tester.com
5
Review Results
Examine SPF, DKIM, DMARC, blacklist status, and spam score
- Missing or failed DKIM signature
- SPF record not configured
- Reverse DNS not set
- IP on blacklist
- Suspicious content patterns
Saving Work
After editing and testing, save your work:Save as Template
Purpose: Reusable generic email template Use When:- Creating templates for future campaigns
- Want to reuse email content with different targets
- Building a template library
- Email content (all MIME sections)
- Headers (optional - can be reset to RFC only)
- SMTP settings
- Target list
- Campaign scheduling
- Navigate to admin interface
- Click “Create Campaign”
- Select template from dropdown
- Click “Campaign from Template”
Save as Campaign
Purpose: Complete campaign ready for target list Use When:- Ready to create a specific campaign
- Have configured all SMTP settings
- Want to preserve complete email + settings
- Email content (all MIME sections)
- SMTP settings (server, auth, DKIM)
- Phishing link and ID parameter
- Email delay
- Target list (added separately)
- Campaign scheduling (configured later)
- Navigate to admin interface (/admin)
- Click campaign name in the list
- Add targets and launch
Campaign from Template
To quickly create a campaign from an existing template:1
Create Campaign Page
Navigate to “Create Campaign” from admin interface
2
Select Template
Choose template from the “Select Template” dropdown
3
Load Template
Click “Campaign from Template” button
4
Configure Settings
Email content is loaded. Configure SMTP settings and phishing link
5
Save as Campaign
Save as a new campaign with a unique name
Navigation
Back to Campaigns
The “Back to Campaigns” button returns you to the admin interface showing all campaigns.Campaign Management
From the admin interface (/admin):
View Campaign:
- Click campaign name to open campaign details
- Modify campaign settings (SMTP, link, email content)
- View real-time events and statistics
- Add, remove, or modify target list
- Remove campaign, targets, and associated events
SMTP Command Monitoring
During email sending (test or campaign), SMTP protocol commands are displayed in real-time via WebSocket. Example Output:- Debugging delivery issues
- Understanding SMTP protocol interaction
- Identifying authentication problems
- Learning SMTP behavior
Best Practices
Crafting Effective Emails
Subject Lines:- Use urgency or authority
- Keep under 50 characters
- Avoid spam trigger words
- Match target organization’s branding
- Use appropriate tone (formal vs casual)
- Include legitimate-looking links and images
- Minimal spelling/grammar errors
- Avoid excessive capitalization or exclamation marks
- Use realistic sender names
- Match organizational structure (it-security@, noreply@, admin@)
- Consider using lookalike domains
Operational Security
Testing:- Always send test emails first
- Test to multiple email providers (Gmail, Outlook, internal)
- Verify all links work correctly
- Check rendering on mobile devices
- Business hours increase open rates
- Avoid Friday afternoons and Monday mornings
- Consider target organization’s timezone
- Stagger emails to avoid detection
- Use appropriate delays (30-60 seconds recommended)
- Don’t send too fast to single domain
- Monitor for bounce backs or blocks
- Keep campaign tracking page open
- Watch for ERROR events
- Check real-time event feed
- Respond to unexpected behaviors
Troubleshooting During Operations
Email Not Sending:- Check SMTP settings
- Verify port 25 is open
- Test with authenticated relay
- Check server logs
- Verify SPF record
- Check DKIM signing
- Test with mail-tester.com
- Reduce suspicious content
- Verify “Capture Email” button is grey (active)
- Check DNS MX record points to your server
- Test with telnet to port 25
- Review server logs
Common Workflows
Workflow 1: Simple Campaign
For a straightforward phishing campaign:- Create email in Outlook → Send to Phishmonger
- Click “RFC Only Headers”
- Add
SuppliedPhishingLinkto HTML body - Configure direct SMTP delivery
- Save as campaign
- Add target list
- Send test email
- Launch campaign
Workflow 2: Template-Based Campaign
For campaigns using existing templates:- Select template from dropdown
- Load campaign from template
- Modify email content if needed
- Configure SMTP settings
- Set phishing link
- Save as campaign
- Add targets
- Launch campaign
Workflow 3: Testing Email Deliverability
For testing and improving deliverability:- Craft email in Outlook
- Capture in Phishmonger
- Enable DKIM signing
- Send test to mail-tester.com
- Review mail-tester score
- Fix identified issues (SPF, DKIM, content)
- Re-test until score is 8+
- Launch campaign
Workflow 4: Scheduled Campaign
For campaigns that start at a specific time:- Create and save campaign
- Add target list
- Navigate to campaign tracking page
- Set schedule time
- Click “Schedule Campaign”
- Campaign automatically starts at specified time
- Monitor events in real-time
Next Steps
- Learn about Campaign Management for launching and scheduling
- Review Target Management for adding target lists
- Explore Event Tracking for monitoring campaigns
- Configure Integrations for Humble Chameleon