9.8 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_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Zacznij od zera i zostań ekspertem AWS w dziedzinie hakerskiej 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
Wstrzyknięcie argumentu Temat
Wiadomość zostanie wysłana do pierwotnego odbiorcy oraz do konta atakującego.
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ż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 wyciek plików lub nawet wykonanie 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ę do innej usługi, 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: 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 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ż 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).
Zachowanie niskiego wskaźnika twardych odrzutów jest kluczowe dla zapewnienia nieprzerwanej usługi e-mailowej i utrzymania 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 hakerskimi, przesyłając PR do HackTricks i HackTricks Cloud github repos.
Użyj Trickest do łatwego tworzenia i automatyzacji workflow opartych na najbardziej zaawansowanych narzędziach społeczności.
Zdobądź dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}