PDA

Просмотр полной версии : как найти шелл на сайте


ginzon
24.05.2009, 11:28
Вообщем суть такова: например у меня залит шелл, как с помощью его найти все другие шеллы на этом сайте если они там есть?

Krist_ALL
24.05.2009, 11:45
если ты зальешь шелл, то у тебя будет доступ к списку файлов(если safe mode=off) и ты сможешь читать файлы. шелы вида r57 c99,... узнать легко, открыв исходник файла, а если шел вида <? system($_GET['komanda']); ?> то эта строчка запмсывается в начале какого-нибудь файла, или в середине запрятана) ,читай файлы и смотри,ищи подозительные строчки.)

Kernet
24.05.2009, 11:47
ога или может быть base64_decode

mailbrush
24.05.2009, 12:02
Если хост норм - там присутствует access.log. Смотри где есть много POST/GET запросов на один подозрительный файл.

rushter
24.05.2009, 12:13
Смотри на дату правки файла,если touch не прошлись.

$n@ke
24.05.2009, 13:23
есть замечательная команда find, вот с помощью нее и ищи в файлах что тебе нужно.

mailbrush
24.05.2009, 13:29
есть замечательная команда find, вот с помощью нее и ищи в файлах что тебе нужно.
А если там base64?

$n@ke
24.05.2009, 13:34
и что? какие проблемы? к примеру пакованые шеллы:

eval(gzinflate(base64_decode(

Естественно, что всё не расскажут))

root_sashok
24.05.2009, 13:35
гугл рулит!

site:адрес сайта intitle:shell (или r57shell) filetype:php

mailbrush
24.05.2009, 13:43
гугл рулит!

site:адрес сайта intitle:shell (или r57shell) filetype:php
Это жжесть... Имхо, access.log - самый актуальный.

AlexSatter
24.05.2009, 13:51
grep -R "Шаблон" путь
тоже самое и с base64

P.s. работает только в юниховоподобных системах.

$n@ke
24.05.2009, 13:54
Посмотрел бы я на тебя, когда ты будешь искать в многосотмегобайтном access_log БОЛЬШОЕ количество post\get запросов к .php файлу =))

ps: не говоря уже о том,что расширение может быть совсем не .php

Failure
24.05.2009, 13:55
да да да

..
if(strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false )
header('HTTP/1.0 404 Not Found');
..

