Мой VPS с 2016 года !
✅ Виртуальные от 300 ₽/месяц, RAM 1-10GB, DISK 20-360 GB;
✅ Выделенные от 3000 ₽/месяц. RAM 4-64GB, DISK до 4TB;
✅ Intel Xeon, SSD, XEN, iLO/KVM, Windows/Linux, Администрирование;
✅ Бесплатно Full Backup и Anti-DDoS.
Спонсор проекта
Лучший вариант для анонимности купить прокси на выделенном сервере IPANN.NET.
Рекламки



Авторизация






Для восстановления доступа пишите на E-mail stoplinux@yandex.ru.
Последние комментарии
#1
A_L_M пишет: » Обычных пользователей вводят в заблуждение обещани... (22.06.2020)
// Экзорцизм
#2
watersoda пишет: »
Цитата:
... сделать хоть совсем немного полезного ...
(16.06.2020)
// Переход с Windows на Linux - ГЛУПОСТЬ
#3
roblox robux пишет: » I just love what you said. If you like free roblox... (07.06.2020)
// Риски безопасности в Red Hat Enterprise Linux
#4
Spotter пишет: » когда первый раз писал тот лонгрид, имел надежду. ... (03.06.2020)
// Экзорцизм
#5
admin пишет: » Spotter, попробуй корпоративную десятку. (02.06.2020)
// Экзорцизм
Цитаты
Мыть ноги в Windows уже не модно, да и Microsoft, хоть и с опозданием, но критику приняла. А вот "косяков" за Linux становится всё больше - прямо пропорционально числу протестировавших это поделие. Опять же линуксойдов предупреждали. Но нет, они за идею готовы попу рвать на британский флаг, лишь бы "выпендриться".
Наши сайты.
Наши другие сайты, которые всё ещё в сети:
1. Архив форума СЛОРа
2. Архив linexp.ru
3. Архив bitomatics.ru



Детективная история взлома одного коммерческого хостинга с наказанием и рекомендациями | автор: linux_must_die! | 9 октября 2009

Категория: GNU/Linux, Security


Ко мне поступил сервер с linux CentOS 5.3 64bit, выполняющий роль коммерческого хостинга сайтов (WHM/cPanel), который был взломан и взломщики не потрудились вытереть за собой все инструменты, которые они использовали.
Проанализировав их, я смог составить цепочку событий, которая привела к взлому сервера и компрометации рутовой учетной записи.
Никаких логов небыло, так как они все были почищены, так что взломщик не оставил за собой следов, и я начал поистине детективное расследование — с уликами и подозреваемыми.





Все началось с того, что один из сайтов на хостинге был RFI, то есть использовал уязвимый движок, позволяющий выполнить удаленное подключение файла. И этот сайт был найден на хостинге при помощи сканера RFI.

После этого, используя найденную уязвимость, в /tmp заливается Remote Backdoor Shell — perl скрипт, открывающий доступ к командной строке сервера, работающий с правами вебсервера, в данном случае — nobody.
Через этот скрипт в /tmp были установлены:

набор взломщика (см. ниже)
— червь для автоматизации работы со сканерами RFI ботнета, само ищет сайты на Joomla 1.x, пытается взломать через них сервер и залить весь этот комплект, автоматически скачивает эксплойты с Milw0rm и пытается их применить(!) в публичном доступе мной не найден
— модифицированный сканер RFI, который исключает из проверки уже взломанные сайты, обмениваясь информацией по IRC с такими же скриптами ботнета, за основу взят FeeLCoMz RFI Scanner Bot
— скрипт для выполнения приказов типа scan, ddos и тд, простой, в публичном доступе мной не найден
— модифицированный Jheefry RFI Scanner Bot

Все скрипты написана на Perl и управляются через IRC на порту 6667, взломанный сервер заходит под случайным логином в
специальный канал на хаккерском IRC сервере, который в свою очередь так-же устанавливается скриптами на один из взломанных серверов.

Теперь о том, что включает в себя набор взломщика, который скрипты ботнета заливают автоматически:

— psybnc скрипты
— бинарный файл irc севера собранный статически и переименованный в httpd(!)
— бинарный файл proc неизвестного назначения, собран статически, и служит скорее всего для запуска irc сервера в контексте httpd(!)
— скрипт run: ./proc "/usr/local/apache/bin/httpd -DSSL" httpd JaM5, выполняющий подключение irc сервера в контексте httpd(!!!)
— бинарник неизвестного формата с названием xh, вероятно эксплойт, не рабочий, выполняющий подключение irc сервера в контексте httpd для FreeBSD

Итак, на сервере взломщики получили доступ к запуску файлов от имени вебсервера, но как же я определил, что они получили там доступ к root?

Когда я в профилактических целях остановил вебсервер httpd, то в процессах оставался висеть один httpd процесс. Как это возможно?
На самом деле это был perl скрипт, который маскировался под /usr/bin/httpd, тем самым себя выдав, так как httpd запускался из /usr/local/apache/bin/httpd. Он использовал маскировку под procname, где procname — имя процесса:


$rm="rm -rf";
qx($rm $0);
$0 =
$procname. "\0";

Но самое интересное было не это, а то, что файл с правами nobody находился в /var/lib/mysql, куда может писать только
пользователь mysql! И я решил проверить подозреваемого целостность пакета mysql-server:
#rpm -V MySQL-server
.M5....T /usr/sbin/mysqld
M — означало смену прав, 5 — содержимого (сравнение по MD5 хешу), T — времени. Само собой понятно, что был взломан именно mysql, тем более, что shell у пользователя mysql установлен в /bin/bash, чего быть не должно.

