CriticoFamiglia antivirus

php.bkdr.remote: la backdoor che prende ordini da fuori

php.bkdr.remote è la firma di una backdoor che non contiene il proprio carico: lo scarica o lo riceve da un server esterno a ogni esecuzione, quindi ciò che fa oggi può essere diverso da ciò che farà domani. Nel corpus di misura di WPsec.it dell'agosto 2026 compare su 10 domini e 6 server; il 96% dei file ha nome casuale e il 98% vive fuori dalle cartelle di WordPress. Il 97% dei rilevamenti porta il prefisso SMW-INJ.

Famiglia: Backdoor con controllo remoto · Anche noto come: bkdr.remote, remote · Aggiornato il 1 settembre 2026

Le stringhe esatte

Se hai trovato una di queste stringhe sul tuo sito, sei nella pagina giusta.

  • php.bkdr.remote
  • SMW-INJ-CLOUDAV-php.bkdr.remote
  • php.bkd.remote
  • php.tool.remote

Dove si trova

  • Fuori dalle cartelle di WordPress nel 98% dei casi: cartelle di servizio, copie vecchie, spazio condiviso dell'account
  • Con nome casuale, spesso con estensione .php7 o .php8 oltre a .php
  • Accanto a un dropper o a una shell: nel corpus non compare mai da solo su un dominio

Cosa fa

  • Contatta un indirizzo esterno e scarica o riceve il codice da eseguire: il carico non è nel file, quindi l'analisi statica lo sottovaluta.
  • Permette all'attaccante di cambiare comportamento senza toccare il sito: oggi spam, domani un redirect, dopodomani un miner.
  • Lascia una traccia nelle connessioni uscenti del server, che l'hosting può vedere anche quando il file è già stato rimosso.

Come verificare

Comandi di sola lettura: non modificano nulla. Sostituisci ESEMPIO.it con il tuo dominio ed esegui dalla radice del sito.

  1. Cerca chi apre connessioni verso l'esterno nel codice non standard

    grep -rn --include='*.php' -E '(file_get_contents|curl_init|curl_exec|fsockopen|stream_socket_client|fopen)\s*\(\s*["\x27]?(https?|ftp)://' . | grep -vE 'wp-(admin|includes)/|plugins/(akismet|jetpack|woocommerce|updraftplus)/' | head -30
  2. Cerca indirizzi IP scritti nel codice

    grep -rn --include='*.php' -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' . | grep -vE 'wp-(admin|includes)/|127\.0\.0\.1|0\.0\.0\.0' | sort | uniq -c | sort -rn | head -20
  3. Verifica se puoi limitare le connessioni uscenti del sito

    php -r 'echo ini_get("allow_url_fopen"), PHP_EOL;'

Cosa non basta fare

  • Analizzare il file segnalato per capire cosa fa: il carico non è lì dentro, arriva dalla rete.
  • Bloccare un indirizzo IP trovato nel codice: il server di comando cambia, la backdoor no.
  • Rimuovere il file senza cercare chi lo richiama: nel corpus è sempre accompagnato da un dropper o da una shell.

Cosa fare

  • Chiedi all'hosting le connessioni uscenti recenti del tuo account: indirizzi e frequenza dicono da quanto tempo la backdoor lavora.
  • Cerca gli altri artefatti nella stessa finestra temporale, fuori da wp-content prima ancora che dentro.
  • Chiudi il vettore di ingresso e, se l'hosting lo consente, limita le connessioni uscenti di PHP ai domini che servono davvero.
  • Ripeti la scansione a distanza di giorni: una backdoor remota può restare in attesa.

FAQ

Domande frequenti

  • Solo finché l'attaccante non ne cambia uno. L'indirizzo di comando è la parte più facile da sostituire; la backdoor sul tuo disco è la parte che devi rimuovere tu. Il blocco in uscita è una misura di contenimento utile, non una bonifica.

Se il sito è compromesso

Trovare la firma è il primo passo, chiudere la via di ingresso è quello che conta

Rimuovere l'artefatto senza chiudere il punto da cui è entrato porta alla reinfezione. La scansione gratuita è il modo più rapido per capire cosa è osservabile dall'esterno del tuo sito.

Questa pagina pubblica firme di rilevamento, non codice sfruttabile. I casi citati sono descritti in forma anonima.