SlideShare a Scribd company logo
1 of 20
Rootkit: teoria e pratica Michele BOLOGNA michele.bologna@gmail.com Corso di Sicurezza dei Sistemi Informatici Università degli Studi di Bergamo
Un rootkit è un insieme di programmi che permettono di: Consentire la presenza invisibile e permanente di processi e informazioni all'interno di un sistema Pericoloso? In base all’utilizzo che se ne fa 2 Che cos’è un rootkit?
Prima: dispositivi di emergenza  Prendere il controllo di un sistema bloccato Oggi: mantenere l’accesso ad un sistema compromesso senza l’autorizzazione del legittimo proprietario occultare la propria presenza  modificare (o “evadere”) le politiche di sicurezza Considerati dalla comunità tecnica come malware e trojanhorses Non sono worm (non si auto-diffondono) 3 Etica
Comunità di security http://packetstormsecurity.org/UNIX/penetration/rootkits/indexdate.html Necessità Divertimento, “sfida”  Nei CD audio (2005) Sony BMG include un rootkit in alcuni CD audio per evitare il ripping Funzionava solo sui sistemi Windows (autoplay) Sony ha ritirato tutti i CD in circolazione 4 Dove si trovano?
Parleremo di GNU/Linux e UNIX Ottengo accesso ad una macchina e riesco ad elevare le mie credenziali a root Exploit locale/remoto Terminali lasciati incustoditi Conoscenze tecniche richieste: minime (script-kiddies) Perché non mantenere un accesso segreto a quella macchina? 5 Esempio
Per quanto una dir “…” sia difficile da individuare è comunque visibile: michele@titan ~ $ ls -la drwx------   7 micheleshelluser  4096 2008-05-15 15:45 . drwxr-xr-x 238 rootroot       4096 2008-05-13 18:40 .. drwxr-xr-x   2 micheleshelluser  4096 2008-05-15 15:45 ... Posso nasconderci i miei files, … Ma un amministratore può comunque rintracciarli find, locate, etc. Può notare i miei processi con ps Vedere che sono loggato con who Usiamo un rootkit! 6 Esempio
La maggior parte dei rootkit contiene dei tool per “diventare invisibile”: Nascondere files, processi, blocchi di memoria agli occhi di tutti gli utenti del sistema Fornire una backdoor locale/remota per l’accesso come amministratore Coppia di userid/password di backup (es: utenza “toor”, etc.) Esempio: sshd su una porta scelta o via portknocking L’installazione del rootkit cancella ogni traccia  Tracce di avvenuta compromissione Tracce delle modifiche apportate 7 Funzionalità
La maggior parte dei rootkit contiene dei tool per: Evitare il logging di alcuni servizi Eliminazione di record dai log (es. user accounting, eliminazione IP) Altri tool per compromettere altre macchine: Sniffing, keylogging Creazione di botnet (DDoS, spam, …) Exploit L’installazione è semi-automizzata Purchè il sistema sia conforme alle specifiche del rootkit 8 Funzionalità /2
Distinguiamo due tipi di rootkit: Userspace (USR) Relativamente facili da scrivere e da identificare Tipo “più vecchio” Kernelspace (KSR) Complessi da progettare Complessi da identificare Evoluzione 9 Tipi
Idea di base: modifico il comportamento di ls evitare che mostri le mie directory “nascoste” Modifico gli eseguibili di sistema in modo che la presenza della backdoor non sia scoperta Bersagli tipici: ifconfig, netstat ls ps who, w, finger login, tcpd, inetd Ogni demone di rete 10 USR: come funzionano?
Non sostituiscono gli eseguibili di sistema Sono dei moduli del kernel LoadableKernelModule (LKM) Possono essere caricati a runtime (es: device driver)  Complessi: operano allo stesso livello del kernel, quindi possono modificare o dirottare qualsiasi richiesta software 11 KSR: come funzionano?
Aggiungono e/o modificano parti del SO Alterano il funzionamento dei comandi attraverso il kernel stesso Accedono al kernel tramite la memoria (/dev/kmem) Reindirizzano le chiamate di sistema a funzioni trojan (prima il mio codice, poi la chiamata) 12 KSR: come funzionano? /2
Fingerprinting: Salvare i fingerprint dei binari di sistema su un supporto read-only Confronto con hash attuali Differenze? Processo automatizzato con alcuni tool (es. tripwire, integrit, etc.) 13 Come ci si difende? (USR)
Ispezione: strumenti automatici che cercano pattern sospetti nei binari di sistema (es. chkrootkit) Falsi positivi Rootkitgià noti E se io scrivessi il mio rootkit? 14 Come ci si difende? (USR/KSR)
Controllare quali moduli (LKM) vengono caricati LKM è il punto d’ingresso per iniettare codice nel kernel Esistono moduli che non vengono visualizzati con lsmod Ispezionare il device /dev/kmem (usando kstat) Attraverso /dev/kmem è possibile iniettare codice nel kernel a runtime Controllare l’accesso in scritturaa /dev/kmem (via kernel) Ad esempio utilizzando una whitelist per i programmi 15 Come ci si difende? (KSR)
Processo di sicurezza Prevenzione Security patch … Attività sospetta Porte in LISTENING (netstat/lsof/nmap) Segfault dei binari Payload dei pacchetti in entrata/uscita telnet ICMP (!) Reverse shell (callback) Modalità promisc della scheda di rete Controllo dei log Carico elevato Osservare il sistema! … 16 Come ci si difende?
Assunzione di base: se il SO è compromesso non ci si può fidare  meglio un OS live da CD, ad es. Knoppixforensics, Helix, etc. Forensics Ripristino Reinstallazione totale 17 Cosa fare se si è infetti?
Può essere interessante (ma varia da contesto a contesto) un’analisi forense per stabilire: Come ha preso il controllo del sistema? Attribuire responsabilità Verificare se l’attaccante ha lasciato qualche traccia (log) utile  Identificare l’attaccante (provvedimenti?) Evitare di commettere lo stesso errore in futuro Rivedere la propria politica di sicurezza 18 Forensics
Ripristino Ripristinare le componenti compromesse Sono state fatte copie di backup? Sconsigliabile Il sistema potrebbe contenere componenti compromesse non visibile: analisi? Analisi che può richiedere molto tempo Reinstallazione Nel caso sia possibile è fortemente consigliata una reinstallazione totale del sistema 19 Ripristino e reinstallazione
Domande? Dove posso trovare materiale a riguardo e i riferimenti ai tool citati? Queste slides (e i relativi riferimenti) sono disponibili su: http://mb.netsons.org 20 Conclusioni