Итак, взломщик при помощи сканов уязвимостей ядра нашел лазейку в ядре, после чего использовал эксплойт для получения консоли с правом root и запустил руткит для mysqld, который при старте запускает бекдор, маскирующийся под процесс /usr/sbin/httpd!

Наказание за небрежное администрирование сервера, точнее — за его полным отсутствием, по причине желания экономии
на сисамдине заказчиком — форматирование и переустановка ОС, восстановление из резервных копий.
Ввыоды:

— perl под nobody — зло, suexec рулит
— исходящие коннекты с сервера —зло, но порой необходимое, а вот прикрыть irc порт никогда не помешает
— каждый скрипт должен работать от своего владельца, а не от nobody, fastcgi рулит
— надо своевременно обновлять ядро — отсутствие известных уазвимостей в публичном доступе еще не означает их отсутствие в ядре
— если смонтировать разделы, доступные пользователю на запись с noexec — любой эксплойт будет отдыхать

P.S. По ссылке — увлекательная история с ботнетом и infobox.ru.

UPD. Про perl, апач, nobody и suexec:
Все дело в том, что как правило скрипты на Perl запускают с правами владельцев через suexec. И это хорошо, так как в случае проблем будут видны права владельца, через которого закачали бэкдор.
Но если права на запуск Perl доступны для всех, то его можно запустить через функцию exec() PHP. А PHP работает у большинства хостеров от nobody.
Таким образом разрешение запуска Perl от nobody — зло, так как непонятно через какого пользователя заливают бекдор.

UPD2 — ЧАВО

— Уязвимость с ld.so, которая позволяла запустить бинарник с раздела, смонтированного noexec — уже давно закрыта.
— Для хаккера все равно какой ID будет в шелле — юзерский или апача. А сисадмину — это важно знать, так как будет видно какой пользователь имеет уязвимый сайт, просто сделав ps axuwf. Именно по этому php-fastcgi предпочительней mod_php
— Исходящие коннекты нужны для многих вещей — RPC-Ping'ов, Яндекс.Маркета, бирж ссылок, именно по этому невозможно закрыть все исходящие коннекты

Источник

      ВНИМАНИЕ !
Возможно что-то уже неактуально. Обращайте внимание на даты !
Эта статья опубликована 9 октября 2009 года !



Голосов: 335


Прочитано 3983 раз и оставлено 12 комментариев.

Мой VPS с 2016 года !

Этот сайт размещён на мощностях компании Айпи Сервер с 2016 года. Стабильность проверена временем !






Комментарии посетителей

#1. goujat

Решето.

#2. dro4er

статья хоть и не о чем, но все ж приятно видеть тут подобные статьи, а не тупое обсирание как обычно.
впрочем сейчас школота набежит...

#3. Mike22

#4. msAVA

msAVA
Я всё думал, когда же вы это перепечатаете:
http://www.linux.org.ru/view-message.jsp?msgid=4101738&lastmod=1254869623701

Всего неделя прошла.
msAVA написал:
Я всё думал, когда же вы это перепечатаете:

Ну мы каг бэ Хабру читаем, а не ЛОР. Её в сообщениях добавили ещё того же дня, но на сайт добавили только вчера. tongue
Невропаразитолог
"дети плакали, кололись, но жрать кактус не переставали" (с)

Тут на досуге поразмыслил почему в линуксе столько ошибок, пришёл к выводу, что иначе линуксостроители без зарплаты останутся- исправлять же они только за деньги согласны. Это ж только злыдни в Майкрософте, бесплатные патчи и техподдержку организовывают для своих покупателей.
Невропаразитолог
Смени ник, что бы с тобой по-нормальному разговаривать. Или сиди и занимайся именно тем, что вынес в ник. Меня дрочить бесполезно, сам задрочу целую роту. Разговор окончен.

#8. dro4er

Невропаразитолог,

это потому что сказать нечего
не сольешься же ты в тихую, вот и на ник съехал
будь здоров!
dro4er написал:
это потому что сказать нечего

Да о чём с тобой разговаривать, когда ты ничего не говоришь? biggrin

#10. dro4er

Linux_must_die! написал:
Да о чём с тобой разговаривать, когда ты ничего не говоришь?


тут вырезали посты
я ему говорил много чего, просто несколько в грубой форме
попробую иначе

Невропаразитолог,

> Тут на досуге поразмыслил почему в линуксе столько ошибок

сколько? зайди на секьюритифокус и сделай выборку по критическим уязвимостям в линукс и своей любимой венде

> исправлять же они только за деньги согласны

это что за вещества?

где в статье намек на незакрытую уязвимость?
тут только показан ламеризм одминов, а это актуально в любой ос
я говорил что не стоило им selinux отключать, вот и почитали бы что это такое и возможен ли был с ним подобный взлом. про noexec я вообще молчу. дырявый хостинг, одним словом
рекомендую ознакомиться с вопросом прежде чем чушь нести
Невропаразитолог
dro4er написал:
про noexec я вообще молчу. дырявый хостинг, одним словом
рекомендую ознакомиться с вопросом прежде чем чушь нести
Так важен сам факт взлома, а не то, каким образом. Вы, линуксойды, ведь утверждаете, что ПО ДЕФОЛТУ ваш любимый линукс не ломается...

#12. Click

по дефолту и не ломанули бы. тут же не дефолт а сервер со спецефческими задачами и его админ обязан настроить, темболее обновлять ядро.

Добавление комментария:

Имя:
Пароль: (если зарегистрирован)
Email: (обязательно!)

теги форматирования

добавить смайлы


Правила комментирования >>