Сегодня мой внешний IP был заблокирован в сервисе IVI с сообщением В базе знаний IVI существует информация об ошибке 4530, пояснение которой, гласит, что на IP адресе детектирован VPN или открытый прокси. Но ничего подобного я сознательно не устанавливал. Мне стало понятно, что мой роутер или NAS, который я недавно добавил в сеть, участвуют в каких-то непристойностях. Материалы, приведенные ниже, несут исключительно научно-исследовательский характер. Данное исследование проводилось автором исключительно в научно-исследовательских целях, его результаты не являются и не могут признаваться руководством к совершению каких-либо противоправных действий. При проведении исследования автор действовал в рамках законодательства Российской Федерации. Использование результатов исследования допускается исключительно в научно-ознакомительных целях. Использование результатов исследования для достижения противоправного или любого иного от научной деятельности результата может повлечь за собой уголовную, административную и (или) гражданско-правовую ответственность. Автор не несет ответственность за инциденты в сфере информационной безопасности, имеющие отношение к тематике исследования. Проанализировав конфигурацию и логи роутера, я убедился что он чист, а мой NAS стоит в режиме DMZ. Я зашел на NAS и первым делом посмотрел стоит ли на нем fail2ban и активирован ли ufw. Ни того ни другого я не обнаружил, а auth.log был внушительного размера. Похоже, вектором атаки стал брутфорс пароля пользователя через ssh. Запустив grep -in Accept /var/log/auth.log я увидел следующее Злоумышленник успешно вошел под пользователем timemachine c IP адреса 46.101.149.19 во франкфурте. Примечательно, что строка попалась в логе всего один раз, почти неделю назад. Однако. Продолжаем исследования. Вызов Похоже, все пути ведут в /dev/shm/.lwp. Посмотрим что там. У трояна можно выделить следующие части  Кастомная сборка XMRIG. Собран под архитектуры х86 и х64. Вся кастомность заключается в конфиге, зашитом в бинарник. Попробуем его достать и понять на кого трудилась моя машинка. У XMRIG есть конструктор конфигов. Нащёлкаем любую простую конфигурацию. На выходе мы получаем json такого вида: специфичным ключом для поиска выберем "pools". Проверим. Запустим и поищем строку "pools". Малварь майнит монеро на пулах debian-package.center, 45.9.148.125, 45.9.148.129 для юзера 45BLAvLNayefqNad3tGpHKPzviQUYHF1mCapMhgRuiiAJPYX4KyRCVg9veTmckPN7bDebx51LCuDQYyhFgVbUMhc4qY14CQ с паролем x доменное имя debian-package.center резолвится в последний по списку ip 45.9.148.129 Интересной особенностью майнера является скрипт запуска a/init0. Перед тем как запустить свою копию, он избавляется от конкурентов и процессов, которые в данный момент занимают более 60% процессорного времени. Поиск конкурентных процессов скрипт осуществляет по имени, сетевой активности и известному месторасположению других малварей. В целом, этот скрипт даже можно использовать в качестве "антивируса" Живет в .rsync/b/run и представляет из себя закодированный в base64 и сжатый бэкдор-скрипт на perl, похожий на этот экземпляр. Он так же устанавливает ssh ключ в систему для возможности повторно незаметно восстанавливать доступ к системе. Беглый анализ скрипта показывает, что бот координируется с IRC сервера 45.9.148.125:443. Функционал стандартный. Он может выполнять В скрипте так же упомянуты следующие url: http://www.minpop.com/sk12pack/idents.php и http://www.minpop.com/sk12pack/names.php, однако, они выглядят нерабочими. Этого арсенала хватает, чтобы злоумышленник мог получить контроль над системой и запустить свои процессы. Самая интересная часть малвари. Будучи запущенным, сканер виден в системе как процесс tsm и пытается подобрать ssh пароли на следующих N хостах и заразить их. В моем случае, я обнаружил файл с 70к ip адресами и небольшой словарь типовых паролей. Сканер имеет свои рантайм библиотеки (std, openssh, dns, resolv,pthread) под архитектуры x32, x64, armv7. За счет этого, зараза может веерно заражать большое количество жертв на разных архитектурах. Каждая зараженная машина становится частью ботнета и наращивает мощность сети. Внутри исполнимого файла я нашел следующие строки Так же есть упоминание ip адресов 45.9.148.129 и 45.9.148.125, находящихся в Нидерландах. Словарь для подбора паролей — небольшой, хранится в отдельном файле. По скриптам видно, что сам дистрибутив малвари лежит в архиве dota3.tar.gz, однако мне не удалось понять какимо образом он попадает в систему. Явной директивы скачивания файла нет. Вероятно, он подкладывается через бэкдор. Если у Вас есть идеи на этот счет, пишите в комменты. В момент запуска, малварь прописывает себя в подсистему cron для текущего пользователя. В папке /var/spool/cron/crontabs/<username> можно найти файл следующего содержания в нем автоматически перезапускаются все процессы, относящиеся к зловреду. Мы получили представление о том, как ведет себя зловред. Теперь можно выстроить стратегию для очистки системы от него. Убираем cron задачи пользователя Убиваем процессы юзера Убираем сохраненный ssh ключ Удаляем сам зловред Я так же рекомендую повторить команды выше дважды и полностью удалить юзера вместе с домашней папкой. При необходимости, его можно пересоздать заново. Я позвонил провайдеру и сообщил о проблеме, меня внимательно выслушали и порекомендовали написать об инциденте в саппорт, приложив все доступные материалы. Никаких рекомендаций по разблокировке IP мне получить не удалось. Мне порекомендовали поменять его на новый через ЛК, а старый адрес вернулся в пул доступных для других пользователей. Может быть кто-то с хабра подскажет как снять с адреса черную метку? В сущности, любая Linux система, у которой открыт доступ к ssh и есть много пользователей. В особенности, это касается различных хостеров и облачных сервисов. Известен случай Массового заражения сервисов Azure в мае 2019 UPD  Руководитель Службы Технических Проектов