> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cppj/databases-for-juniors/puerto-1521-oracle-database.md).

# Puerto 1521: - Oracle Database

**Oracle Database** es un sistema de gestión de bases de datos relacional (RDBMS) desarrollado por Oracle Corporation. Es conocido por su alto rendimiento, escalabilidad y características avanzadas de seguridad y gestión de datos. El puerto 1521 es el puerto predeterminado utilizado por Oracle Database para aceptar conexiones de clientes mediante el protocolo Oracle Net (anteriormente conocido como SQL\*Net o Net8).

## <mark style="color:green;">Descripción de Oracle Database y el Puerto 1521</mark>

* <mark style="color:green;">**Protocolo**</mark><mark style="color:green;">:</mark> Oracle Database utiliza el protocolo Oracle Net sobre TCP/IP para la comunicación entre el cliente y el servidor. El puerto predeterminado para las conexiones de Oracle Database es el 1521.
* <mark style="color:green;">**Funcionalidad**</mark><mark style="color:green;">:</mark> Oracle Database soporta una amplia gama de funcionalidades, incluyendo transacciones ACID, integridad referencial, procedimientos almacenados, triggers, vistas, particionamiento de tablas, replicación, y herramientas avanzadas de análisis de datos.
* <mark style="color:green;">**Seguridad**</mark><mark style="color:green;">:</mark> Oracle Database proporciona múltiples capas de seguridad, como autenticación basada en roles, SSL/TLS para cifrado de tráfico, y controles de acceso detallados. Además, soporta características avanzadas como Data Redaction y Transparent Data Encryption (TDE).

## <mark style="color:green;">Relevancia en Pentesting</mark>

### <mark style="color:green;">**Importancia de Oracle Database en Pentesting**</mark><mark style="color:green;">:</mark>

* <mark style="color:green;">**Acceso No Autorizado**</mark><mark style="color:green;">:</mark> Configuraciones incorrectas de autenticación pueden permitir a los atacantes obtener acceso no autorizado a la base de datos.
* <mark style="color:green;">**Exposición de Datos**</mark><mark style="color:green;">:</mark> Las bases de datos expuestas sin cifrado pueden ser interceptadas por atacantes, exponiendo datos sensibles.
* <mark style="color:green;">**Enumeración de Objetos**</mark><mark style="color:green;">:</mark> Los pentesters pueden enumerar esquemas, tablas, y otros objetos para mapear la estructura de la base de datos y encontrar posibles vulnerabilidades.
* <mark style="color:green;">**Inyección SQL**</mark><mark style="color:green;">:</mark> Oracle Database es susceptible a inyecciones SQL si las consultas no están correctamente parametrizadas.

## <mark style="color:green;">Ejemplo de Escaneo de Oracle Database con Nmap</mark>

Para identificar servidores Oracle Database activos y recopilar información adicional sobre los servicios Oracle Database, se puede utilizar Nmap con scripts NSE específicos.

### <mark style="color:green;">**Comando Nmap**</mark>

```bash
nmap -p 1521 --script oracle-sid-brute,oracle-tns-version,oracle-tns-service-version target-ip
```

### <mark style="color:green;">**Explicación del Comando**</mark>

* `nmap`: Ejecuta el comando Nmap.
* `-p 1521`: Especifica que Nmap debe escanear el puerto 1521, el puerto predeterminado para Oracle Database.
* `--script oracle-sid-brute,oracle-tns-version,oracle-tns-service-version`: Utiliza scripts NSE para detectar configuraciones y vulnerabilidades en el servicio Oracle Database.
  * `oracle-sid-brute`: Intenta descubrir los identificadores de sistema de la base de datos (SIDs) mediante fuerza bruta.
  * `oracle-tns-version`: Recupera la versión del protocolo Oracle TNS.
  * `oracle-tns-service-version`: Recupera la versión del servicio Oracle TNS.
* `target-ip`: Especifica la dirección IP del objetivo.

## <mark style="color:green;">**Ejemplo de Salida de Nmap**</mark>

```plaintext
Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-19 00:45 UTC
Nmap scan report for 192.168.1.240
Host is up (0.0020s latency).

PORT     STATE SERVICE
1521/tcp open  oracle
| oracle-tns-version: 
|   Version: 12.1.0.2.0
|_  Message: (CONNECT_DATA=(CID=(PROGRAM=nmap)(HOST=host)(USER=nmap))(COMMAND=version))
| oracle-tns-service-version: 
|   Service Version: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
|_  Message: (CONNECT_DATA=(CID=(PROGRAM=nmap)(HOST=host)(USER=nmap))(COMMAND=service_version))
| oracle-sid-brute: 
|   Found SID: ORCL
|   Found SID: XE
|_  Statistics: Performed 1000 guesses in 20 seconds, average tps: 50

Nmap done: 1 IP address (1 host up) scanned in 10.23 seconds
```

## <mark style="color:green;">Interpretación de la Salida</mark>

* <mark style="color:green;">**Host is up**</mark><mark style="color:green;">:</mark> Indica que el sistema objetivo está en línea y responde.
* <mark style="color:green;">**1521/tcp open oracle**</mark><mark style="color:green;">:</mark> El puerto 1521 está abierto y el servicio Oracle Database está activo.
* <mark style="color:green;">**oracle-tns-version**</mark><mark style="color:green;">:</mark> Proporciona la versión del protocolo Oracle TNS.
  * <mark style="color:green;">**Version**</mark><mark style="color:green;">:</mark> `12.1.0.2.0`.
  * <mark style="color:green;">**Message**</mark><mark style="color:green;">:</mark> Mensaje de respuesta del protocolo TNS.
* <mark style="color:green;">**oracle-tns-service-version**</mark><mark style="color:green;">:</mark> Proporciona la versión del servicio Oracle Database.
  * <mark style="color:green;">**Service Version**</mark><mark style="color:green;">:</mark> `Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production`.
  * <mark style="color:green;">**Message**</mark><mark style="color:green;">:</mark> Mensaje de respuesta del protocolo TNS.
* <mark style="color:green;">**oracle-sid-brute**</mark><mark style="color:green;">:</mark> Intenta descubrir los identificadores de sistema de la base de datos (SIDs) mediante fuerza bruta.
  * <mark style="color:green;">**Found SID**</mark><mark style="color:green;">:</mark> `ORCL`, `XE`.
  * <mark style="color:green;">**Statistics**</mark><mark style="color:green;">:</mark> Estadísticas del ataque de fuerza bruta (1000 intentos en 20 segundos, promedio de 50 tps).
