SlideShare a Scribd company logo
1 of 58
FEDERICO
- Introduzione (cos’è un Malware, ciclo di vita, tipologie)
- WannaCry (storia, diffusione, tipologia di attacco)
- Tecniche difensive
- Tecniche di analisi di un Malware (Analisi Statica)
DOMENICO
- Tecniche di analisi di un Malware (Analisi Dinamica)
- Strumenti e metodologie (Virtual Box, IDA Pro, etc)
RAFFAELE
- Analisi di WannaCry
- Analisi Statica di WannaCry
CARMINE
- Analisi Dinamica di WannaCry (Black e White Box)
- Conclusioni (Considerazioni personali, Sviluppi futuri)
●
●
●
●
●
○
○
●
○
○
●
○
○
●
○
○
○
●
●
●
●
●
●
●
●
●
○
○
●
○
○
○
○
○
●
○
●
●
○
○
● Macchine fisiche isolate (cioè connesse solo ad una
rete locale controllata);
● Vantaggi: possibilità di poter analizzare il malware in un
ambiente reale;
● Svantaggi: una volta eseguito il malware non è
possibile ripristinare lo stato precedente alla sua
esecuzione;
● Macchina virtuale;
● Una macchina virtuale o VM (Virtual Machine) è un
software che, attraverso un processo di virtualizzazione,
crea un ambiente virtuale che emula il comportamento di
una macchina fisica;
● Vantaggi: possibilità di poter ripristinare un particolare
stato del sistema operativo;
● Svantaggi: il malware potrebbe accorgersi del fatto che
viene eseguito all’interno di una macchina virtuale, e
quindi può cercare di confonderci;
Oracle VM VirtualBox, è un software open source per l’esecuzione di
macchine virtuali:
● Disponibile per Microsoft Windows, AppleOS X/macOS e Linux;
● Permette di eseguire un malware su una macchina virtuale, al fine di
studiarne il comportamento (analisi dinamica);
● Consente la creazione di istantanee, e il loro successivo ripristino per
poter analizzare lo stato del sistema prima che un determinato evento si
sia verificato;
IDA Pro è un disassemblatore estremamente potente, consente di
scompattare un eseguibile (.exe) generandone il relativo codice
macchina.
● Essendo un software commerciale abbiamo utilizzato una versione
gratuita, la quale ha alcune funzionilità limitate (non è infatti da utilizzare
in ambito professionale), ma per usi didattici può andare benissimo;
● Grazie alle sue funzionalità è molto utilizzato nell’ambito della malware
analysis;
● Risulta molto utile nell’analisi statica di un malware;
● E’ pensato per essere interattivo : tutte le parti del processo di
disassembling possono essere manipolate;
● E’ possibile memorizzare i progressi dell’analisi del malware:
consentendo l’inserimento di note ed etichette su funzioni, variabili etc.
Salvando tutto in un DB.
● Struttura modulare dei Plug-in: E’ possibile estendere le funzionalità di
IDA PRO mediante appositi Plug-in.
● Una volta analizzato l’eseguibile, IDA genera un grafo delle istruzioni,
dove ogni blocco rappresenta un obiettivo dell'istruzione jump.
Le linee che separano ogni blocco possono essere verdi, rosse o blu:
● Linea verde : l'obiettivo esiste, e la jump e soddisfatta;
● Linea blu : non ci sono decisioni da intraprendere e la jump non è
soddisfatta (l'obiettivo non esiste);
● Linea rossa : non ci sono decisioni da prendere.
●
●
●
●
●
●
●
●
●
●
Libreria ADVAPI32.DLL
● RegQueryValueExA, RegCreateKeyW, RegSetValueExA, RegCloseKey,
funzioni che permettono di:
○ creare (RegCreateKeyW) e chiudere (RegCloseKey) una chiave di registro
○ ottenere il tipo e i dati di uno specifico nome associato ad una chiave di
registro aperta (RegQueryValueExA)
○ di definire il valore per una specifica chiave di registro (RegSetValueExA)
● CryptReleaseContext
○ rilascia il riferimento di un provider di servizi di crittografia ed un contenitore
di chiavi
Libreria KERNEL32.DLL
● CreateFileA, ReadFile, WriteFile, CopyFileA, GetFileAttributes, SetFileAttributes,
funzioni che permettono di:
○ creare o aprire un file (CreateFileA)
○ leggere escrivere su un file (ReadFile, WriteFile)
○ copiare un file (CopyFileA)
○ ottenere e modificare gli attributi di un file (GetFileAttributes, SetFileAttributes)
● CreateProcessA, GetProcessHeap, TerminateProcess
○ creare un nuovo processo (CreateProcessA)
○ terminato un processo (TerminateProcess)
○ recuperare il riferimento dell’heap di default del processo (GetProcessHeap)
Libreria KERNEL32.DLL
● OpenMutexA
○ apre un riferimento ad un oggetto mutex
○ i Malware usano la funzione per garantire che solo una singola istanza di esso
venga eseguita
○
● GetStartupInfoA
○ recupera una struttura contente le informazioni di come il processo corrente è
stato configurato per l’esecuzione
● GetModuleHandle
○ recupera il riferimento ad un modulo già caricato
○ viene utilizzata da un malware per modificare il codice di un modulo già caricato o
per iniettare il codice in una buona posizione
Libreria MSVCRT.DLL
● fopen, fclose, fread, fwrite, funzioni che
○ aprono e chiudono un file (fopen, fclose)
○ leggono e scrivono su un file (fread, fwrite)
● strcmp, strcat
○ confronta due stringhe (strcmp)
○ concatena due stringhe (strcat)
● malloc, realloc, calloc permettono di
○ allocare un blocco di memoria (calloc, malloc)
○ ridimensionare un blocco di memoria (realloc)
● memset, memcmp, free
○ inizializza un blocco di memoria (memset)
○ compare i primi byte di due blocchi di memoria (memcmp)
○ libera una zona di memoria (free)
Queste funzioni probabilmente
vengono usate per criptare i file
e per fare controlli sulla
memoria disponibile
●
●
●
❏
❏
❏
❏
❏
❏
●
○
●
●
●
il file eseguibile del
malware
un semplice file
contenente del testo per
verificare la cifratura che il
malware effettuerà
●
●
○
○
○
●
●
●
●
●
○
●
○
■
●
○
■
●
●
Analisi relativa al traffico della rete
Analisi relativa al traffico della rete
Analisi relativa al traffico della rete
●
●
●
●
●
●
●
●
Analisi del Ransomware WannaCry

More Related Content

What's hot

The rise of malware(ransomware)
The rise of malware(ransomware)The rise of malware(ransomware)
The rise of malware(ransomware)phexcom1
 
Presentation_Malware Analysis.pptx
Presentation_Malware Analysis.pptxPresentation_Malware Analysis.pptx
Presentation_Malware Analysis.pptxnishanth kurush
 
Malware Static Analysis
Malware Static AnalysisMalware Static Analysis
Malware Static AnalysisHossein Yavari
 
Introduction to Malware Analysis
Introduction to Malware AnalysisIntroduction to Malware Analysis
Introduction to Malware AnalysisAndrew McNicol
 
Advanced Persistent Threat
Advanced Persistent ThreatAdvanced Persistent Threat
Advanced Persistent ThreatAmmar WK
 
Ransomware - The Growing Threat
Ransomware - The Growing ThreatRansomware - The Growing Threat
Ransomware - The Growing ThreatNick Miller
 
Basic Dynamic Analysis of Malware
Basic Dynamic Analysis of MalwareBasic Dynamic Analysis of Malware
Basic Dynamic Analysis of MalwareNatraj G
 
Malware classification using Machine Learning
Malware classification using Machine LearningMalware classification using Machine Learning
Malware classification using Machine LearningJapneet Singh
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life CycleMaurice Dawson
 
Malware Analysis Made Simple
Malware Analysis Made SimpleMalware Analysis Made Simple
Malware Analysis Made SimplePaul Melson
 
Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5AfiqEfendy Zaen
 

What's hot (20)

Talking About SSRF,CRLF
Talking About SSRF,CRLFTalking About SSRF,CRLF
Talking About SSRF,CRLF
 
Malware
MalwareMalware
Malware
 
The rise of malware(ransomware)
The rise of malware(ransomware)The rise of malware(ransomware)
The rise of malware(ransomware)
 
Presentation_Malware Analysis.pptx
Presentation_Malware Analysis.pptxPresentation_Malware Analysis.pptx
Presentation_Malware Analysis.pptx
 
Malware Static Analysis
Malware Static AnalysisMalware Static Analysis
Malware Static Analysis
 
Red7 Software Application Security Threat Modeling
Red7 Software Application Security Threat ModelingRed7 Software Application Security Threat Modeling
Red7 Software Application Security Threat Modeling
 
Basic malware analysis
Basic malware analysisBasic malware analysis
Basic malware analysis
 
basic knowhow hacking
basic knowhow hackingbasic knowhow hacking
basic knowhow hacking
 
Introduction to Malware Analysis
Introduction to Malware AnalysisIntroduction to Malware Analysis
Introduction to Malware Analysis
 
Advanced Persistent Threat
Advanced Persistent ThreatAdvanced Persistent Threat
Advanced Persistent Threat
 
Ransomware
RansomwareRansomware
Ransomware
 
Ransomware - The Growing Threat
Ransomware - The Growing ThreatRansomware - The Growing Threat
Ransomware - The Growing Threat
 
Advanced persistent threats(APT)
Advanced persistent threats(APT)Advanced persistent threats(APT)
Advanced persistent threats(APT)
 
Basic Dynamic Analysis of Malware
Basic Dynamic Analysis of MalwareBasic Dynamic Analysis of Malware
Basic Dynamic Analysis of Malware
 
Malware classification using Machine Learning
Malware classification using Machine LearningMalware classification using Machine Learning
Malware classification using Machine Learning
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life Cycle
 
Malware Analysis Made Simple
Malware Analysis Made SimpleMalware Analysis Made Simple
Malware Analysis Made Simple
 
Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5
 
Metasploit
MetasploitMetasploit
Metasploit
 
Owasp Top 10 Mobile Risks
Owasp Top 10 Mobile RisksOwasp Top 10 Mobile Risks
Owasp Top 10 Mobile Risks
 

Similar to Analisi del Ransomware WannaCry

Web Content Filtering
Web Content FilteringWeb Content Filtering
Web Content Filteringmmarcuzzi
 
Introduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulugIntroduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulugIvan Gualandri
 
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPNetbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPGiorgio Cefaro
 
CMS - Analisi Vulnerabilità
CMS - Analisi VulnerabilitàCMS - Analisi Vulnerabilità
CMS - Analisi Vulnerabilitàraffaele_forte
 
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniBackdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniSalvatore Lentini
 
PowerMock TDD User Group Milano
PowerMock TDD User Group MilanoPowerMock TDD User Group Milano
PowerMock TDD User Group MilanoMassimo Groppelli
 
Cuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysisCuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysisjekil
 
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzajekil
 
BackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTFBackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTFAndrea Draghetti
 
festival ICT 2013: Alla ricerca della pendrive perduta
festival ICT 2013: Alla ricerca della pendrive perdutafestival ICT 2013: Alla ricerca della pendrive perduta
festival ICT 2013: Alla ricerca della pendrive perdutafestival ICT 2016
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxDeveler S.r.l.
 
Difendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceDifendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceGianluca Vaglio
 

Similar to Analisi del Ransomware WannaCry (20)

Web Content Filtering
Web Content FilteringWeb Content Filtering
Web Content Filtering
 
Introduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulugIntroduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulug
 
La salute del software
La salute del softwareLa salute del software
La salute del software
 
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPNetbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
CMS - Analisi Vulnerabilità
CMS - Analisi VulnerabilitàCMS - Analisi Vulnerabilità
CMS - Analisi Vulnerabilità
 
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioniBackdoor Coding: Analisi di una semplice backdoor e prime applicazioni
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
 
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
PowerMock TDD User Group Milano
PowerMock TDD User Group MilanoPowerMock TDD User Group Milano
PowerMock TDD User Group Milano
 
Pc piu sicuro
Pc piu sicuroPc piu sicuro
Pc piu sicuro
 
Cuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysisCuckoo Sandbox: Automated malware analysis
Cuckoo Sandbox: Automated malware analysis
 
Exploitation windows7
Exploitation windows7Exploitation windows7
Exploitation windows7
 
Smart api
Smart apiSmart api
Smart api
 
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
 
BackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTFBackBox Linux: Simulazione di un Penetration Test e CTF
BackBox Linux: Simulazione di un Penetration Test e CTF
 
festival ICT 2013: Alla ricerca della pendrive perduta
festival ICT 2013: Alla ricerca della pendrive perdutafestival ICT 2013: Alla ricerca della pendrive perduta
festival ICT 2013: Alla ricerca della pendrive perduta
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Erlug
ErlugErlug
Erlug
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
 
Difendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceDifendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open source
 

Recently uploaded

relazione laboratorio_Stefano Afferrante.docx
relazione laboratorio_Stefano Afferrante.docxrelazione laboratorio_Stefano Afferrante.docx
relazione laboratorio_Stefano Afferrante.docxlorenzodemidio01
 
ModelliAtomici.pptx studente liceo scientifico
ModelliAtomici.pptx studente liceo scientificoModelliAtomici.pptx studente liceo scientifico
ModelliAtomici.pptx studente liceo scientificoyanmeng831
 
Oman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptx
Oman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptxOman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptx
Oman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptxraffaeleoman
 
I Modelli Atmoci_FilippoLuciani bohr.pptx
I Modelli Atmoci_FilippoLuciani bohr.pptxI Modelli Atmoci_FilippoLuciani bohr.pptx
I Modelli Atmoci_FilippoLuciani bohr.pptxfilippoluciani9
 
I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptx
I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptxI Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptx
I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptxtecongo2007
 
CamploneAlessandro_ArcheoBatteri (1).pptx
CamploneAlessandro_ArcheoBatteri (1).pptxCamploneAlessandro_ArcheoBatteri (1).pptx
CamploneAlessandro_ArcheoBatteri (1).pptxcamplonealex26
 
Iuzzolino Nuria-lavoro scienzeeeeee.pptx
Iuzzolino Nuria-lavoro scienzeeeeee.pptxIuzzolino Nuria-lavoro scienzeeeeee.pptx
Iuzzolino Nuria-lavoro scienzeeeeee.pptxnuriaiuzzolino1
 
matematicaesempio--power point provaaaaa
matematicaesempio--power point provaaaaamatematicaesempio--power point provaaaaa
matematicaesempio--power point provaaaaanuriaiuzzolino1
 
Imodelli_atomici_stefano_afferrante.pptx
Imodelli_atomici_stefano_afferrante.pptxImodelli_atomici_stefano_afferrante.pptx
Imodelli_atomici_stefano_afferrante.pptxlorenzodemidio01
 

Recently uploaded (9)

relazione laboratorio_Stefano Afferrante.docx
relazione laboratorio_Stefano Afferrante.docxrelazione laboratorio_Stefano Afferrante.docx
relazione laboratorio_Stefano Afferrante.docx
 
ModelliAtomici.pptx studente liceo scientifico
ModelliAtomici.pptx studente liceo scientificoModelliAtomici.pptx studente liceo scientifico
ModelliAtomici.pptx studente liceo scientifico
 
Oman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptx
Oman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptxOman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptx
Oman_Raffaele_Progetto_scienze_Eubatteri - Copia (1).pptx
 
I Modelli Atmoci_FilippoLuciani bohr.pptx
I Modelli Atmoci_FilippoLuciani bohr.pptxI Modelli Atmoci_FilippoLuciani bohr.pptx
I Modelli Atmoci_FilippoLuciani bohr.pptx
 
I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptx
I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptxI Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptx
I Modelli Atomici: Bhor, Rutherford, Dalton, Thomson.pptx
 
CamploneAlessandro_ArcheoBatteri (1).pptx
CamploneAlessandro_ArcheoBatteri (1).pptxCamploneAlessandro_ArcheoBatteri (1).pptx
CamploneAlessandro_ArcheoBatteri (1).pptx
 
Iuzzolino Nuria-lavoro scienzeeeeee.pptx
Iuzzolino Nuria-lavoro scienzeeeeee.pptxIuzzolino Nuria-lavoro scienzeeeeee.pptx
Iuzzolino Nuria-lavoro scienzeeeeee.pptx
 
matematicaesempio--power point provaaaaa
matematicaesempio--power point provaaaaamatematicaesempio--power point provaaaaa
matematicaesempio--power point provaaaaa
 
Imodelli_atomici_stefano_afferrante.pptx
Imodelli_atomici_stefano_afferrante.pptxImodelli_atomici_stefano_afferrante.pptx
Imodelli_atomici_stefano_afferrante.pptx
 

Analisi del Ransomware WannaCry

  • 1.
  • 2. FEDERICO - Introduzione (cos’è un Malware, ciclo di vita, tipologie) - WannaCry (storia, diffusione, tipologia di attacco) - Tecniche difensive - Tecniche di analisi di un Malware (Analisi Statica) DOMENICO - Tecniche di analisi di un Malware (Analisi Dinamica) - Strumenti e metodologie (Virtual Box, IDA Pro, etc) RAFFAELE - Analisi di WannaCry - Analisi Statica di WannaCry CARMINE - Analisi Dinamica di WannaCry (Black e White Box) - Conclusioni (Considerazioni personali, Sviluppi futuri)
  • 3.
  • 5.
  • 7.
  • 9.
  • 11.
  • 15. ● Macchine fisiche isolate (cioè connesse solo ad una rete locale controllata); ● Vantaggi: possibilità di poter analizzare il malware in un ambiente reale; ● Svantaggi: una volta eseguito il malware non è possibile ripristinare lo stato precedente alla sua esecuzione;
  • 16. ● Macchina virtuale; ● Una macchina virtuale o VM (Virtual Machine) è un software che, attraverso un processo di virtualizzazione, crea un ambiente virtuale che emula il comportamento di una macchina fisica; ● Vantaggi: possibilità di poter ripristinare un particolare stato del sistema operativo; ● Svantaggi: il malware potrebbe accorgersi del fatto che viene eseguito all’interno di una macchina virtuale, e quindi può cercare di confonderci;
  • 17.
  • 18. Oracle VM VirtualBox, è un software open source per l’esecuzione di macchine virtuali: ● Disponibile per Microsoft Windows, AppleOS X/macOS e Linux; ● Permette di eseguire un malware su una macchina virtuale, al fine di studiarne il comportamento (analisi dinamica); ● Consente la creazione di istantanee, e il loro successivo ripristino per poter analizzare lo stato del sistema prima che un determinato evento si sia verificato;
  • 19. IDA Pro è un disassemblatore estremamente potente, consente di scompattare un eseguibile (.exe) generandone il relativo codice macchina. ● Essendo un software commerciale abbiamo utilizzato una versione gratuita, la quale ha alcune funzionilità limitate (non è infatti da utilizzare in ambito professionale), ma per usi didattici può andare benissimo; ● Grazie alle sue funzionalità è molto utilizzato nell’ambito della malware analysis; ● Risulta molto utile nell’analisi statica di un malware;
  • 20. ● E’ pensato per essere interattivo : tutte le parti del processo di disassembling possono essere manipolate; ● E’ possibile memorizzare i progressi dell’analisi del malware: consentendo l’inserimento di note ed etichette su funzioni, variabili etc. Salvando tutto in un DB. ● Struttura modulare dei Plug-in: E’ possibile estendere le funzionalità di IDA PRO mediante appositi Plug-in.
  • 21. ● Una volta analizzato l’eseguibile, IDA genera un grafo delle istruzioni, dove ogni blocco rappresenta un obiettivo dell'istruzione jump. Le linee che separano ogni blocco possono essere verdi, rosse o blu: ● Linea verde : l'obiettivo esiste, e la jump e soddisfatta; ● Linea blu : non ci sono decisioni da intraprendere e la jump non è soddisfatta (l'obiettivo non esiste); ● Linea rossa : non ci sono decisioni da prendere.
  • 22.
  • 24.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Libreria ADVAPI32.DLL ● RegQueryValueExA, RegCreateKeyW, RegSetValueExA, RegCloseKey, funzioni che permettono di: ○ creare (RegCreateKeyW) e chiudere (RegCloseKey) una chiave di registro ○ ottenere il tipo e i dati di uno specifico nome associato ad una chiave di registro aperta (RegQueryValueExA) ○ di definire il valore per una specifica chiave di registro (RegSetValueExA) ● CryptReleaseContext ○ rilascia il riferimento di un provider di servizi di crittografia ed un contenitore di chiavi
  • 33. Libreria KERNEL32.DLL ● CreateFileA, ReadFile, WriteFile, CopyFileA, GetFileAttributes, SetFileAttributes, funzioni che permettono di: ○ creare o aprire un file (CreateFileA) ○ leggere escrivere su un file (ReadFile, WriteFile) ○ copiare un file (CopyFileA) ○ ottenere e modificare gli attributi di un file (GetFileAttributes, SetFileAttributes) ● CreateProcessA, GetProcessHeap, TerminateProcess ○ creare un nuovo processo (CreateProcessA) ○ terminato un processo (TerminateProcess) ○ recuperare il riferimento dell’heap di default del processo (GetProcessHeap)
  • 34. Libreria KERNEL32.DLL ● OpenMutexA ○ apre un riferimento ad un oggetto mutex ○ i Malware usano la funzione per garantire che solo una singola istanza di esso venga eseguita ○ ● GetStartupInfoA ○ recupera una struttura contente le informazioni di come il processo corrente è stato configurato per l’esecuzione ● GetModuleHandle ○ recupera il riferimento ad un modulo già caricato ○ viene utilizzata da un malware per modificare il codice di un modulo già caricato o per iniettare il codice in una buona posizione
  • 35. Libreria MSVCRT.DLL ● fopen, fclose, fread, fwrite, funzioni che ○ aprono e chiudono un file (fopen, fclose) ○ leggono e scrivono su un file (fread, fwrite) ● strcmp, strcat ○ confronta due stringhe (strcmp) ○ concatena due stringhe (strcat) ● malloc, realloc, calloc permettono di ○ allocare un blocco di memoria (calloc, malloc) ○ ridimensionare un blocco di memoria (realloc) ● memset, memcmp, free ○ inizializza un blocco di memoria (memset) ○ compare i primi byte di due blocchi di memoria (memcmp) ○ libera una zona di memoria (free) Queste funzioni probabilmente vengono usate per criptare i file e per fare controlli sulla memoria disponibile
  • 36.
  • 37.
  • 39.
  • 41.
  • 43.
  • 44. ● ● ● il file eseguibile del malware un semplice file contenente del testo per verificare la cifratura che il malware effettuerà
  • 45.
  • 48.
  • 49.
  • 50.
  • 51.
  • 53. Analisi relativa al traffico della rete
  • 54. Analisi relativa al traffico della rete
  • 55. Analisi relativa al traffico della rete