Mail Message-Id Fingerprinting Implementation

Mail Message-Id Fingerprinting Implementation

Marc Ruef
by Marc Ruef
time to read: 3 minutes

Im Beitrag Mail Message-Id Fingerprinting haben wir darauf hingewiesen, dass anhand der Message-Id im SMTP-Header eines Emails mittels Application Fingerprinting das eingesetzte Produkte erkannt werden kann. Die letzten Wochen waren wir darum bemüht, sowohl die Struktur dieser mir Regular Expressions (RegExp) abzubilden, als auch eine funktionierende Implementierung für ein automatisiertes Message-Id Fingerprinting umzusetzen.

Die nachfolgende Tabelle zeigt die Strukturen für die jeweiligen Implementierungen. Dabei wurde versucht jene Minor-Versionen ohne Abweichungen in die jeweilige Major-Version zusammenzufassen.

Implementation Regular Expression
Apple Mail 2.930 /^[0-9A-F]{8}\-([0-9A-F]{4}\-){3}[0-9A-F]{12}\@.$/
Claws Mail 3.x /^(199[0-9]|20\d{2})(0[1-9]|1[0-2])([0-2][1-9]|3[0-1])([0-1][0-9]|2[0-3])([0-6][0-9]){2}\.[0-9a-f]{8}\@.+$/
CrossPoint v3.12 /^\w{11}\@.+$/
Envios v2 /^[0-9a-f]{32}\@.+$/
Evolution 2.26.1 /^\d{10}\.\d{4}\.\d\.camel\@.+$/
Forte Agent 1.5 /^[0-9a-f]{8}\.\d{9}\@.+$/
Forte Agent 1.7 /^[0-9a-f]{8}\.\d{9}\@.+$/
Forte Agent 1.8 /^([0-9a-z]{6}\$[0-9a-z]{3}\$[0-9])|([0-9a-z]{34})\@.+$/
Forte Agent 1.91 /^[0-9a-z]{34}\@.+$/
Forte Agent 1.92 /^[0-9a-z]{34}\@.+$/
Forte Agent 1.93 (Deutsch) /^[0-9a-f]{8}\.\d{9}\@.+$/
Forte Agent 1.93 (English) /^[0-9a-z]{34}\@.+$/
Forte Agent 2 /^[0-9a-z]{34}\@.+$/
Forte Agent 3 /^[0-9a-z]{34}\@.+$/
Forte Agent 4 /^[0-9a-z]{34}\@.+$/
Forte Agent 5 /^[0-9a-z]{34}\@.+$/
Forte Free Agent 1.11 /^[0-9a-f]{8}\.\d{7}\@.+$/
Forte Free Agent 1.21 /^[0-9a-f]{8}\.\d{9}\@.+$/
Forte Free Agent 2 /^[0-9a-z]{34}\@.+$/
Forte Free Agent 3 /^[0-9a-z]{34}\@.+$/
MicroPlanet Gravity v2 /^MPG\.[0-9a-z]{22}\@.+$/
Microsoft CDO for Exchange 2000 /^[0-9A-F]{32}\@.+$/
Microsoft CDO for Windows 2000 /^[0-9A-F]{32}\@.+$/
Microsoft Office Outlook 10 /^([0-9a-f]{8}|[0-9a-f]{12})(\$[0-9a-z]{8}){2}\@.+$/
Microsoft Office Outlook 11 /^([0-9A-F]{32})|(([0-9a-f]{8}\$){2}[0-9a-f]{8})\@.+$/
Microsoft Office Outlook 12 /^\d{14}\.[a-z]{9,11}\@.+$/
Microsoft Outlook Express 4.71.2173.0 /^([0-9a-f]{8}\$){2}[0-9a-z]{8}\@.+$/
Microsoft Outlook Express 5.5 /^[0-9a-f]{8}\$[0|1]\$\d{5}\$[0-9a-f]{8}\@.+$/
Microsoft Outlook Express 6 /^([0-9a-f]{8}|[0-9a-f]{12})(\$[0-9a-z]{8}){2}\@.+$/
Mozilla Thunderbird 2.0 /^[0-9A-F]{8}\.\d{7}\@.+$/
StrongMail Enterprise 4.1 /^\d{10}\.\d{5}\@.+$/
Sylpheed 2.5.0 /^\d{14}\.[0-9a-f]{8}\..+\@.+$/
The Bat! v2.00 /^\d{9}\.\d{14}\@.+$/
The Bat! v2.01 /^([0-9A-F]{24,25})|(\d{8,10}\.\d{14}\@.)$/
The Bat! v2.10.03 /^\d{9}\.\d{14}\@.+$/
The Bat! v3.5.25 /^\d{9}\.\d{14}\@.+$/
The Bat! v3.99 /^\d{9}\.2001\d(0\d|1[0-2])(0[1-9]|12\d)(01\d|2[0-3])([1-5]\d)\@.+$/

Eine Implementierung namens midfp-1.0 wurde in PHP umgesetzt. Mit dieser kann das Ableiten der Implementierung anhand einer Message-Id automatisiert umgesetzt werden. Der Proof-of-Concept kann hier heruntergeladen und hier online genutzt werden.

About the Author

Marc Ruef

Marc Ruef has been working in information security since the late 1990s. He is well-known for his many publications and books. The last one called The Art of Penetration Testing is discussing security testing in detail. He is a lecturer at several universities, like ETH, HWZ, HSLU and IKF. (ORCID 0000-0002-1328-6357)

Links

You need support in such a project?

Our experts will get in contact with you!

×
Password Leak Analysis

Password Leak Analysis

Marc Ruef

MITRE ATT&CK

MITRE ATT&CK

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

You want more?

Further articles available here

You need support in such a project?

Our experts will get in contact with you!

You want more?

Further articles available here