Вводные:
Linux, Apache,PHP
Есть куча виртуальных хостов апача. Где-то имеется файл php, устанавливающий соединения, формата myhost:random_port ->> otherhost:80
Otherhost - имя хостинг-провайдера, на котором крутится куча сайтов. Искать по имени не можем. IP-адресов у хостинг-провайдера великое множество.
Логи молчат.
Соответственно через данный файл идет скачка информации.
Netstat нам выведет только то, что качает Apache.
Задача: найти виртуальный хост и данный файл.
Задача решена. Но, вдруг, есть другие решения.
Задачка админам
Комментарии (20)
-
многа букафф
-
ensen, знакомые буквы есть?
-
Сравнение access.log Апача и логов файервола (к какому файлу был запрос когда Апач стучался наружу) тоже результатов не даёт?
А какие задания на этот момент времени в кроне были?1 -
вопрос можно было сформировать чуть покороче :)
найти в хостинг сервере в виртуальных хостах злобный скрипт который подключается к какому то другому хосту на 80 порт и качает какуюто информацию
а порт почему именно 80 ???
может 81,21 или какой нибудь хитрый -
DVA, на небольшом хостинге порядка 100 хостов. Что делать, если там будет 1000? смотреть каждый лог?
php-cron можно запустить скрытно от системы. -
Anonymous, предварительный анализ вывел активность именно к удаленном 80-му порту.
-
Самое интересное, что средствами Apache это сделать не удалось.
Нашел способ найти злоумышленника, а вот на Windows даже теряюсь как это можно сделать. -
сделайте поиск файла по содержанию
как там у вас у юниксоидов сами знаете
великий и могучий "grep" , хз може есть и помощнее
по ключевым словам:
file_get_contents
fsockopen
и т.п. ф-ии которые подключаются к другим хостам
думаю нормальные сайты должны обходица без этих функций :) -
Я полагал в php curl как правило закрыт. Значит. есть еще дыры.
-
Если сайтов сотни, то поиск может затянуться.
-
> Я полагал в php curl как правило закрыт. Значит. есть еще дыры.
Ой как всё плохо >__<
curl это просто красивая "обёртка".
Всё ровно то же самое можно сделать без подключения curl'а стандартными средствами самого php.
И это НЕ дыра, это умение языка работать с сетью.
Я начинаю волноваться не включён ли у вас для пользователей ещё и allow_url_fopen ?
> смотреть каждый лог?
Ага, смотреть. И не обязательно глазами :)
> php-cron можно запустить скрытно от системы.
Не то чтобы я много понимал в администрировании, особенно под *nix, но КАК?!
> думаю нормальные сайты должны обходица без этих функцийА мы по морде чайником!
Категорически не согласен. Умение получать информацию с удалённых сайтов: очень полезное умение. -
>> myhost:random_port ->> otherhost:80
Каковы вариации random_port? -
DVA хватит ляля да тополя
посоветуй хоть чтото дельное
флуд не разводи -
Dorper, исходящий порт
-
> посоветуй хоть чтото дельное
Может быть ты анонимус расскажешь про запуск "php-cron" скрытно от системы?
Ну, чтобы от тебя польза была :) -
Если забили тревогу, то осмелюсь предположить, что файл качается большой. Если так, то возможно оно качается даже не в память, а в какой-то файл. А если так, то наверное lsof покажет в какой файл. Возможно, если у сайтов нет общих директорий для записи, по этому файлу можно узнать какой сайт скачивает этот файл. Как-то так..
P.S. Также осмелюсь предложить Вам посмотреть в сторону хотя бы SUPHP. -
efremovvk, да перлом или грепом особо не затянется, если даже сайтов 100500. Главное знать, что грепаешь (функции, через которых можно сконнектиться к другим хостам, в пхп по пальцам пересчитать)
-
> функции, через которых можно сконнектиться к другим хостам, в пхп по пальцам пересчитать
По двум пальцам: fsockopen и pfsockopen.
Если allow_url_fopen выключен.
Если включён: есть риск что пальцы кончатся раньше. -
возможно банально поставили прокси
-
>возможно банально поставили прокси
спасибо, кэп ;)