У вас завелся ботнет… (или как я начал бояться ФБР)
Мне нравятся ботнеты. Нет, не делать (это плохо), а изучать! Сделать ботнет, на самом деле не так сложно (сложно сделать, и при этом НЕ сесть за #). Куда более интересная задача — получить контроль над чужим ботнетом и обезвредить его.
Работая в данном направлении, я обнаружил сервер в составе ботнета, название которого мне пока неизвестно. Данный сервер имел высокие характеристики и принадлежал не очень крупному зарубежному web-хостингу. Игравший у меня в одном месте альтруизм вынудил меня сообщить об угрозе владельцам сервера. Что из этого получилось, я сегодня расскажу. Можно ли из этой истории сделать какие-либо выводы — думайте сами.
Вся переписка происходила на английском языке. В связи с большой разницей в часовых поясах беседа растянулась на несколько дней. При переводе на русский опустил часть критичной информации, при этом стараясь не потерять основной смысл.
Зайдя на сервер, и посмотрев hostname, я сразу понял, кому принадлежит данный сервер. Перейдя на главную страницу хостинга я нашел два способа связаться со службой поддержки: форма обратной связи и ссылка на чат в мессенджере. Так как я не хотел регистрироваться, то выбрал второй вариант. Перейдя по ссылке я попал в публичный чат, поэтому не стал сразу раскрывать все детали.
Я: Добрый день! я нашел узел в вашей инфраструктуре зараженный ботнетом. С кем мне можно связаться, чтобы сообщить подробности?
RM: Как он был заражен? Какие доказательства вы можете предоставить, что он заражен?
… пауза…
RM: Вы можете написать об этом @PT, но я очень сомневаюсь, что какой то из наших узлов является частью бот-сети.
Я: test1.domen.com ваш узел?
RM: О, этот узел уже не используется, скорее всего. Все web-клиенты с него были переведены на другой хостинг.
На этом диалог с @RM приостановился на время, пока я общался с @PT. Но @PT оказался не очень приветлив, на все мои предупреждения отвечал отговорками «этот сервер никем не используется» и утверждал, что помощь им не требуется. Поэтому я продолжил диалог с @RM, но уже в личном чате.
Я: На Вашем сервере есть пользователь с очень простой парой логин/пароль. Это стало точкой входа для программного обеспечения ботнета. Чтобы убедиться, что сервер действительно заражен, зайдите на него по ssh и посмотрите список запущенных процессов. Среди процессов увидите множество процессов с именем «tsm». Это и есть программное обеспечение ботнета. Чтобы избавиться от него, попробуйте удалить каталоги /tmp/.ts и /tmp/.zx, а затем перезагрузить сервер. При этом не забудьте поменять пароль.
RM: Здравствуйте, этот сервер уже offline. Так что, если там что-то и было, то уже не представляет никакой проблемы. Я ценю, что вы пытаетесь помочь, но эта машина больше не угроза
Я: Хм… Что вы скажете на счет этого?
После моего сообщения последовала пауза в несколько минут, которая придала немного драмматичности моменту.
RM: Вы ведь знаете, что совершили незаконное деяние? Это несанкционированный доступ, и я обязан уведомить об этом Compliance Department.
Я: Надеюсь, Вы понимаете что у меня не было никакого злого умысла и я просто пытаюсь вам помочь?
RM: Я понимаю, но мне все равно необходимо сообщить об этом инциденте. Вы ни в коем случае не должны были так делать. Простого ping было бы достаточно, чтобы доказать, что он онлайн.
Я: Что такое Compliance Department? Это федеральная служба или отдел вашей компании?
RM: Отдел компании.
Compliance Department занимается нарушениями условий обслуживания, жалобами и юридическими вопросами.
Я: ФБР приедет за мной? =)
RM: Нет, не думаю. Мы не сотрудничаем с этой службой.
Я: Я хочу вам немного рассказать о себе, чтобы вы поняли мои мотивы.
Я исследователь информационной безопасности (white hat). На данный момент я занимаюсь разработкой инструмента для поиска зараженных узлов ботнета и дальнейшего их анализа.
Моя программа содержит honeypot (ловушка для ботнета). Ваш сервер попал в эту ловушку, когда пытался атаковать меня. Я уже видел образцы такого вредоносного программного обеспечения, поэтому примерно знаю, как с ними бороться. Вы первый, кому я предложил свою помощь.
Я надеюсь, что этот инцидент закончится хорошо для меня и для вас.
RM: В любом случае, благодарю Вас за то что сообщили нам об этом сервере. В ближайшее время мы выведем узел из эксплуатации, как должны были сделать ранее