9.9 KiB
Wstrzykiwanie e-maili
Użyj Trickest, aby łatwo tworzyć i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Otrzymaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
Zacznij od zera i zostań ekspertem w hakowaniu AWS dzięki htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Kup oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na githubie.
Wstrzyknięcie w wysłany e-mail
Wstrzyknięcie Cc i Bcc po argumencie nadawcy
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
Wiadomość zostanie wysłana do kont odbiorcy i odbiorcy1.
Wstrzyknięcie argumentu
From:sender@domain.com%0ATo:attacker@domain.com
Wstrzyknięcie argumentu Temat
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
Zmiana treści wiadomości
Wstrzyknij dwie linie odstępu, a następnie napisz swoją wiadomość, aby zmienić treść wiadomości.
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
Wykorzystanie funkcji PHP mail()
# 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. parametr ($additional_parameters)
Ta sekcja będzie oparta na sposobach nadużywania tego parametru zakładając, że atakujący go kontroluje.
Ten parametr zostanie dodany do wiersza poleceń, który PHP będzie używał do wywołania binarnego sendmail. Jednak zostanie zdezynfekowany za pomocą funkcji escapeshellcmd($additional_parameters)
.
Atakujący może wstrzykiwać dodatkowe parametry dla sendmail w tym przypadku.
Różnice w implementacji /usr/sbin/sendmail
Interfejs sendmail jest dostarczany przez oprogramowanie MTA email (Sendmail, Postfix, Exim itp.) zainstalowane w systemie. Chociaż podstawowa funkcjonalność (takie jak parametry -t -i -f) pozostaje taka sama ze względów kompatybilności, inne funkcje i parametry różnią się znacznie w zależności od zainstalowanego MTA.
Oto kilka przykładów różnych stron podręcznika polecenia sendmail:
- 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
W zależności od pochodzenia binarnego sendmail odkryto różne opcje nadużywania ich i wyciek plików lub nawet wykonywanie arbitralnych poleceń. Sprawdź jak to zrobić w https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Wstrzykiwanie w nazwę e-mail
Pominięte części e-maila
Symbole: +, - i {} w rzadkich przypadkach mogą być używane do oznaczania i są ignorowane przez większość serwerów e-mail
Komentarze między nawiasami () na początku lub na końcu również będą ignorowane
- Np. john.doe(intigriti)@example.com → john.doe@example.com
Ominięcie białej listy
Cytaty
Adresy IP
Możesz również używać adresów IP jako nazwę domeny między nawiasami kwadratowymi:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
Inne podatności
SSO zewnętrzny
XSS
Niektóre usługi takie jak github lub salesforce pozwalają na utworzenie adresu e-mail z ładunkami XSS. Jeśli możesz użyć tych dostawców do logowania się w innych usługach i te usługi nie dezynfekują poprawnie adresu e-mail, możesz spowodować XSS.
Przejęcie konta
Jeśli usługa SSO pozwala na utworzenie konta bez weryfikacji podanego adresu e-mail (tak jak salesforce) a następnie możesz użyć tego konta do zalogowania się w innej usłudze, która ufa salesforce, możesz uzyskać dostęp do dowolnego konta.
Zauważ, że salesforce wskazuje, czy podany adres e-mail został zweryfikowany czy nie, więc aplikacja powinna uwzględnić tę informację.
Reply-To
Możesz wysłać e-mail używając Od: firma.com i Odpowiedz do: atakujący.com i jeśli jakakolwiek automatyczna odpowiedź zostanie wysłana z powodu e-maila wysłanego z wewnętrznego adresu, atakujący może być w stanie otrzymać tę odpowiedź.
Wskaźnik odrzuceń
Pewne usługi, takie jak AWS, implementują próg znany jako Wskaźnik odrzuceń, zazwyczaj ustawiony na poziomie 10%. Jest to kluczowa metryka, zwłaszcza dla usług dostarczania e-maili. Przekroczenie tego wskaźnika może spowodować zawieszenie lub zablokowanie usługi, takiej jak usługa e-mailowa AWS.
Twardy odrzut odnosi się do e-maila, który został zwrócony do nadawcy, ponieważ adres odbiorcy jest nieprawidłowy lub nieistniejący. Może to wystąpić z różnych powodów, takich jak wysłanie e-maila na nieistniejący adres, domenę, która nie istnieje, lub odmowę serwera odbiorcy przyjęcia e-maili.
W kontekście AWS, jeśli wysyłasz 1000 e-maili i 100 z nich kończy się twardymi odrzutami (z powodu np. nieprawidłowych adresów lub domen), oznacza to wskaźnik twardych odrzutów na poziomie 10%. Osiągnięcie lub przekroczenie tego wskaźnika może spowodować zablokowanie lub zawieszenie możliwości wysyłania e-maili przez AWS SES (Simple Email Service).
Konieczne jest utrzymanie niskiego wskaźnika twardych odrzutów, aby zapewnić nieprzerwane świadczenie usług e-mail i utrzymanie reputacji nadawcy. Monitorowanie i zarządzanie jakością adresów e-mail na listach mailingowych może znacząco pomóc w osiągnięciu tego celu.
Aby uzyskać bardziej szczegółowe informacje, można odwołać się do oficjalnej dokumentacji AWS dotyczącej obsługi odrzuceń i skarg AWS SES Bounce Handling.
Referencje
- 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
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF Sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 Grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR do HackTricks i HackTricks Cloud github repos.
Użyj Trickest do łatwego tworzenia i automatyzacji workflowów z wykorzystaniem najbardziej zaawansowanych narzędzi społecznościowych na świecie.
Zdobądź dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}