Localizando Webshell
A primeira coisa que uso é procurar por nome. Esses nomes eu acho no log do apache ou nginx ou o consolidado pelo logwatch
Aos poucos vou reunir aqui a lista:
find -name 90sec.php
find -name ad_js.php
find -name av.php
find -name e7xue.php
find -name laobiao.php
find -name long.php
find -name mybak.php
find -name mytag_js.php
find -name car.php
find -name ktt.php
find -name \*\.tmp;
find -name lmdex.php;
find . -name \*\INFECTED.php;
find -name sitemaps.php;
find -name template_rss.php;
find -name flash.php;
for x in `seq 9`; do find -name w$x*.php; done
find / -name "*.php" -exec grep -i "(c99shell)|(rst\.void\.ru)|(service.pwd files)|(lGODlhBwAHAIAAAAAA)" {} \; -print
grep -iR 'c99' /home/sftp/
grep -iR 'r57' /home/sftp/
find /home/sftp/quijaua.net -name \*.php -type f -print0 | xargs -0 grep c99
grep -RPn "(passthru|shell_exec|system|base64_decode|fopen|fclose|eval)" /home/sftp/
Depois que eu acho e rodo um md5sum no arquivo
Depois eu rodo um comando para criar md5sum de todos os arquivos do diretório web
Depois eu busco no arquivo com a lista de md5sum de todos os arquivos do diretório web com a lista de md5sum de arquivos webshell... o que for igual e coloco na quarentena
em projetos WordPress não é para ter arquivos com extensão .php no diretório wp-content/uploads e por isso é por procurar por ali
find . -name '*.php' | grep "wp-content/uploads"
a partir de um ataque e identificado um trecho do código e procurando mais arquivos contaminados com o grep e escluindo o diretório dev, no caso de usar rssh
grep -Rl --exclude-dir=dev 1Aqapkrv *