и найди мне через гугл шелл тогда
всё это бред, обычные не пакованые шеллы ищутся find`ом, а другие только ручками

mailbrush
24.05.2009, 13:55
$n@ke, сначалa отсеять ненужное... ЗЫ: я так у себя нашел шелл =)

$n@ke
24.05.2009, 13:58
мое дело предложить, подсказать, а не навязывать свои способы...
удачного поиска.
Надеюсь вы не мои шеллы ищите))))))

HIVER
24.05.2009, 21:15
Как-то неэтично все-таки искать шеллы коллег) А нашел - не трогай, имхо.

sabe
25.05.2009, 00:29
грепом

diehard
25.05.2009, 12:27
find по признакам

Велемир
31.05.2009, 21:21
Даёшь проверку в непалящихся дирах пхп/пл/асп скриптов)),если *нету* шелла ).А так пропарсить скрипты на passthru,всякие там exec и system)Всё равно редко попадаются

m0Hze
31.05.2009, 21:44
хз, у меня на кроне каждые 12 часов запускаеца скрипт который собирает даты последнего изменения, вес,имя и колво файлов,сверяеться с прошлой версией,если чтото нетак - бот стучит в асику.+ все данные пишуться в мускул.хостер мне запретил запускать скрипт каждый час,сволоч, поэтому только через половину суток у меня идет чек.
Советую поставить чтоо похожее, видел викидывали давно еще в разделе чтото вроде такого.

Pashkela
01.06.2009, 00:49
нормальный шелл вы никогда не найдете. И дело тут даже не в привате, а просто в варианте оставления бекдора:)

Qwazar
01.06.2009, 01:42
хз, у меня на кроне каждые 12 часов запускаеца скрипт который собирает даты последнего изменения, вес,имя и колво файлов,сверяеться с прошлой версией,если чтото нетак - бот стучит в асику.+ все данные пишуться в мускул.хостер мне запретил запускать скрипт каждый час,сволоч, поэтому только через половину суток у меня идет чек.
Советую поставить чтоо похожее, видел викидывали давно еще в разделе чтото вроде такого. А смысл писать в БД, если у того кто залил шелл к этой самой БД есть полный доступ и он там поправит всё что захочет?

ReisendeR
01.06.2009, 06:38
А смысл писать в БД, если у того кто залил шелл к этой самой БД есть полный доступ и он там поправит всё что захочет?
смысл в защите твоего сайта. ты же не будешь постоянно сидеть и перекапывать свой сайт, что бы найти изменения. тут написано не то что сделать на чужом, а метод защиты своего

Qwazar
01.06.2009, 12:09
смысл в защите твоего сайта. ты же не будешь постоянно сидеть и перекапывать свой сайт, что бы найти изменения. тут написано не то что сделать на чужом, а метод защиты своего Я разве об этом говорил? Лучше crc хранить там, где хакер не сможет инфу править.

Krist_ALL
01.06.2009, 12:15
мона написать скрипт котрый будет хранить мд5 важных файлов -напирмер мд5 от индекс.пхп и проверяет раз в сутки напирмер изменилось ли значение. если да то тревога!! можно весь сайт так запомнить (мд5) и проверять.

ettee
01.06.2009, 15:49
мона написать скрипт котрый будет хранить мд5 важных файлов -напирмер мд5 от индекс.пхп и проверяет раз в сутки напирмер изменилось ли значение. если да то тревога!! можно весь сайт так запомнить (мд5) и проверять.
Все уже написано до нас. Боже упаси от таких скриптов, это комплексная задача целой системы, в ином случаи грозит подмена истенной хеш суммы.

Проверку целостности файлов и директорий (приминяется не зависимо от прав доступа) можно добиться при помощи регулярного контроля чек-суммы, что включает в себя модификацию как внутренней структуры, так и изменение определенных полей.
Снимать её нужно заранее с чистой системы, а не как, к сожалению, это бывает обычно.
Использовать поиск по фиксированному и заранее известному размеру вредоносного ПО.
Обращать внимание на наличие и интерпретацию (.htaccess) файлов с именами (используйте для поиска наиболее часто встречающиеся имена файлов) и расширениями, отличающихся от стандартного набора/правил ПО.
Анализ файлов журналирования, как через панель управления, так и в ручном режиме на наличие "обращений".
Применять методику "по шаблону", поиск известных функций, либо строк, приемлемых при использовании вредоносного ПО.
egrep -lr 'eval|system|exec|base64_decode|move_uploaded_file '.

Велемир
02.06.2009, 16:40
А можно ли изменить как-то мд5 хеш файла на прежний,предварительно изменив содержимое файла ?) Не хочу врать,но где-то писали про бреш в линуксе или фряхе)

Велемир
02.06.2009, 16:47
нормальный шелл вы никогда не найдете.

Честно говоря,оставлять я их не умею))),но мои шеллы не находят.Пару раз чуть по тупости не оставил шелл в индексируемой директории.Сомневаюсь,что очень многие оставляют бекдоры).Если шелл создадут такой же,как пароль,т.е. простой,то можно перебирать названия скрипта в каждой веб дире.Это при условии,что нет проверок и ограничений,прописанных в .htaccess.Ведь не все же создают шеллы с ахренительными названиями.Кстати,насчёт логов:их можно разбить на части,считывая построчно.Если я в бокноте открою 300 мегабайтный фаил,то,разумеется,у меня уйдут горы лицезрения его содержимого(проц 1.4 гига).При использовании цикла с fgets() или fgetc() на это тратится гораздо меньше времени,да и система не виснет.Затем,получив количество и имена создаваемых файлов,открывать их исчитывать.То,что вы писали про мегабайтные логи,ещё ерунда.Я видел лог 16 гигабайт...хорошо,что не открыл)

ЗЫ: Мде...хреного млин(

ettee
02.06.2009, 17:16
А можно ли изменить как-то мд5 хеш файла на прежний,предварительно изменив содержимое файла ?) Не хочу врать,но где-то писали про бреш в линуксе или фряхе)

Вероятней всего речь шла о недочете в самом алгоритме хеширования, либо в конкретном программном обеспечение, но не в целевой программно-аппаратной платформе.

По поводу анализа журналов, никто уже давно не занимается парсингом в ручную, за исключением частных случаев, существуют связки ПО которые с этим прекрасно справляются, kiwi syslog, facilities у syslog, syslog-ng, а так же стандартные системы журналирования у демонов. Все это прекрасно справляется с фильтрацией под определенные критерии, не стоит выжимать проблему из пальца.