La presente tesi, dal taglio estremamente tecnico, introduce gli scenari di applicazione dei malware, ne descrive le parti e, soprattutto, dettaglia, passo dopo passo, come costruire un malware in grado di bypassare le più comuni tecniche di detection. Per lo sviluppo di questo software ci siamo avvalsi di diverse tecnologie. Il nucleo del progetto è stato scritto interamente in C++, per sfruttare la potenza delle API Windows, mentre, per la fase di persistenza, è stato fatto largo usato del framework Metasploit. Nello specifico, è stato utilizzato l'handler generico di Metasploit, in piena aderenza alla filosofia del riuso del codice, ed è stato completamente riscritto il modulo "persistence_exe.rb" inserendovi nuove tecniche di persistenza. Nel presente elaborato verrà posta particolare attenzione nel mostrare non tanto lo sviluppo del malware in sé per sé, quanto, piuttosto, le tecniche da utilizzare per bypassare i metodi di detection. Questa tematica, infatti, è quella che denota la natura innovativa del nostro prodotto e che, quindi, dà valore aggiunto alla presente tesi. Verranno presentate diverse tecniche di antivirus evasion, quali, ad esempio, le tecniche di offuscamento (Hyperion e randomizzazione del codice VBScript), quelle di cifratura delle API Windows mediante XOR, l'importazione delle API a runtime e la cifratura del payload. Si mostrerà, inoltre, come piccoli accorgimenti, quali, ad esempio, l'offuscamento delle stringhe, siano sufficienti per bypassare la maggior parte dei software di detection presenti sul mercato.

Sviluppo di malware con tecniche di antivirus evasion

FEDERICONI, CRISTIAN
2019/2020

Abstract

La presente tesi, dal taglio estremamente tecnico, introduce gli scenari di applicazione dei malware, ne descrive le parti e, soprattutto, dettaglia, passo dopo passo, come costruire un malware in grado di bypassare le più comuni tecniche di detection. Per lo sviluppo di questo software ci siamo avvalsi di diverse tecnologie. Il nucleo del progetto è stato scritto interamente in C++, per sfruttare la potenza delle API Windows, mentre, per la fase di persistenza, è stato fatto largo usato del framework Metasploit. Nello specifico, è stato utilizzato l'handler generico di Metasploit, in piena aderenza alla filosofia del riuso del codice, ed è stato completamente riscritto il modulo "persistence_exe.rb" inserendovi nuove tecniche di persistenza. Nel presente elaborato verrà posta particolare attenzione nel mostrare non tanto lo sviluppo del malware in sé per sé, quanto, piuttosto, le tecniche da utilizzare per bypassare i metodi di detection. Questa tematica, infatti, è quella che denota la natura innovativa del nostro prodotto e che, quindi, dà valore aggiunto alla presente tesi. Verranno presentate diverse tecniche di antivirus evasion, quali, ad esempio, le tecniche di offuscamento (Hyperion e randomizzazione del codice VBScript), quelle di cifratura delle API Windows mediante XOR, l'importazione delle API a runtime e la cifratura del payload. Si mostrerà, inoltre, come piccoli accorgimenti, quali, ad esempio, l'offuscamento delle stringhe, siano sufficienti per bypassare la maggior parte dei software di detection presenti sul mercato.
2019
2020-10-24
Writing malware with AV evasion techniques
File in questo prodotto:
File Dimensione Formato  
Tesi_Federiconi_Cristian.pdf

Open Access dal 24/10/2022

Dimensione 26.73 MB
Formato Adobe PDF
26.73 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/4618