сабж https://github.com/emposha/PHP-Shell-Detector заливаем в корень сайта, остальное указано в ридми.
В нагрузку: http://www.revisium.com/ai/ все они ищут исполняемые функции и немного сигнатуры, но они не находят обфусцированные шелы типа PAS (https://rdot.org/forum/showthread.php?t=1567)
авторы не в курсе что большинство шеллов льётся обфусцированными? зы: base64 легко находится регуляркой Code: xargs grep -E '[0-9a-zA-Z/]{80}'