hacktricks/pentesting-web/email-injections.md
2024-02-10 13:11:20 +00:00

9.9 KiB

Ubacivanje e-pošte


Koristite Trickest da biste lako izgradili i automatizovali radne tokove koji se pokreću najnaprednijim alatima zajednice na svetu.
Dobijte pristup danas:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Ubacivanje u poslatu e-poštu

Ubacivanje Cc i Bcc nakon argumenta pošiljaoca

From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com

Ubaci argument

The message will be sent to the recipient and recipient1 accounts.

Ubaci argument

From:sender@domain.com%0ATo:attacker@domain.com

Poruka će biti poslata originalnom primaocu i nalogu napadača.

Ubacivanje argumenta Subject

From:sender@domain.com%0ASubject:This is%20Fake%20Subject

Lažna tema će biti dodata originalnoj temi i u nekim slučajevima će je zameniti. To zavisi od ponašanja mail servisa.

Promena sadržaja poruke

Ubacite dve prazne linije, a zatim napišite svoju poruku kako biste promenili sadržaj poruke.

From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.

Iskorišćavanje funkcije PHP mail()

The mail() funkcija u PHP-u omogućava slanje email poruka iz web aplikacija. Međutim, ova funkcija može biti iskorišćena za izvršavanje email ubacivanja (email injection) napada.

Email ubacivanje je tehnika koja omogućava napadaču da ubaci zlonamerni sadržaj u email poruku, iskorišćavajući nedostatak provere unosa podataka. Ovo može dovesti do različitih vrsta napada, kao što su phishing napadi, slanje spam poruka ili čak izvršavanje zlonamernog koda na serveru.

Da bi se iskoristila ova ranjivost, napadač mora da ubaci specijalne karaktere poput novog reda (\n) ili zagrade (()) u polja za unos podataka kao što su "To", "Subject" ili "Additional Headers". Kada se ovi karakteri ubace, napadač može da kontroliše sadržaj email poruke ili čak da ubaci dodatne email adrese za slanje poruka.

Da biste sprečili iskorišćavanje email ubacivanja, trebali biste koristiti sigurne metode za validaciju i sanitizaciju unosa podataka. Takođe, preporučuje se korišćenje funkcija za slanje email poruka koje automatski vrše proveru i sanitizaciju unosa podataka, kao što je PHPMailer biblioteka.

Važno je da se ova ranjivost shvati ozbiljno i da se preduzmu odgovarajuće mere kako bi se zaštitili korisnici i serveri od potencijalnih napada.

# 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 ]
}
}

5. parametar ($dodatni_parametri)

Ova sekcija će se bazirati na zloupotrebi ovog parametra pod pretpostavkom da ga napadač kontroliše.

Ovaj parametar će biti dodat u komandnoj liniji koju će PHP koristiti za pozivanje binarnog sendmail-a. Međutim, biće sanitizovan funkcijom escapeshellcmd($dodatni_parametri).

Napadač može ubaciti dodatne parametre za sendmail u ovom slučaju.

Razlike u implementaciji /usr/sbin/sendmail

sendmail interfejs je pružen od strane MTA email softvera (Sendmail, Postfix, Exim itd.) instaliranog na sistemu. Iako osnovna funkcionalnost (kao što su -t -i -f parametri) ostaje ista iz razloga kompatibilnosti, ostale funkcije i parametri se znatno razlikuju u zavisnosti od instaliranog MTA.

Evo nekoliko primera različitih stranica sa uputstvima za sendmail komandu/interfejs:

Zavisno o poreklu sendmail binarnog fajla, otkrivene su različite opcije za zloupotrebu i provaljivanje fajlova ili čak izvršavanje proizvoljnih komandi. Pogledajte kako to uraditi na https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html

Ubacivanje u ime e-pošte

Ignorisani delovi e-pošte

Simboli: +, - i {} u retkim slučajevima mogu se koristiti za označavanje i biti ignorisani od strane većine e-poštnih servera

Komentari između zagrada () na početku ili kraju takođe će biti ignorisani

Bypass belih listi

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

Navodnici

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

IP adrese

Takođe možete koristiti IP adrese kao nazive domena između uglatih zagrada:

  • john.doe@[127.0.0.1]
  • john.doe@[IPv6:2001:db8::1]

Ostale ranjivosti

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

SSO treće strane

XSS

Neke usluge poput github-a ili salesforce-a vam omogućavaju da kreirate adresu e-pošte sa XSS payload-om. Ako možete koristiti ove provajdere za prijavu na druge usluge i ove usluge ne sanitizuju ispravno e-poštu, možete izazvati XSS.

Preuzimanje naloga

Ako SSO usluga vam omogućava da kreirate nalog bez provere unete e-pošte (kao što je salesforce) i zatim možete koristiti taj nalog za prijavu na drugu uslugu koja veruje salesforce-u, možete pristupiti bilo kom nalogu.
Napomena da salesforce pokazuje da li je uneta e-pošta verifikovana ili ne, ali aplikacija bi trebalo da uzme u obzir ovu informaciju.

Odgovori na e-poštu

Možete poslati e-poštu koristeći From: company.com i Replay-To: attacker.com i ako se pošalje automatski odgovor zbog toga što je e-pošta poslata sa interne adrese, napadač može biti u mogućnosti da primi taj odgovor.

Stopa tvrdog odbijanja

Određene usluge, poput AWS-a, implementiraju prag poznat kao Stopa tvrdog odbijanja, obično postavljen na 10%. Ovo je ključna metrika, posebno za usluge isporuke e-pošte. Kada se ova stopa premaši, usluga, poput AWS-ove usluge e-pošte, može biti suspendovana ili blokirana.

Tvrdi odbijanje se odnosi na e-poštu koja je vraćena pošiljaocu jer je adresa primaoca nevažeća ili nepostojeća. To može biti posledica različitih razloga, kao što je slanje e-pošte na nevažeću adresu, nepostojeći domen ili odbijanje servera primaoca da prihvati e-poštu.

U kontekstu AWS-a, ako pošaljete 1000 e-pošta i 100 od njih rezultira tvrdim odbijanjem (zbog razloga poput nevažećih adresa ili domena), to bi značilo stopu tvrdog odbijanja od 10%. Dostizanje ili prekoračenje ove stope može pokrenuti blokiranje ili suspenziju AWS SES (Simple Email Service) mogućnosti slanja e-pošte.

Važno je održavati nisku stopu tvrdog odbijanja kako bi se osigurala neprekidna usluga e-pošte i održala reputacija pošiljaoca. Praćenje i upravljanje kvalitetom adresa e-pošte na vašim listama za slanje može značajno pomoći u postizanju ovog cilja.

Za detaljnije informacije, može se pogledati zvanična dokumentacija AWS-a o rukovanju odbijanjima i pritužbama na AWS SES Bounce Handling.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: