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.
Цей випадок є корисним, якщо ви вже маєте shell всередині жертви, оскільки це дозволить вам підключитися до бази даних postgresql.
Ще одна можлива неправильна конфігурація складається з чогось подібного:
Оскільки це дозволить всім з localhost підключатися до бази даних як будь-який користувач.
У цьому випадку, і якщо функція dblink
працює, ви можете підвищити привілеї, підключившись до бази даних через вже встановлене з'єднання та отримати доступ до даних, до яких не повинні мати доступ:
Port Scanning
Зловживаючи dblink_connect
, ви також можете шукати відкриті порти. Якщо ця **функція не працює, вам слід спробувати використати dblink_connect_u()
, оскільки документація стверджує, що dblink_connect_u()
ідентична dblink_connect()
, за винятком того, що вона дозволяє не-суперкористувачам підключатися, використовуючи будь-який метод аутентифікації_.
Зверніть увагу, що перед тим, як ви зможете використовувати dblink_connect
або dblink_connect_u
, вам може знадобитися виконати:
UNC шлях - розкриття NTLM хешу
Last updated