BASHLITE (auch bekannt als Gafgyt, Lizkebab, PinkSlip, Qbot, Torlus und LizardStresser) ist Malware, die Linux-Systeme infiziert, um Distributed-Denial-of-Service-Angriffe (DDoS-Angriffe) zu starten.[1] Sie wurde bereits verwendet, um Angriffe von bis zu 400 Gbps zu starten.[2] Die Malware war zuerst unter dem Namen Bashdoor bekannt,[3] aber so wird nun das von der Software verwendete Exploit genannt.
Die Originalversion aus 2014 nutzte eine Schwachstelle in der Bash Shell – die Shellshock-Sicherheitslücke – aus, um Geräte, die BusyBox verwenden, anzugreifen.[4][5][6][7] Einige Monate später wurde eine Variante gefunden, die auch andere unsichere Geräte im lokalen Netzwerk infizieren konnte.[8] 2015 wurde der Source Code geleakt, wodurch viele weitere Varianten entstanden.[9] 2016 wurde gemeldet, dass eine Million Geräte infiziert worden waren.[10][11][12][13]
Von den identifizierbaren Geräten in dem Botnet im August 2016 waren fast 96% IoT-Geräte (von welchen 95% Kameras und DVRs waren) und grob 4% Heimnetzrouter. Kompromittierte Linux-Server machten einen Anteil von unter einem Prozent aus.[9]
Die exakten Fähigkeiten unterscheiden sich bei Varianten, aber die am häufigsten implementierten Features[9] erlauben die Ausführung verschiedener Arten von DDoS-Attacken:
Senden von zufälligen „Junk-Daten“ an einen TCP oder UDP-Port
Mehrfaches Senden von TCP-Paketen mit spezifizierten Flags.
Manche Varianten erlauben dem Angreifer auch das arbiträre Ausführen von Shell-Befehlen auf dem infizierten Gerät.
BASHLITE nutzt ein Client-Server-Modell für Command and Control. Das für die Kommunikation verwendete Protokoll ist im Prinzip eine leichtere Version des Internet-Relay-Chat-Protokolls (IRC-Protokolls).[14] Obwohl mehrere Command-and-Control-Server unterstützt werden, haben die meisten Varianten einen einzigen Befehl oder eine einzige IP-Adresse hartkodiert.
Die Malware verbreitet sich mithilfe von Brute-Force-Attacken; eine mitgepackte Liste von häufigen Nutzernamen und Passwörtern wird wie folgt verwendet: BASHLITE verbindet sich mit einer zufälligen IP-Adresse und versucht sich einzuloggen, wobei erfolgreiche Versuche dem Command-and-Control-Server gemeldet werden.