Network - Privesc, Port Scanner and NTLM chanllenge response disclosure
Знайдіть більше інформації про ці атаки у оригінальній статті.
Оскільки PostgreSQL 9.1, встановлення додаткових модулів є простим. Зареєстровані розширення, такі як dblink
можна встановити за допомогою CREATE EXTENSION
:
Після завантаження dblink ви зможете виконати деякі цікаві трюки:
Підвищення привілеїв
Файл pg_hba.conf
може бути погано налаштований, дозволяючи підключення з localhost як будь-якого користувача без необхідності знати пароль. Цей файл зазвичай знаходиться в /etc/postgresql/12/main/pg_hba.conf
, а погана конфігурація виглядає наступним чином:
Зверніть увагу, що ця конфігурація часто використовується для зміни пароля користувача бази даних, коли адміністратор його забуває, тому іноді ви можете знайти це. Також зверніть увагу, що файл pg_hba.conf доступний лише для читання користувачем та групою postgres і доступний для запису лише користувачем postgres.
Цей випадок корисний, якщо у вас вже є оболонка всередині жертви, оскільки це дозволить вам підключитися до бази даних postgresql.
Ще одна можлива помилкова конфігурація полягає в наступному:
Якщо це дозволить всім з localhost підключатися до бази даних як будь-якому користувачеві. У цьому випадку, якщо функція dblink
працює, ви можете підвищити привілеї, підключившись до бази даних через вже встановлене з'єднання та отримати доступ до даних, до яких не повинні мати доступ:
Сканування портів
Зловживанням dblink_connect
ви також можете шукати відкриті порти. Якщо ця функція не працює, вам слід спробувати використати dblink_connect_u()
, оскільки в документації сказано, що dblink_connect_u()
ідентичний dblink_connect()
, за винятком того, що він дозволить не суперкористувачам підключатися за допомогою будь-якого методу аутентифікації.
Зверніть увагу, що перед можливістю використання dblink_connect
або dblink_connect_u
вам може знадобитися виконати:
UNC шлях - розкриття хешу NTLM
Last updated