More Related Content

What's hot

Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberryOrazio Sarno
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaUnderstanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaMarco Ferrigno
 
Firewall E Virus
Firewall E VirusFirewall E Virus
Firewall E Virusasdasdaro
 
Xen - Esperienze a Perugia
Xen - Esperienze a PerugiaXen - Esperienze a Perugia
Xen - Esperienze a PerugiaMirko Mariotti
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Piergiorgio Borgogno
 
Cyber Forensic
Cyber ForensicCyber Forensic
Cyber ForensicNaLUG
 

What's hot (7)

Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberry
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaUnderstanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnica
 
Firewall E Virus
Firewall E VirusFirewall E Virus
Firewall E Virus
 
Xen - Esperienze a Perugia
Xen - Esperienze a PerugiaXen - Esperienze a Perugia
Xen - Esperienze a Perugia
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)
 
Cyber Forensic
Cyber ForensicCyber Forensic
Cyber Forensic
 
Attacchi e difese
Attacchi e difeseAttacchi e difese
Attacchi e difese
 

Viewers also liked

Amazon Day - Terza parte
Amazon Day - Terza parteAmazon Day - Terza parte
Amazon Day - Terza parteMaxpho™
 
Annunci Di Escort A Milano
Annunci Di Escort A Milano
Annunci Di Escort A Milano
Annunci Di Escort A Milano vanessalarson1
 
Architettura Geografica Dei Server Linked In
Architettura Geografica Dei Server Linked InArchitettura Geografica Dei Server Linked In
Architettura Geografica Dei Server Linked InLuca Papandrea
 
Risoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.it
Risoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.itRisoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.it
Risoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.itValerio Como
 
Application Delivery Networking
Application Delivery NetworkingApplication Delivery Networking
Application Delivery Networkingrjain51
 
