Взлом облікового запису
Reading time: 6 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте 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:
Повторне використання токена скидання
Якщо цільова система дозволяє повторне використання посилання на скидання, слід докласти зусиль, щоб знайти більше посилань на скидання, використовуючи такі інструменти, як gau
, wayback
або scan.io
.
Перед взломом облікового запису
- Електронну пошту жертви слід використовувати для реєстрації на платформі, і слід встановити пароль (слід спробувати підтвердити його, хоча відсутність доступу до електронних листів жертви може зробити це неможливим).
- Слід дочекатися, поки жертва зареєструється, використовуючи OAuth, і підтвердить обліковий запис.
- Сподіваємося, що звичайна реєстрація буде підтверджена, що дозволить отримати доступ до облікового запису жертви.
Неправильна конфігурація CORS для взлому облікового запису
Якщо сторінка містить неправильні конфігурації CORS, ви можете вкрасти чутливу інформацію у користувача, щоб взяти під контроль його обліковий запис або змусити його змінити інформацію про авторизацію з тією ж метою:
CORS - Misconfigurations & Bypass
CSRF для взлому облікового запису
Якщо сторінка вразлива до CSRF, ви можете змусити користувача змінити свій пароль, електронну пошту або аутентифікацію, щоб потім отримати до них доступ:
CSRF (Cross Site Request Forgery)
XSS для взлому облікового запису
Якщо ви знайдете XSS в додатку, ви можете вкрасти куки, локальне сховище або інформацію зі сторінки, що може дозволити вам взяти під контроль обліковий запис:
Те ж саме походження + куки
Якщо ви знайдете обмежений XSS або захоплення піддомену, ви можете грати з куками (наприклад, фіксуючи їх), щоб спробувати скомпрометувати обліковий запис жертви:
Атака на механізм скидання пароля
Reset/Forgotten Password Bypass
Маніпуляція відповіддю
Якщо відповідь аутентифікації можна звести до простого булевого значення, просто спробуйте змінити false на true і подивіться, чи отримаєте ви доступ.
OAuth для взлому облікового запису
Впровадження заголовка Host
- Заголовок Host змінюється після ініціації запиту на скидання пароля.
- Заголовок проксі
X-Forwarded-For
змінюється наattacker.com
. - Заголовки Host, Referrer і Origin одночасно змінюються на
attacker.com
. - Після ініціації скидання пароля та вибору повторної відправки електронної пошти використовуються всі три вищезгадані методи.
Маніпуляція відповіддю
- Маніпуляція кодом: Статус-код змінюється на
200 OK
. - Маніпуляція кодом і тілом:
- Статус-код змінюється на
200 OK
. - Тіло відповіді змінюється на
{"success":true}
або на порожній об'єкт{}
.
Ці техніки маніпуляції ефективні в сценаріях, де JSON використовується для передачі та отримання даних.
Зміна електронної пошти поточної сесії
З цього звіту:
- Зловмисник запитує зміну своєї електронної пошти на нову
- Зловмисник отримує посилання для підтвердження зміни електронної пошти
- Зловмисник надсилає жертві посилання, щоб вона його натиснула
- Електронна пошта жертви змінюється на вказану зловмисником
- Зловмисник може відновити пароль і взяти під контроль обліковий запис
Це також сталося в цьому звіті.
Обхід перевірки електронної пошти для взлому облікового запису
- Зловмисник входить з attacker@test.com і підтверджує електронну пошту під час реєстрації.
- Зловмисник змінює підтверджену електронну пошту на victim@test.com (без вторинної перевірки при зміні електронної пошти)
- Тепер веб-сайт дозволяє victim@test.com увійти, і ми обійшли перевірку електронної пошти користувача жертви.
Старі куки
Як пояснено в цьому пості, було можливим увійти в обліковий запис, зберегти куки як аутентифікований користувач, вийти, а потім знову увійти.
При новому вході, хоча можуть бути згенеровані інші куки, старі знову почали працювати.
Посилання
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.