Tässä on yleinen ohje PHP haittakoodin metsästämiseen. Tätä voi käyttää eri sisällönhaittaohjelmistojen PHP-haittakoodin mestästämiseen.
Etsi PHP-haittakoodiaeval()
haitallisia koodeja. Eval-koodi usein kertoo että sivuston tiedostoissa on haitallista koodia. Kaikki eval()-funktiolla ei ole haitallista koodia kuten class-pclzip.php tiedostossa on ihan Wordpressin omaa koodia.
Lisää tiedostot mistä eval() funktio löytyy:
grep -lr --include=*.php -PHn "(eval\(.*\);)" .
Lista tiedostot mistä eval() funktio löytyy ja tulostaa rivin ruudulle
grep -r --include=*.php -PHn "(eval\(.*\);)" .
Tämä tulostaa esimerkiksi seuraavanlaisen. class-pclzip.php
eval() funktio on normaali mutta mikäli tulostuu erikoisia tiedoston nimiä mikä sisältää eval() funktion niin nämä voivat olla haittakoodia.
/wp-admin/includes/class-pclzip.php:4068:// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);');
Voit kopioida koko koodinpätkän ja liittää sen tänne http://ddecode.com/phpdecoder/ niin tämä sivusto decoodaa ja näet sitten mitä koodi tekee.
Useimmat haittaohjelmat PHP:ssä on enkoodattu base64:sella. Tämä on siksi hyvä tapa etsiä PHP-haittaohjelmaa.
Listaa tiedostot millä base64() löytyy
grep -lr --include=*.php -PHn "(base64\(.*\);)" .
Listaa tiedostot mistä löytyy base64() ja tulosta rivi
grep -r --include=*.php -PHn "(base64\(.*\);)" .
Tällä komennolla voit tarkistaa onko hakemistossa muutettu tiedostoja 15 päivän sisällä ja sen jälkeen käydä listasta läpi mitä tiedostoista on.
find ./ -type f -mtime -15