Sarti Davide - Manga
Sarti Davide - MangaSarti Davide - Manga
Sarti Davide - MangaKakashikun
 
DNS and Infrastracture DDoS Protection
DNS and Infrastracture DDoS ProtectionDNS and Infrastracture DDoS Protection
DNS and Infrastracture DDoS ProtectionImperva Incapsula
 
Lezione 04 2015-2016 Nomi di dominio
Lezione 04 2015-2016 Nomi di dominioLezione 04 2015-2016 Nomi di dominio
Lezione 04 2015-2016 Nomi di dominioFederico Costantini
 
Fetishism & Sexual Variance: A brief review
Fetishism & Sexual Variance: A brief reviewFetishism & Sexual Variance: A brief review
Fetishism & Sexual Variance: A brief reviewCameron Kippen
 

Viewers also liked (13)

Wps 04
Wps 04Wps 04
Wps 04
 
Amazon Day - Terza parte
Amazon Day - Terza parteAmazon Day - Terza parte
Amazon Day - Terza parte
 
Annunci Di Escort A Milano
Annunci Di Escort A Milano
Annunci Di Escort A Milano
Annunci Di Escort A Milano
 
Architettura Geografica Dei Server Linked In
Architettura Geografica Dei Server Linked InArchitettura Geografica Dei Server Linked In
Architettura Geografica Dei Server Linked In
 
Risoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.it
Risoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.itRisoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.it
Risoluzione DNS per IPv6: sperimentazione nella rete del dominio uniba.it
 
Devious
DeviousDevious
Devious
 
Application Delivery Networking
Application Delivery NetworkingApplication Delivery Networking
Application Delivery Networking
 
6 Dns Parte1
6 Dns Parte16 Dns Parte1
6 Dns Parte1
 
Sarti Davide - Manga
Sarti Davide - MangaSarti Davide - Manga
Sarti Davide - Manga
 
DNS and Infrastracture DDoS Protection
DNS and Infrastracture DDoS ProtectionDNS and Infrastracture DDoS Protection
DNS and Infrastracture DDoS Protection
 
Business+ DDoS Protection
Business+ DDoS ProtectionBusiness+ DDoS Protection
Business+ DDoS Protection
 
Lezione 04 2015-2016 Nomi di dominio
Lezione 04 2015-2016 Nomi di dominioLezione 04 2015-2016 Nomi di dominio
Lezione 04 2015-2016 Nomi di dominio
 
Fetishism & Sexual Variance: A brief review
Fetishism & Sexual Variance: A brief reviewFetishism & Sexual Variance: A brief review
Fetishism & Sexual Variance: A brief review
 

Similar to Rootkit: teoria e pratica. Michele BOLOGNA

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
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking EngineeringNaLUG
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Marco Ferrigno
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open sourceMarco Ferrigno
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceNaLUG
 
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
 
Tutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdfTutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdfHelpRansomware
 
Pericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virusPericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virusGiovanni Mennea
 
Intrusion Detection Systems
Intrusion Detection SystemsIntrusion Detection Systems
Intrusion Detection Systemsjekil
 
Fisherman's tale easy security threat 4.0
Fisherman's tale   easy security threat 4.0Fisherman's tale   easy security threat 4.0
Fisherman's tale easy security threat 4.0Massimiliano Brolli
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11bAlfredo Morresi
 
Aspetti di sicurezza in azienda: gestione dei log aziendali
Aspetti di sicurezza in azienda: gestione dei log aziendaliAspetti di sicurezza in azienda: gestione dei log aziendali
Aspetti di sicurezza in azienda: gestione dei log aziendaliFrancesco Cossettini
 
