Отримання зашифрованих облікових даних із загальних інструментів PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Вилучення зашифрованих облікових даних із загальних інструментів

Команда більшість кібератак покладатися на викрадені облікові дані — отримані або шляхом обману, щоб співробітники та кінцеві користувачі надали їх, або шляхом збору облікових даних домену, кешованих на робочих станціях та інших системах у мережі. Ці викрадені облікові дані дають зловмисникам можливість пересуватися всередині середовища, коли вони переходять від машини до машини — як локальної, так і хмарної — доки не досягнуть критично важливих для бізнесу активів.

У Порушення Uber ще у вересні нападники знайшов облікові дані в певному сценарії PowerShell. Але є багато менш яскравих, але не менш шкідливих способів, за допомогою яких зловмисники можуть знайти облікові дані, які дозволять їм отримати доступ до середовища. До них належать загальні локальні облікові дані, локальні користувачі зі схожими паролями та облікові дані, що зберігаються у файлах на мережевих ресурсах.

У нашому дослідженні ми зіткнулися з питанням про те, яку інформацію можна отримати зі зламаної машини — без використання будь-яких уразливостей — для переміщення вбік або вилучення конфіденційної інформації. Усі інструменти, які ми використовували тут, доступні на нашому GitHub сховище

Організації покладаються на кілька інструментів для автентифікації на серверах і базах даних за допомогою протоколів SSH, FTP, Telnet або RDP — і багато з цих інструментів зберігають облікові дані, щоб пришвидшити автентифікацію. Ми розглядаємо три таких інструменти — WinSCP, Robomongo та MobaXterm — щоб показати, як зловмисник може отримати облікові дані, що не містять відкритого тексту.

WinSCP: приховані облікові дані

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

WinSCP пропонує можливість зберігати облікові дані, які використовуються для підключення до віддалених машин через SSH. Хоча облікові дані приховуються під час збереження в реєстрі Windows (ComputerHKEY_CURRENT_USERSOFTWAREMartin PrikrylWinSCP 2Sessions), вони взагалі не зашифровані. Кожен, хто знає алгоритм, який використовується для обфускації, може отримати доступ до облікових даних.

Оскільки вихідний код WinSCP доступний на GitHub, ми змогли знайти алгоритм обфускації. Ми використали інструмент, який реалізував той самий алгоритм для деобфускації облікових даних, і ми отримали доступ до облікових даних у відкритому вигляді.

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

Robomongo: Not a Secret Key

Robomongo (тепер Robo 3T) — це клієнт MongoDB, який використовується для підключення до серверів баз даних Mongo. Коли ви зберігаєте свої облікові дані, вони шифруються та зберігаються в папці a robo3t.json файл JSON. Секретний ключ, який використовується для шифрування облікових даних, також зберігається локально, у вигляді відкритого тексту, у файлі a robo3t.key файлу.

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

Ми переглянули вихідний код Robomongo на GitHub, щоб зрозуміти, як ключ використовується для шифрування пароля, і дізналися, що він використовує бібліотеку SimpleCrypt з Qt. Хоча Robomongo використовує шифрування для безпечного зберігання облікових даних, той факт, що секретний ключ зберігається у відкритому вигляді, не є найкращою практикою. Зловмисники потенційно можуть прочитати його, оскільки будь-який користувач, який має доступ до робочої станції, може розшифрувати облікові дані. Навіть якщо інформація закодована таким чином, що люди не можуть прочитати, певні методи можуть визначити, яке кодування використовується, а потім декодувати інформацію.

MobaXterm: розшифровка пароля

MobaXterm — це потужний інструмент для підключення до віддалених машин за допомогою різних протоколів, таких як SSH, Telnet, RDP, FTP тощо. Користувачеві, який хоче зберегти облікові дані в MobaXterm, буде запропоновано створити головний пароль для захисту своїх конфіденційних даних. За замовчуванням MobaXterm запитує головний пароль лише на новому комп’ютері.

Це означає, що головний пароль десь зберігається, і MobaXterm отримає його для доступу до зашифрованих облікових даних. Ми використали Procmon із пакету Sysinternals Suite для зіставлення всіх розділів реєстру та файлів, до яких отримує доступ MobaXterm, і ми знайшли головний пароль, збережений у реєстрі Windows (ComputerHKEY_CURRENT_USERSOFTWAREMobatekMobaXtermM). Облікові дані та паролі зберігаються в розділах реєстру C і P відповідно.

Спочатку ми не змогли розшифрувати головний пароль, який був зашифрований за допомогою DPAPI. Зрештою ми з’ясували, що перші 20 байтів DPAPI, які завжди однакові під час використання DPAPI, були видалені. Коли ми додали перші 20 байтів, ми змогли розшифрувати шифр DPAPI, щоб отримати хеш SHA512 головного пароля. Цей хеш використовується для шифрування та дешифрування облікових даних.

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

Знайте ризики

Розробники, DevOps та ІТ використовують різні інструменти для підключення до віддалених машин і керування цими деталями доступу. Постачальники повинні зберігати цю конфіденційну інформацію в найбезпечніший спосіб. Однак шифрування завжди на стороні клієнта, і зловмисник може відтворити поведінку інструменту, щоб розшифрувати облікові дані.

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

Часова мітка:

Більше від Темне читання