10 September 2023 - Blog Post # 856
MQTT - Command and Control
MQTT
er en protocol som benyttes mere og mere af forskellige IOT
enheder. Det bruges ofte i forbindelse med kontrol af mange
forskellige hardware dimser.Det kan eks være græsslåmaskiner som de små
robotplæneklipperer vi kender fra eks private haver, eller
centralanlæg i bygninger. Det kan også være kraftvarme værker
og meget meget mere.
C&C
Det også set i forbindelse med
APT-Mustang Panda som benytter dette til C&C. Det er nok et
protokol man skal have lidt mere fokus på, og især at få trafikken
sikret og allerhelst pakket ind i noget VPN og fjernet åbne service
porte der har direkte adgang til Internettet.
Sårbarheder
Antallet af sårbarheder der er rettet imod netop MQTT lader også
til at stige en del. Jeg kender til 79 forskellige former for
harware der er berørt af en eller anden form for sårbarhed. Typisk
RCE til DDOS / DOS. Router udstyr, Firewall udstyr mm. er allerede
berørt af dette. Der er sågar muligheder for at injecte pakker i
packet streams, eller injecte pakker på krypteret MQTT. Så
implementeringer og speks af protokollen vil jeg ikke just kalde for
noget der er gennemprøvet eller færdigt. Ikke destro mindre ser vi
det efterhånden brugt hver dag. Dog er det mest benyttet version
lige nu 3.1.x. Jeg er endnu ikke stødt på nogen version 5.x
derude. Jeg ville nok anbefale at virksomheder allerede nu begynder
at kigge på udstyr der bruger protokollen og allerede nu sikre dette
med eks VPN tunnels, Krypteret brug osv...
Analyse af protokollen
Analyse af protokollen må også siges at have været en af de mere
besværlige protokoller at foretage analyse på, da der kun finde
meget begrænset information på denne derude. Dog er den meget
interesseant, da den er meget overset, men bruges i stigende grad.
Den største opgave har også været at få samlet nok information om
attack metodikker imod denne. IDS signaturer til MQTT findes slet
ikke derude. Det var ikke nogen nem opgave at finde pcaps med
attacks imod MQTT frem.Det i høj grad krævet packet
crafting. Har da også måtte ty til lidt hjælp igennem mit netværk
hos
IEEE.
Noget man skal være vågen overfor er at man typisk vil se en "fleet"
af dimser kontrolleret via eks mobil telefoner. Det kan gøre det
lidt mere besværligt at kontollere i en virksomhed for selvom dimsen
er kontrolleret via en mobil telefon så er dimsen stadig opsat på
det indterne netværk.
Hvem ville nogen sinde opdage at ens plæneklipper /
robotstøvsuger deltager i et ondsindet Botnet :-) Ikke destro mindre
kan jeg ikke gennemskue alle de steder nogen kunne finde på at bruge
denne protokol og det kommer også an på hvor man opsætter IOT
enheder med MQTT implementeret. Som beskrevet er det alverdens steder og derfor bør
man selv lige undersøge hvor meget man har kørende på sit net.
Jeg har desuden frigivet en Wireshark profile, der kan hjælpe en del
med analyse af MQTT.
https://networkforensic.dk/Tools/default.html
IDS rule frigivet / Identificering
For at man kan identificere om man overhovedet benytter MQTT på sit
netværk , har jeg frigivet nogen forskellige IDS sigs. De kan bla finde
Mustang Panda C&C brugen af MQTT ukypteret (Bør man især ikke
benytte) Eller bruteforce attacks imod brokers, kan jeg også finde.
Typisk porte brugt er TCP 1883 og for krypteret brug, er det TCP
8883
Happy hunting...