I diritti sono riservati, come da legge sul Diritto d'Autore n. 518 del 1992 e successive modifiche. E' consentita la citazione del topic e/o di alcune parti interne, senza preventiva autorizzazione, purchè sia chiaramente identificabile il nome del dominio ufficiale e dell'autore (sciax2.it,Exterminetor) Per le autorizzazioni o qualsiasi comunicazione in merito potete scrivere a: Dio (il sottoscritto) Comincio col dire che durante questi anni in cui non ho frequentato il forum ho avuto modo di affinare le mie competenze in ambito informatico ed elettronico, oltre che crescere sotto un punto di vista caratteriale. Definizione di Malware: Nella sicurezza informatica il termine malware indica genericamente un qualsiasi software creato con il solo scopo di causare danni più o meno gravi ad un computer o un sistema informatico su cui viene eseguito. Il termine deriva dalla contrazione delle parole inglesi malicious e software e ha dunque il significato letterale di "programma malvagio"; in italiano è detto anche codice maligno. Comportamento del Malware: Tempo fa Wireshark (software per analisi di protocollo o packet sniffer (letteralmente annusa-pacchetti) utilizzato per la soluzione di problemi di rete, per l'analisi e lo sviluppo di protocolli o di software di comunicazione e per la didattica) ha rilevato che un malware tentava di connettersi ad un indirizzo Irc: molto probabile quindi che il cracker che l'ha creato lo controllasse proprio attraverso Irc ( Perfavore,
Entra
oppure
Registrati
per vedere i Link!
) e che l'eseguibile stesso contenesse un bot, il termine bot si riferisce, in generale, a un programma che accede alla rete attraverso lo stesso tipo di canali utilizzati dagli utenti umani (per esempio che accede alle pagine Web, invia messaggi in una chat, si muove nei videogiochi, e così via). In seguito ho verificato che installando un server Irc locale e impostandone la voce corrispondente nei file hosts, in effetti il malware accede al server e si collega al canale #challenge con rispettiva password 'happy12'. Analizzandolo con ProcessMon ( Perfavore,
Entra
oppure
Registrati
per vedere i Link!
), ho rilevato numerose variazioni alle chiavi di registro e la creazione di due eseguibili: a.bat, un file tenuto a crearne un altro a sua volta, e 1.reg, che contiene le modifiche effettive al registro. Queste modifiche sono per lo più inerenti al funzionamento delle connessioni TCP ( protocollo di rete a pacchetto di livello di trasporto, appartenente alla suite di protocolli Internet, che si occupa di controllo di trasmissione. È definito nella RFC 793 e su di esso si appoggiano gran parte delle applicazioni della rete Internet) del computer infettato, ma sono interessanti due chiavi in particolare, che creano due voci in \\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Version\Run e in \\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Version\RunServices, adibite all'autoesecuzione del malware all'avvio del sistema.Offuscamento: Per non essere rilevato dagli antivirus, l'eseguibile è compresso e decompresso dinamicamente al momento dell'esecuzione. Per poter analizzare dunque il malware è necessario individuare con precisione il packer usato. PEiD rivela che si tratta di UPX, un packer molto diffuso: a questo punto usando Ollydbg (debugger progettato per l'analisi e l'eliminazione dei bug,ovvero errori di programmazione interni al programma) presenti in altri programmi. Assieme al compilatore è fra i più importanti strumenti di sviluppo a disposizione di un programmatore) con il plugin Ollydump, dopo aver impostato un breakpoint al termine della procdura di decompressione, è possibile salvare il disassemblato effettivo dell'eseguibile, per poterlo studiare con calma. ImpRec16 è di aiuto per ricostruire le tabelle delle procedure importate dalle DLL di sistema con nomi di più facile lettura, dato che il programma le carica in memoria e ne esegue le routine chiamandole per indirizzo e non per nome Analisi del disassemblato: La prima cosa che il malware compie una volta eseguito è implementare un proprio gestore di eccezioni, che si occupa prevalentemente di fare pulizia e chiudere le connessioni. Poi viene creato e lanciato il file a.bat, il quale, come gia visto, è incaricato di crare e avviare a sua volta il file 1.reg. Dopo aver impostato le chiavi di registro per l'autoavviamento, si passa alla creazione della connessione su Irc. Mentre la password è sempre la stessa, il nickname usato su Irc cambia secondo la posizione geografica, il sistema operativo usato e un numero casuale (per esempio USA[XP]803984): un apposito algoritmo si occupa proprio di questo. Dopo aver effettuato il login il malware si trova nel loop del principale: è in attesa di istruzioni. Il controllo del Malware: Per poter controllare il malware bisogna collegarsi allo stesso canale Irc e impartire un comando di login con una password predefinita. La password è inserita direttamente nel codice, ma non basta da sola e bypassare l'accesso: bisogna anche provenire da un redirect particolare, anch'esso codificato nell'eseguibile. Se si vuole provare a comandare il bot occorre quindi impostare il server Irc virtuale in modo che figuri come installato su quel dominio. Una volta ottenuto l'accesso, si ha un ampio ventaglio di possibilità. Atteraverso la macchina infetta si può lanciare un server Web, un server FTP (protocollo per la trasmissione di dati tra host basato su TCP. FTP è uno dei primi protocolli definiti ed ha subito una lunga evoluzione negli anni. La prima specifica, sviluppata presso il MIT, risale al 1971 (RFC-114). L'attuale specifica fa riferimento all'RFC-959), attacchi di vario tipo (DDos, ping flood, syn flood ed altri) verso domini o altre macchine in rete, avviare una shell remota che da accesso completo alla vittima e molto altro ancora. Conclusioni: Per essere in grado di compiere un'analisi altrettanto accurata, occorre una buona conoscenza dell'Assembly (assembly, o linguaggio assemblativo è, tra i linguaggi di programmazione, quello più vicino al linguaggio macchina vero e proprio, pur essendo differente rispetto a quest'ultimo). Questa è la base per studiare non solo malwares, ma anche sistemi di protezioni, falle di sicurezza, e in definitiva tutto il funzionamento dei softwares esistenti. La fonte è esclusivamente mia, Exterminetor. Segnalate eventuali errori di ortografia, grazie. |