(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...
(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...
(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...Team per la Trasformazione Digitale
 
Sicurezza dei sistemi informativi
Sicurezza dei sistemi informativiSicurezza dei sistemi informativi
Sicurezza dei sistemi informativiMarco Liverani
 

Similar to Rootkit: teoria e pratica. Michele BOLOGNA (20)

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
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking Engineering
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...Security and hacking engineering - metodologie di attacco e difesa con strume...
Security and hacking engineering - metodologie di attacco e difesa con strume...
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open source
 
Sicurezza - Il Malware
Sicurezza - Il MalwareSicurezza - Il Malware
Sicurezza - Il Malware
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open Source
 
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
 
Tutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdfTutto Quello Che Devi Sapere Su Cryptolocker.pdf
Tutto Quello Che Devi Sapere Su Cryptolocker.pdf
 
Pericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virusPericoli nascosti di internet e tipologie di virus
Pericoli nascosti di internet e tipologie di virus
 
Intrusion Detection Systems
Intrusion Detection SystemsIntrusion Detection Systems
Intrusion Detection Systems
 
Fisherman's tale easy security threat 4.0
Fisherman's tale   easy security threat 4.0Fisherman's tale   easy security threat 4.0
Fisherman's tale easy security threat 4.0
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b
 
Sicurezza in Rete
Sicurezza in ReteSicurezza in Rete
Sicurezza in Rete
 
unreal IRCd 3281
unreal IRCd 3281unreal IRCd 3281
unreal IRCd 3281
 
Automotive Security
Automotive SecurityAutomotive Security
Automotive Security
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Aspetti di sicurezza in azienda: gestione dei log aziendali
Aspetti di sicurezza in azienda: gestione dei log aziendaliAspetti di sicurezza in azienda: gestione dei log aziendali
Aspetti di sicurezza in azienda: gestione dei log aziendali
 
(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...
(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...
(in)Sicurezza nella PA - Gianluca Varisco, Cybersecurity del Team per la Tras...
 
Sicurezza dei sistemi informativi
Sicurezza dei sistemi informativiSicurezza dei sistemi informativi
Sicurezza dei sistemi informativi
 

Recently uploaded

XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 

Recently uploaded (6)

XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 

Rootkit: teoria e pratica. Michele BOLOGNA

  • 1. Rootkit: teoria e pratica Michele BOLOGNA michele.bologna@gmail.com Corso di Sicurezza dei Sistemi Informatici Università degli Studi di Bergamo
  • 2. Un rootkit è un insieme di programmi che permettono di: Consentire la presenza invisibile e permanente di processi e informazioni all'interno di un sistema Pericoloso? In base all’utilizzo che se ne fa 2 Che cos’è un rootkit?
  • 3. Prima: dispositivi di emergenza Prendere il controllo di un sistema bloccato Oggi: mantenere l’accesso ad un sistema compromesso senza l’autorizzazione del legittimo proprietario occultare la propria presenza modificare (o “evadere”) le politiche di sicurezza Considerati dalla comunità tecnica come malware e trojanhorses Non sono worm (non si auto-diffondono) 3 Etica
  • 4. Comunità di security http://packetstormsecurity.org/UNIX/penetration/rootkits/indexdate.html Necessità Divertimento, “sfida” Nei CD audio (2005) Sony BMG include un rootkit in alcuni CD audio per evitare il ripping Funzionava solo sui sistemi Windows (autoplay) Sony ha ritirato tutti i CD in circolazione 4 Dove si trovano?
  • 5. Parleremo di GNU/Linux e UNIX Ottengo accesso ad una macchina e riesco ad elevare le mie credenziali a root Exploit locale/remoto Terminali lasciati incustoditi Conoscenze tecniche richieste: minime (script-kiddies) Perché non mantenere un accesso segreto a quella macchina? 5 Esempio
  • 6. Per quanto una dir “…” sia difficile da individuare è comunque visibile: michele@titan ~ $ ls -la drwx------ 7 micheleshelluser 4096 2008-05-15 15:45 . drwxr-xr-x 238 rootroot 4096 2008-05-13 18:40 .. drwxr-xr-x 2 micheleshelluser 4096 2008-05-15 15:45 ... Posso nasconderci i miei files, … Ma un amministratore può comunque rintracciarli find, locate, etc. Può notare i miei processi con ps Vedere che sono loggato con who Usiamo un rootkit! 6 Esempio
  • 7. La maggior parte dei rootkit contiene dei tool per “diventare invisibile”: Nascondere files, processi, blocchi di memoria agli occhi di tutti gli utenti del sistema Fornire una backdoor locale/remota per l’accesso come amministratore Coppia di userid/password di backup (es: utenza “toor”, etc.) Esempio: sshd su una porta scelta o via portknocking L’installazione del rootkit cancella ogni traccia Tracce di avvenuta compromissione Tracce delle modifiche apportate 7 Funzionalità
  • 8. La maggior parte dei rootkit contiene dei tool per: Evitare il logging di alcuni servizi Eliminazione di record dai log (es. user accounting, eliminazione IP) Altri tool per compromettere altre macchine: Sniffing, keylogging Creazione di botnet (DDoS, spam, …) Exploit L’installazione è semi-automizzata Purchè il sistema sia conforme alle specifiche del rootkit 8 Funzionalità /2
  • 9. Distinguiamo due tipi di rootkit: Userspace (USR) Relativamente facili da scrivere e da identificare Tipo “più vecchio” Kernelspace (KSR) Complessi da progettare Complessi da identificare Evoluzione 9 Tipi
  • 10. Idea di base: modifico il comportamento di ls evitare che mostri le mie directory “nascoste” Modifico gli eseguibili di sistema in modo che la presenza della backdoor non sia scoperta Bersagli tipici: ifconfig, netstat ls ps who, w, finger login, tcpd, inetd Ogni demone di rete 10 USR: come funzionano?
  • 11. Non sostituiscono gli eseguibili di sistema Sono dei moduli del kernel LoadableKernelModule (LKM) Possono essere caricati a runtime (es: device driver) Complessi: operano allo stesso livello del kernel, quindi possono modificare o dirottare qualsiasi richiesta software 11 KSR: come funzionano?
  • 12. Aggiungono e/o modificano parti del SO Alterano il funzionamento dei comandi attraverso il kernel stesso Accedono al kernel tramite la memoria (/dev/kmem) Reindirizzano le chiamate di sistema a funzioni trojan (prima il mio codice, poi la chiamata) 12 KSR: come funzionano? /2
  • 13. Fingerprinting: Salvare i fingerprint dei binari di sistema su un supporto read-only Confronto con hash attuali Differenze? Processo automatizzato con alcuni tool (es. tripwire, integrit, etc.) 13 Come ci si difende? (USR)
  • 14. Ispezione: strumenti automatici che cercano pattern sospetti nei binari di sistema (es. chkrootkit) Falsi positivi Rootkitgià noti E se io scrivessi il mio rootkit? 14 Come ci si difende? (USR/KSR)
  • 15. Controllare quali moduli (LKM) vengono caricati LKM è il punto d’ingresso per iniettare codice nel kernel Esistono moduli che non vengono visualizzati con lsmod Ispezionare il device /dev/kmem (usando kstat) Attraverso /dev/kmem è possibile iniettare codice nel kernel a runtime Controllare l’accesso in scritturaa /dev/kmem (via kernel) Ad esempio utilizzando una whitelist per i programmi 15 Come ci si difende? (KSR)
  • 16. Processo di sicurezza Prevenzione Security patch … Attività sospetta Porte in LISTENING (netstat/lsof/nmap) Segfault dei binari Payload dei pacchetti in entrata/uscita telnet ICMP (!) Reverse shell (callback) Modalità promisc della scheda di rete Controllo dei log Carico elevato Osservare il sistema! … 16 Come ci si difende?
  • 17. Assunzione di base: se il SO è compromesso non ci si può fidare meglio un OS live da CD, ad es. Knoppixforensics, Helix, etc. Forensics Ripristino Reinstallazione totale 17 Cosa fare se si è infetti?
  • 18. Può essere interessante (ma varia da contesto a contesto) un’analisi forense per stabilire: Come ha preso il controllo del sistema? Attribuire responsabilità Verificare se l’attaccante ha lasciato qualche traccia (log) utile Identificare l’attaccante (provvedimenti?) Evitare di commettere lo stesso errore in futuro Rivedere la propria politica di sicurezza 18 Forensics
  • 19. Ripristino Ripristinare le componenti compromesse Sono state fatte copie di backup? Sconsigliabile Il sistema potrebbe contenere componenti compromesse non visibile: analisi? Analisi che può richiedere molto tempo Reinstallazione Nel caso sia possibile è fortemente consigliata una reinstallazione totale del sistema 19 Ripristino e reinstallazione
  • 20. Domande? Dove posso trovare materiale a riguardo e i riferimenti ai tool citati? Queste slides (e i relativi riferimenti) sono disponibili su: http://mb.netsons.org 20 Conclusioni