Долго репу чесал как залезть, наконец откопал на форумах cpanel.net стоящий пост - у сипанель есть одна не особо документированная особенность - если сходить по линку http://domain.com:2086/scripts2/doautof ... sshrestart она перезапустит sshd со своим конфигом из /var/cpanel в безопасном режиме. После этого удалось залогиниться.
Код: Выделить всё
Mar 4 17:57:01 srv1 kernel: crond[3306]: segfault at 0 ip (null) sp 00007fffe0ae2d78 error 14 in pam_deny.so[7fe214b64000+1000]
Mar 4 17:58:01 srv1 kernel: crond[3307]: segfault at 0 ip (null) sp 00007fffe0ae2d78 error 14 in pam_deny.so[7fe214b64000+1000]
Mar 4 17:58:01 srv1 kernel: crond[3308]: segfault at 0 ip (null) sp 00007fffe0ae2d78 error 14 in pam_deny.so[7fe214b64000+1000]
Mar 4 17:58:52 srv1 pure-ftpd: (?@127.0.0.1) [INFO] New connection from 127.0.0.1
Mar 4 17:58:53 srv1 kernel: pure-authd[3281]: segfault at 2 ip 00007f0c6cdaf93c sp 00007fffe70a5980 error 4 in libselinux.so[7f0c6cdab000+7000]
Mar 4 17:59:22 srv1 kernel: sshd[3342]: segfault at 0 ip (null) sp 00007fff73f06c48 error 14 in pam_shells.so[7f22d381a000+1000]
И тут в глаза бросилась эта строчка:
Код: Выделить всё
Mar 4 17:58:53 srv1 kernel: pure-authd[3281]: segfault at 2 ip 00007f0c6cdaf93c sp 00007fffe70a5980 error 4 in libselinux.so[7f0c6cdab000+7000]
Код: Выделить всё
# strings /lib/libselinux.so
...
...
...
The whole earth has been corrupted through the works that were taught by Azazel: to him ascribe all sin.
Полностью читать тутНовый Userland-RootKit Azazel
Вирусы (и антивирусы), Информационная безопасность*, Linux*
Возможно вы слышали про руткиты Jynx и Jynx2. Это так называемые userland-руткиты, они используют возможность переменной LD_PRELOAD, которая позволяет подгружать любые библиотеки до того, как будет запущена программа. Они уже относительно старые, но все еще хорошо работают.
2 дня назад, Github-пользователь Chokepoint выложил rootkit Azazel. Он основан на исходном коде Jynx и имеет много новых фич:
Антиотладочные механизмы
Скрытие от unhide, lsof, ps, ldd
Скрытие файлов и директорий
Скрытие удаленных подключений
Скрытие процессов
Скрытие логинов
Скрытие от локального сниффинга трафика через PCAP
2 бекдора с полноценными шеллами (с PTY):
— Crypthook accept()-бекдор
— Обычный accept()-бекдор
PAM-бекдор для аутентификации под любым пользователем
Очистка логов utmp/wtmp для PTY
Обфускация строк скомпилированной библиотеки через xor.
Из доков следует что эта дрянь вписывает себя в /etc/.ld.so.preload, однако все мои попытки открыть его ни к чему не привели - нет говорит такого файла. Ладно, заходим с другой стороны - mv /lib/libselinux.so /lib/libselinux.azazel.so
Теперь при попытке запуска любой команды получаем ругань, то файл /lib/libselinux.so загружаемый из /etc/.ld.so.preload не найден. По бырому ныряем с соседней консоли на сервак и открываем /etc/.ld.so.preload в своем любимом редакторе и теперь в нем обнаруживается строчка
Код: Выделить всё
/lib/libselinux.so
Код: Выделить всё
# rpm --initdb
# rpm --rebuilddb
P.S. Как показал разбор полетов, клиент (владелец сервера) где-то проморгал рутовый пароль. Скорее всего в каком-нить клиенте сохранил, а оттуда его удже какой-нить злобный вирус умыкнул и передал злобному дяде из Египта, который не упустил возможности поселить на сервере заразу.
Берегите свои пароли... и нервы.