12 KiB
Взлом облікового запису
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Проблема авторизації
Електронну пошту облікового запису слід спробувати змінити, і процес підтвердження повинен бути перевірений. Якщо він виявиться слабким, електронну пошту слід змінити на адресу жертви та підтвердити.
Проблема нормалізації Unicode
- Обліковий запис жертви
victim@gmail.com
- Слід створити обліковий запис, використовуючи Unicode
наприклад:vićtim@gmail.com
Як пояснено в цьому виступі, попередню атаку також можна здійснити, зловживаючи сторонніми постачальниками ідентичності:
- Створіть обліковий запис у сторонньому постачальнику ідентичності з подібною електронною поштою до жертви, використовуючи деякий символ unicode (
vićtim@company.com
). - Сторонній постачальник не повинен перевіряти електронну пошту.
- Якщо постачальник ідентичності перевіряє електронну пошту, можливо, ви зможете атакувати доменну частину, наприклад:
victim@ćompany.com
і зареєструвати цей домен, сподіваючись, що постачальник ідентичності згенерує ASCII-версію домену, поки платформа жертви нормалізує ім'я домену. - Увійдіть через цього постачальника ідентичності на платформу жертви, яка повинна нормалізувати символ unicode і дозволити вам отримати доступ до облікового запису жертви.
Для отримання додаткових деталей зверніться до документа з нормалізації Unicode:
{% content-ref url="unicode-injection/unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}
Повторне використання токена скидання
Якщо цільова система дозволяє повторне використання посилання на скидання, слід докласти зусиль для пошуку додаткових посилань на скидання за допомогою таких інструментів, як gau
, wayback
або scan.io
.
Перед взломом облікового запису
- Електронну пошту жертви слід використовувати для реєстрації на платформі, і слід встановити пароль (слід спробувати підтвердити його, хоча відсутність доступу до електронних листів жертви може зробити це неможливим).
- Слід дочекатися, поки жертва зареєструється, використовуючи OAuth, і підтвердить обліковий запис.
- Сподіваємося, що звичайна реєстрація буде підтверджена, що дозволить отримати доступ до облікового запису жертви.
Неправильна конфігурація CORS для взлому облікового запису
Якщо сторінка містить неправильні конфігурації CORS, ви можете вкрасти чутливу інформацію у користувача, щоб взяти під контроль його обліковий запис або змусити його змінити інформацію для авторизації з тією ж метою:
{% content-ref url="cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}
CSRF для взлому облікового запису
Якщо сторінка вразлива до CSRF, ви можете змусити користувача змінити свій пароль, електронну пошту або аутентифікацію, щоб потім отримати до них доступ:
{% content-ref url="csrf-cross-site-request-forgery.md" %} csrf-cross-site-request-forgery.md {% endcontent-ref %}
XSS для взлому облікового запису
Якщо ви знайдете XSS в додатку, ви можете вкрасти куки, локальне сховище або інформацію зі сторінки, що може дозволити вам взяти під контроль обліковий запис:
{% content-ref url="xss-cross-site-scripting/" %} xss-cross-site-scripting {% endcontent-ref %}
Те ж саме походження + куки
Якщо ви знайдете обмежений XSS або захоплення піддомену, ви можете грати з куками (наприклад, фіксуючи їх), щоб спробувати скомпрометувати обліковий запис жертви:
{% content-ref url="hacking-with-cookies/" %} hacking-with-cookies {% endcontent-ref %}
Атака на механізм скидання пароля
{% content-ref url="reset-password.md" %} reset-password.md {% endcontent-ref %}
Маніпуляція відповіддю
Якщо відповідь аутентифікації можна звести до простого булевого значення, просто спробуйте змінити false на true і подивіться, чи отримаєте ви доступ.
OAuth для взлому облікового запису
{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}
Впровадження заголовка Host
- Заголовок Host змінюється після ініціації запиту на скидання пароля.
- Заголовок проксі
X-Forwarded-For
змінюється наattacker.com
. - Заголовки Host, Referrer і Origin одночасно змінюються на
attacker.com
. - Після ініціації скидання пароля та вибору повторної відправки електронної пошти використовуються всі три вищезгадані методи.
Маніпуляція відповіддю
- Маніпуляція кодом: Статус-код змінюється на
200 OK
. - Маніпуляція кодом і тілом:
- Статус-код змінюється на
200 OK
. - Тіло відповіді змінюється на
{"success":true}
або на порожній об'єкт{}
.
Ці техніки маніпуляції ефективні в сценаріях, де для передачі та отримання даних використовується JSON.
Зміна електронної пошти поточної сесії
З цього звіту:
- Зловмисник запитує зміну своєї електронної пошти на нову.
- Зловмисник отримує посилання для підтвердження зміни електронної пошти.
- Зловмисник надсилає жертві посилання, щоб вона його клікнула.
- Електронна пошта жертви змінюється на вказану зловмисником.
- Зловмисник може відновити пароль і взяти під контроль обліковий запис.
Це також сталося в цьому звіті.
Старі куки
Як пояснено в цьому пості, було можливим увійти в обліковий запис, зберегти куки як аутентифікований користувач, вийти, а потім увійти знову.
При новому вході, хоча можуть бути згенеровані інші куки, старі знову почали працювати.
Посилання
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.