hacktricks/pentesting-web/email-injections.md

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:

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:

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

Ominięcie białej listy

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

Cytaty

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

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

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

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ć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

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:


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" %}