In questo talk viene analizzata una semplice backdoor realizzata in Python. Il talk procede con l'explotation di una macchina Windows 7 tramite un attacco di Pishing e subito dopo con l'installazione di una backdoor persistence facendo vedere alcune delle funzionalità offerte. Il talk si conclude invitando l'utente a nascondere la propria webcam sensibilizzandolo sull'argomento. Il motivo per cui ho scelto di parlare di questo argomento, ha a che fare con le differenze che sorgono tra software open e software close, dato che nel primo è possibile tramite la lettura e comprensione del codice capire se il sistema ha routine di codice che si comportano come backdoor mentre nel secondo non sappiamo se ne esistono (data l'impossibilità di leggere il codice sorgente) e quindi dal momento che la sicurezza non si è mai basata sulla fiducia del produttore, è importante prevenire (mettendo delle etichette di plastica sulle nostre webcam).
Backdoor Coding: Analisi di una semplice backdoor e prime applicazioni
1. 1
LibreOffice Productivity Suite
Dr. Lentini Salvatore
Computer Scientist & Junior Penetration Tester
Lab. Backdoor Coding
Analisi di una semplice backdoor e prime applicazioni
2. 2
LibreOffice Productivity Suite
Cos’è una backdoor?
Una backdoor è un programma, che dopo essere stato installato all’interno di un sistema,
permette ad un utilizzatore di poter accedere su tale sistema, passando tutti i controlli di
autenticazione usati tipicamente per accedervi.
Per questo motivo, quando si parla di backdoor, ci si riferisce ad esse come una porta aperta
per accedere al sistema, lasciata “aperta” intenzionalmente per scopi leciti o meno.
Scopi leciti? Una backdoor può essere usata da un amministratore per svolgere il proprio
lavoro in completa mobilità in un sistema o all’interno di una rete, accedendo alla macchina
da remoto, senza doversi autenticare di volta in volta portando quindi ad un notevole risparmio
di tempo. È possibile anche che quest’ultimo usi una backdoor per controllare le varie attività
svolte dai vari dipendenti all’interno di una azienda.
Scopi illeciti? Una backdoor può essere usata, ed è unicamente usata, da un attaccante per
avere un punto di accesso al sistema. L’attaccante, dopo aver installato una backdoor sul
sistema della vittima, si garantisce una porta aperta che può sfruttare per
accedere in maniera indisturbata tutte le volte che vuole al sistema, senza
che l’utente se ne accorga.
Una backdoor lavora in background, senza aver bisogno dell’interazione
dell’utente o dell’attaccante. L’utente infatti non sa che il proprio sistema
possiede una backdoor. Gli antivirus sono in grado di rilevare le backdoor
Ma in base al livello su cui girano e al grado di sofisticatezza risulta difficile
individuare una backdoor.
3. 3
LibreOffice Productivity Suite
Rischi dell’avere una backdoor installata...
Un attaccante, attraverso una backdoor è in grado di:
● Rubare informazioni sensibili dal nostro computer
● Violare la nostra “intimità digitale” e “locale”.
Digitale perché avrà accesso ad informazioni come foto, video, cronologia
internet.
Locale perché usando strumenti come la webcam e il microfono del nostro
computer è come se entrasse nell’ambiente all’interno del quale si trova la vittima,
cioè è come se entrasse fisicamente nella stanza poiché sentirebbe e vedrebbe
tutto ciò che sta avvenendo in quel medesimo istante.
● Installare altre backdoor in modo da garantirsi altri punti di accesso al sistema
qualora una di queste venisse rilevata da un antivirus
● Portare avanti altri attacchi, ad esempio inserire il sistema infetto all’interno di
una BOTNET al fine di far partecipare il sistema come zombie durante un attacco
DOS verso una banca, un’azienda, una multinazionale, … (Il problema sta quando
le autorità busseranno alla nostra porta, alla fine dell’attacco)
●Accedere al sistema in maniera indisturbata tutte le volte che vuole e quando
vuole. A patto che il sistema sia acceso e sia disponibile una connessione ad
internet!
4. 4
LibreOffice Productivity Suite
Backdoor in Python
Il codice che vedremo è una semplice backdoor realizzata in Python per scopi
didattici.
Essa non fa altro che ritornare all’attaccante semplici informazioni come:
● il Sistema operativo del sistema vittima
● la lista dei file presenti in un certo percorso passato.
Architettura: Client / Server
7. 7
LibreOffice Productivity Suite
Server (Installato nel sistema vittima) 1/2
Questa è la parte della backdoor installata sulla macchina della vittima. L’attaccante tramite
la parte “client” si ci connette in remoto e manda comandi, ricevendo delle risposte.
10. 10
LibreOffice Productivity Suite
Conclusioni?
Quello che abbiamo appena visto è il codice sorgente della backdoor che a sua volta è un
programma a tutti gli effetti. Il codice sorgente se interpretato da un lettore con conoscenze di
programmazione ed in generale da un qualsiasi sviluppatore, permette di capire come si
comporta il programma (ovvero quello che fa il programma).
Il principale problema del software chiuso (da cui prende questo nome) è che in programmi
“chiusi” il codice sorgente non è accessibile agli sviluppatori per capire come è fatto il programma
(studiare/cultura), migliorarlo (sistemarlo e/o perfezionarlo) o semplicemente sapere se fa quel
che dice di fare (sicurezza). Qualsiasi tentato accesso al codice, costituisce una violazione
punibile pesantemente dalla legge.
Quindi, chi usa sistemi chiusi non sa se in tali sistemi, esistono routine di codice che si
comportano come backdoor! Per il semplice motivo che non si può accedere al codice
sorgente.
Usare sistemi aperti, invece, permette di capire come è fatto il programma,
quindi sappiamo come si comporta in ogni minimo dettaglio, possiamo
migliorarlo e studiarlo incrementando la nostra conoscenza e se siamo
degli sviluppatori prendere spunto per delle future implementazioni.
Da notare che una cosa è avere una backdoor pre-installata nel sistema
(è il produttore a metterla) mentre un altra è inserire in un sistema compromesso
(è l’attaccante ad installarla dopo aver trovato un modo per compromettere il sistema).
11. 11
LibreOffice Productivity Suite
Prime applicazioni
Dopo aver visto e analizzato una semplice backdoor, andiamo a vedere delle prime
applicazioni sull’uso delle backdoor. Le backdoor, sono usate nella fase di
“Maintaining Access”, successiva alla fase di “Exploitation” del sistema. La fase di
exploitation del sistema consiste generalmente nel trovare un modo per poter far
breccia nel sistema trovando una vulnerabilità da sfruttare oppure una strategia
affinché sia possibile accedere al sistema. Come è possibile capire, questa è una fase
non sempre ripetibile dato che le vulnerabilità possono essere fixate tramite le patch
mentre certe strategie possono non funzionare, ad esempio se pensiamo di inviare un
file che dovrà essere aperto dalla vittima. Per questo motivo, la fase di mantenimento
dell’accesso consiste proprio nel garantire un accesso permanente al sistema dopo
che esso è stato compromesso, senza doverlo di volta in volta exploitare e per fare
questo si usano proprio le backdoor.
Nell’esempio che vedremo abbiamo una macchina con sopra Windows 7 SP1.
L’attacco che lanceremo è un Remote Code Execution tramite una shell meterpreter reverce_tcp.
Come prima cosa creeremo il file che la vittima dovrà eseguire, imposteremo la nostra macchina
linux per l’attacco affinché si metta in ascolto aspettando che il file venga aperto e non appena il
file sarà eseguito, sarà ritornata una shell meterpreter la quale non è altro che una normale shell
di Linux/Windows ma con moltre altre e interessanti funzionalità in più. A questo punto
caricheremo la backdoor la quale anch’essa fa uso di una shell meterpreter.
13. 13
LibreOffice Productivity Suite
Exploitation
Configurazione della macchina Linux affinchè si metta in ascolto aspettando che il payload inviato,
venga aperto. In foto, la macchina è stata Exploitata. Ho inviato il payload alla vittima tramite il
servizio “sendspace” che
permette di inviare file e
condividerli tramite link.
Poi tramite goo.g ho
cambiato l’url riducendolo.
Ho quindi usato una
strategia di Phishing per
fare in modo che la vittima
aprisse il payload.
14. 14
LibreOffice Productivity Suite
Maintaining Access
Notiamo che la macchina che abbiamo exploitato ha Windows 7, come ci aspettavamo
Installiamo la backdoor (Persistence, Persistente ovvero resiste al riavvio del sistema vittima)
15. 15
LibreOffice Productivity Suite
Maintaining Access
Sfruttamento della backdoor al riavvio del sistema
Avendo installato la backdoor, da questo momento in poi se volessimo entrare nella macchina
non dovremo exploitare più il sistema ma richiamare semplicemente la backdoor sulla porta 1234
tutte le volte che vorremo! Essendo persistence, non dovremo preoccuparci che il sistema della
vittima venga riavviato.
16. 16
LibreOffice Productivity Suite
Funzionalità della backdoor
Digitando help è possibile avere una lista delle funzionalità della shell Meterpreter
Di seguito vengono mostrati una serie di esempi usando una backdoor.
Spero che l’utente possa rendersi conto della pericolosità dell’avere una backdoor installata
sulla propria macchina!
1) Lista processi
17. 17
LibreOffice Productivity Suite
Funzionalità della backdoor
2) Kill Processo
Sulla macchina Windows abbiamo il notepad aperto. Lo chiudiamo. Lo stesso può essere fatto
per quanto riguarda l’antivirus e qualsiasi altro processo.
Tramite la lista dei processi vediamo tutti I PID (Process ID) e digitando KILL seguito dal PID
andiamo a killare quel particolare processo. In un sistema, ogni processo è riconosciuto dal
proprio PID
20. 20
LibreOffice Productivity Suite
Funzionalità della backdoor
6) Usare microfono e webcam
Registrare audio dal microfono, registrare dalla webcam, fare una foto dalla webcam.
(In foto, “minuti di pausa durante una lezione universitaria”)
23. 23
LibreOffice Productivity Suite
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License
(unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos
and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Grazie per l’attenzione …
RISORSE
https://batysbase.com/meterpreter-persistence-creare-b
ackdoor-persistente/
https://www.metasploit.com/