- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Недавно словило несколько клиентов эту, как уже во время расследования, гадость :)
Проблема понятно какая - наличие руткита лечится реинсталом, но, естественно, редко клиент на это согласен, так как даунтайм весьма нежелателен.
Решил поделиться своими потугами, может кому будет полезно, либо кто чего посоветует.
Если кто еще не слышал - так называемый "Ebury" - это что-то типа SSH rootkit'a, похожий на уже существующий Ebury. Руткит позволяет зловреду входить на сервер по хардкорно зашитому паролю в любой момент, а также при каждом входе пользователя на сервер по SSH отпарвлять его IP и введенный пароль на коллектор зловреда.
Судя по наблюдениям есть разные версии этого руткита, но в среднем можно отметить, что изменяются libkeyutils, сам ssh демон и, самое противное, ssh клиент. Иногда заражен только libkeyutils, иногда все вместе заменено.
Проблема в паблик впервые активно стала обсуждаться, по-моему, с этого топика - http://www.webhostingtalk.com/showthread.php?t=1235797.
Если почитать все топик видно, что до сих пор ходят разные слухи каким образом в самый первый раз эта гадость попадает на сервер.
Говорят об разных 0day узявимостях как на самом сервере, дырках в ядре, дырках на ПК клиентов в какой-нибудь Java.
Доподлинно неизвестно через что руткит лезет. Возможно ломатели используют все возможные дырки, поэтому невозможно выделить какой-то конкретной линии атаки, но точно могу сказать, что самое противное - это заражение по цепочки через ssh клиент. Сам, судя по всему, на это напоролся, администрируя зараженного клиента.
Смысл в том, что если вы с зараженного сервера зайдете ssh клиентом на свой супер защищенный сервер - пароль сразу же улетит в коллектор и ваш IP поместят в очередь на заражение. Не все сразу меняют пароль после того как подключились к серверу с постороннего сервера. И я был одним из таких - загрузил бэкап данных клиента на свой сервер и получил почти сразу абузу на портскан.
Вы скорее всего заражены, если:
1. К вам пришла абуза на какой-то странный netscan или ssh brute с вашего сервера. Либо конкретно абуза с пометкой "Ebury". Коллекторы периодически накрывают и по остаткам данных вытягивают список серверов-зомби, после чего делают abuse рассылку.
2. После захода на сервер по SSH по паролю от вас уходит UDP пакет на 53-ий порт. Не путать с тем, что смотрит PTR запись. Сообщение по типу: "7741e5e7255ce5fc71.64.1.31.5" Первая часть - наверняка HEX-представление зашифрованное представление введенного пароля, а вторая часть - IP, с которого был произведен логин.
Последнее наверняка используется, чтобы раскручивать клиента дальше. Проверить наличие трафика можно просто, например, запустить tcpdump в screen:
И попробовать подключиться к самому себе:
Даже не обязателно вводить корректный пароль - пакет в любом случае пошлется, если зараза есть.
3. Руткит использует shared memory, поэтому можно посмотреть есть ли какие-нибудь большие подозрительные сегменты shared memory с широко открытыми правами - 666. Пример зараженной машины:
Т.к. nattch не равен 0 - можно попробовать грубо посмотреть в lsof кто реально использует этот кусок памяти:
Скорее всего выдаст sshd.
4. Если у вас на сервере есть какие-то левые libkeyutils. Например, для debian 32bit:
/lib/libkeyutils.so.1.3.0 - зараза. Но название зараженной библиотеки может отличаться. После бурного обсуждения руткита в сеть выложили bash скрипты, которые проверяли заражен ли сервер по наличию, если правильно помню, libkeyutils.so.1.6 или что-то типа того. Через несколько недель зловред стал создавать файлы с другим названием. Скорее всего если у вас несколько libkeyutils - стоит задуматься.
Исходя из предыдущих вещей можно попробовать почистить.
Для начала удалить shared memoery segments. В выводе ipcs -ma посмотреть shmid и удалить его:
Если есть левые libkeyutils - удалить и поменять симлинк:
На всякий случай переставить SSH демон и клиента и libkeyutils. Для Debian Squeeze 64 bit:
Для Squeeze 32 bit
Перезагрузить SSH процесс, выйти из сервера и попытаться залогиниться на сервер, проверить вывод ipcs -m и трафик. Если все в порядке - shared memory больше не вылезет и пакеты никуда не уйдут.
После этого попробуйте на всякий случай с сервера подключиться к самому себе. Проверьте опять ipcs -m. Если что-то вылезло - ssh клиент все еще заражен.
Продлжаю наблюдать почищенными машинами со стороны - пока ничего не видно и не слышно. Понятное дело, что рутаной машине нельзя доверять, но возможно данный руткит не так глубоко залезает в систему, что шагов, описанных выше, достаточно, чтобы пережить проблему без реинстала :)
Надеюсь кому-то помог. Переходите на авторизацию по ключам :)
На всякий случай переставить SSH демон и клиента и libkeyutils
apt-get install --reinstall не ага?
Просто для уверенности пакеты скачиваются из проверенного конкретного источника, чтобы было просто смотреть md5 суммы. Репозитории-то разные. reinstall поставит из того, что в sources.list. Мне было так удобнее.