Reverse engineering I comandi MQTT di un'app di allarme

0

Ho questo allarme chiamato Chuango H4 che utilizza WIFI e GSM per essere controllato tramite un'app Chuango chiamata "Smart Home".

Voglio essere in grado di controllare l'allarme con i miei mezzi.

Utilizzando l'analizzatore di pacchetti Wireshark ho potuto vedere l'IP dove si connette e che usa il protocollo MQTT su una connessione codificata TLS v1.2 sulla porta 8883.

Non ero in grado di decodificare i pacchetti TLS che l'App stava inviando al server MQTT, ma sono stato in grado di connettermi al server usando un client Windows MQTT usando quell'IP e la porta e le credenziali che uso per registrare nella loro app (il mio nome utente e password).

In breve, sono in grado di connettermi e collegarmi con successo al server MQTT di Alarm ma una volta lì non so quali comandi MQTT dovrei inviare lì per inserire / disinserire l'allarme, ecc.

Quello che ho provato:

Decrittografa i comandi TLS MQTT su Wireshark: ho fallito perché anche se riesco a ottenere il client casuale e la chiave segreta principale di una sessione TLS (che Wireshark deve decodificare) usando il mio MQTT Windows personalizzato client che stamperà quelli, quel client ovviamente non avrà i comandi di allarme dell'App e quindi non sarò in grado di controllare quali comandi dovrei inviare al server.

Modifica l'APK dell'app Chuango utilizzando un editor esadecimale per collegarlo al mio server MQTT personalizzato per vedere quali comandi invia: Ho fallito perché non riuscivo a trovare l'IP del server nell'APK sull'editor esadecimale. Immagino che l'App ottenga l'IP dove dovrebbe connettersi in modo dinamico.

Non so che altro provare, sono così vicino perché posso connettermi al server MQTT ma è inutile se non so quali comandi inviare per attivare / disattivare l'allarme.

    
posta Aleix 23.07.2018 - 08:55
fonte

0 risposte

Leggi altre domande sui tag