Puerto 6379: Redis

Redis es una base de datos en memoria de código abierto que se utiliza como almacén de datos clave-valor, caché y agente de mensajes. Redis es conocido por su alto rendimiento y flexibilidad, y se utiliza en aplicaciones que requieren operaciones rápidas de lectura y escritura. El puerto 6379 es el puerto predeterminado utilizado por Redis para aceptar conexiones de clientes.

Descripción de Redis y el Puerto 6379

  • Protocolo: Redis utiliza un protocolo binario propio sobre TCP para la comunicación entre el cliente y el servidor. Opera en el puerto 6379 por defecto.

  • Funcionalidad: Redis puede ser utilizado como base de datos, caché en memoria, y agente de mensajes. Soporta estructuras de datos como cadenas, listas, conjuntos, hashes, y más.

  • Persistencia: Aunque es una base de datos en memoria, Redis ofrece opciones de persistencia a disco para mantener los datos entre reinicios.

  • Seguridad: Por defecto, Redis no requiere autenticación y no cifra el tráfico, lo que puede representar un riesgo de seguridad si se expone a redes no confiables.

Relevancia en Pentesting

Importancia de Redis en Pentesting:

  • Acceso No Autorizado: Si Redis está configurado sin autenticación y es accesible desde redes no confiables, puede ser explotado para obtener acceso no autorizado.

  • Ejecutar Comandos: Redis permite ejecutar comandos de administración que pueden ser abusados para manipular datos o realizar ataques de ejecución de código.

  • Configuraciones Inseguras: La falta de cifrado y configuraciones por defecto pueden exponer datos sensibles y permitir ataques de intermediario (MITM).

Ejemplo de Escaneo de Redis con Nmap

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

Comando Nmap

nmap -p 6379 --script redis-info target-ip

Explicación del Comando

  • nmap: Ejecuta el comando Nmap.

  • -p 6379: Especifica que Nmap debe escanear el puerto 6379, el puerto predeterminado para Redis.

  • --script redis-info: Utiliza el script NSE redis-info para recopilar información sobre el servidor Redis.

  • target-ip: Especifica la dirección IP del objetivo.

Ejemplo de Salida de Nmap

Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-18 23:45 UTC
Nmap scan report for 192.168.1.180
Host is up (0.0023s latency).

PORT     STATE SERVICE
6379/tcp open  redis
| redis-info:
|   Redis server information:
|     redis_version: 6.2.1
|     redis_git_sha1: 00000000
|     redis_git_dirty: 0
|     redis_build_id: 27f5c929cdcfd1ba
|     redis_mode: standalone
|     os: Linux 4.15.0-66-generic x86_64
|     arch_bits: 64
|     multiplexing_api: epoll
|     gcc_version: 8.3.0
|     process_id: 1
|     run_id: e4b72d3faaf82b0b1f8f0e7b9d312a9d4f0a98b7
|     tcp_port: 6379
|     uptime_in_seconds: 654321
|     uptime_in_days: 7
|     hz: 10
|     lru_clock: 1234567
|     executable: /usr/local/bin/redis-server
|     config_file: /etc/redis/redis.conf
|   Clients:
|     connected_clients: 5
|   Memory:
|     used_memory: 1048576
|     used_memory_human: 1.00M
|     used_memory_rss: 2048000
|     used_memory_peak: 2097152
|     used_memory_peak_human: 2.00M
|   Persistence:
|     loading: 0
|     rdb_changes_since_last_save: 100
|     rdb_bgsave_in_progress: 0
|     rdb_last_save_time: 1234567890
|     rdb_last_bgsave_status: ok
|     aof_enabled: 0
|     aof_rewrite_in_progress: 0
|     aof_rewrite_scheduled: 0
|     aof_last_rewrite_time_sec: -1
|     aof_current_rewrite_time_sec: -1
|     aof_last_bgrewrite_status: ok
|     aof_last_write_status: ok
|   Stats:
|     total_connections_received: 1000
|     total_commands_processed: 5000
|     instantaneous_ops_per_sec: 10
|     total_net_input_bytes: 10485760
|     total_net_output_bytes: 20971520
|   Replication:
|     role: master
|     connected_slaves: 0
|   CPU:
|     used_cpu_sys: 10.00
|     used_cpu_user: 20.00
|     used_cpu_sys_children: 0.00
|     used_cpu_user_children: 0.00
|   Cluster:
|     cluster_enabled: 0
|   Keyspace:
|     db0: keys=100,expires=10,avg_ttl=60000
|_  db1: keys=50,expires=5,avg_ttl=30000

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

Interpretación de la Salida

  • Host is up: Indica que el sistema objetivo está en línea y responde.

  • 6379/tcp open redis: El puerto 6379 está abierto y el servicio Redis está activo.

  • redis-info: Proporciona información detallada sobre el servidor Redis.

    • Versión de Redis: redis_version: 6.2.1.

    • Modo de Redis: redis_mode: standalone.

    • Sistema operativo: os: Linux 4.15.0-66-generic x86_64.

    • Memoria utilizada: used_memory: 1048576 bytes (1.00M).

    • Número de clientes conectados: connected_clients: 5.

    • Persistencia: Información sobre la configuración y estado de persistencia.

    • Estadísticas: Número total de conexiones recibidas y comandos procesados.

    • Replicación: role: master, indicando que este servidor es el maestro.

    • Keyspace: Número de llaves y TTL promedio en cada base de datos.

Última actualización