...

Pentesting Android with BackBox 4

by raffaeleforte

on

Report

Category:

Mobile

Download: 0

Comment: 0

644

views

Comments

Description

Dopo una breve introduzione del progetto BackBox, illustreremo le caratteristiche principali di questa nuova versione della Distribuzione con particolare riferimento alla sezione “Mobile Analysis”.

Introdurremo tools e best practices per condurre penetration test su applicazioni Android.
Download Pentesting Android with BackBox 4

Transcript

  • 1. 11 Ottobre2014Pentesting Android ApplicationsRaffaele Forte
  • 2. About● BackBox è una distribuzione GNU/Linux● Nasce nel Maggio 2010● Sviluppata per effettuare “Penetration Test”e “Security Assessment”● 2011 - Nuova sezione “Forensic Analysis”● 2014 - Nuova sezione “Mobile Analysis”
  • 3. Development● Basata su Ubuntu 14.04 LTS● Last release 4.0 (Ottobre 2014)● Release schedule: every 4 months● Oltre 200 Tools!
  • 4. Supported architectures● 64 Bit (amd64)● 32 Bit (i386)● Predisposition to ARM (armhf)
  • 5. Community● Main developers● Repository maintainers● Public relations● Community staff● Contributors● Translatorshttp://www.backbox.org/about
  • 6. Resources & infrastructure● Web Site● Forum● Wiki● Chat● Repository LP● Server Amazon
  • 7. Social Network● Facebook (1406 Users, 3792 Likes)● Google+ (1271 Users, 43406 Views)● Twitter (1698 Followers)● Linkedin (166 Users, 255 Followers)2 Ottobre 2014
  • 8. Who uses BackBox?
  • 9. BackBox Analytics
  • 10. HD Encryption, RAM wipe● Full Hard Disk encryption in fase diinstallazione utilizzando LUKS su LVM.● Wipe della RAM in fare di arresto oriavvio del sistema.Il “cold boot attack” è una tipologia di attacco chepuò essere attuato se si ha accesso fisico alcomputer.Le informazioni presenti in RAM possono essererecuperate anche dopo il reboot/shutdown delsistema.
  • 11. New anonymous feature● Transparent Tor proxy● Random Hostname e MAC address● Pulizia Log di sistema
  • 12. La sicurezza delle APP Mobile èinadeguata?“Gartner Says More than 75 Percent ofMobile Applications will Fail Basic SecurityTests Through 2015”Analysts to Discuss Latest Mobile Security Threats and Trends at the GartnerSecurity and Risk Management Summit, 15-16 September 2014 in Dubai, UAEFonte: www.gartner.com/newsroom/id/2846017
  • 13. Esempi di casi realiNelle seguenti slide sono riportati alcuni casireali che sono stati studiati da ricercatori checollaborano con lo sviluppo di BackBox.Questi esempi mostrano come la sicurezzadelle applicazioni mobile non sia ancoragarantita come lo è invece per infrastruttureserver e applicazioni web.
  • 14. iPad Newspapers ExploitA Maggio 2011 tramite un attacco “Man in theMiddle” è stato possibile aggirare il sistema di“In-App Purchase” di alcuni applicativi persmartphone e tablet al fine di otteneregiornalmente una copia gratuita di 17 quotidianiitaliani:La Repubblica, Il Sole 24 Ore, Il Corriere dellaSera, ecc.Ricercatore: Andrea Draghetti
  • 15. Un’applicazione presente nella Top Fivedell’Apple Store è vulnerabile alla tecnica di“SQL Injection”.Il software comunica con un server esterno(back-end) memorizzando in un databasel’indirizzo email dell’utente e informazionisulla sua salute.Tali informazioni possono essere estratteattraverso un attacco mirato (SQLi) esfruttate a fini malevoli (es. Phishing).Backend Vulnerability - SQL InjectionRicercatore: Andrea Draghetti
  • 16. A Luglio 2014 analizzando l’applicazioneIWBank dell’omonima banca è stataindividuata l’assenza totale di unaconnessione protetta, era pertanto possibilevisualizzare in chiaro tutto il traffico che talesoftware generava.Username, Password e Token erano quindiintercettabili, rendendo assolutamenteinsicuro il metodo di autenticazioneprogettato dall’istituto di credito.Scelta da chi sa scegliere...Ricercatori: Mattia Trapani eAndrea Draghetti
  • 17. Un utente IWBank si collega ad una rete WiFi pubblica, creata ad hoc perintercettare il traffico in chiaro, intento a controllare il proprio conto correnteattraverso l’applicazione per smartphone e digiterà le sue credenziali per eseguire illogin.L’utente malevolo intercetta le credenziali e eseguirà il login con i dati rubati sulproprio computer.Come sfruttare questa vulnerabilità?
  • 18. Personal banking apps leak infothrough phone by Ariel SanchezLa ricerca sulle applicazioni di homebanking haprevisto l’utilizzo di iPhone/iPad per analizzare40 applicazioni scelte tra le 60 banche piùinfluenti al mondo.Fonte: blog.ioactive.com
  • 19. Tutte le applicazioni possono essere installate su dispositivi su cui è statoeffettuato jailbreak (questo ha velocizzato l’analisi statica e “black box”).
  • 20. ● Il 40% delle applicazioni testate non valida l’autenticitàdei Certificati SSL. Questo rende tali APP attaccabilitramite attacchi di tipo “Man in The Middle”.● In aggiunta, il 20% delle applicazioni invia codici diaccesso in chiaro tramite Protocollo HTTP. Anche sequesta funzionalità è limitata all’inizializzazionedell’account, il rischio che ne scaturisce è elevato. Se unmalintenzionato intercettasse il traffico di rete, potrebbeeseguire attacchi di tipo Session Hijacking ed accedereall’account della vittima senza che ci siano evidenze diaccesso non autorizzato.Vulnerabilità comuni - SSL misconfiguration
  • 21. La maggior parte delleapplicazioni (90%) contienediversi link che non utilizzanoSSL per la connessione.Questo permetterebbe ad unmalintenzionato di intercettare iltraffico e di iniettare codiceJavaScript/HTML al fine dicreare false richieste di accessoo contenuti malevoli.Vulnerabilità comuni - Comunicazione non protetta
  • 22. In aggiunta, è stato identificatocome il 50% delle applicazionisia vulnerabile ad attacchi ditipo JavaScript injectionsattraverso UIWebView.In alcuni casi è stato possibileaccedere alle funzionalitànative di iOS, avendo lapossibilità, ad esempio, diinviare SMS o email daldispositivo dell’utente.Vulnerabilità comuni - Code injection
  • 23. La maggior parte dei log generati dalle applicazioni, come CrashReport, espongono informazioni sensibili che potrebbero essereutilizzati da un malintenzionato per eseguire attacchi più precisi, oper ricercare nuovi exploit 0day per attaccare gli utilizzatori dell’APP.Vulnerabilità comuni - Information disclosure
  • 24. Pentesting Android APPIn queste slide vedremo come condurre unpenetration test su applicazioni mobile Android.L’analisi si concentrerà su tre aree principali:● Reverse Engineering● Intecettazione del canale dicomunicazione e analisi del traffico● Analisi della memoria locale
  • 25. Reverse EngineeringIl Reverse Engineering è un processo miratoall’analisi del codice sorgente. Il fine è trovaredati sensibili, come credenziali di accesso e lapossibilità di modificare il codice stesso peralterare il funzionamento dell’applicazione.Tools utilizzati:● apktools● dex2jar
  • 26. Intercepting APP TrafficIn questa fase viene utilizzato il Wi-Fi perintercettare i dati in ingresso/uscita delleapplicazioni Android.Devieremo il traffico dallo smartphone al nostrocomputer utilizzando un server proxy, per poianalizzarlo ed eventualmente portare attacchi aiserver di back-end.Tools utilizzati:● zaproxy● burpsuite
  • 27. Memory AnalysisI files memorizzati sulla memory card o sullamemoria locale del dispositivo possonocontenere informazioni sensibili comecredenziali di accesso, dati sensibili e token disessione.Se non opportunamente protetti questi datipossono essere facilmente recuperati da unmalintenzionato.
  • 28. ConclusionsDa un punto di vista difensivo, le seguenti raccomandazioni aiutano a mitigareil rischio dato dalle vulnerabilità più comuni:● Assicurarsi che tutte le connessioni avvengano su canale protetto● Verificare e controllare i certificati SSL● Proteggere i dati sensibili che vengono salvati sul dispositivo utilizzandomeccanismi di cifratura● Implementare controlli aggiuntivi per identificare dispositivi su cui è statoeffettuato il jailbreak.● Offuscare il codice assembly e utilizzare meccanismi anti-debugging perrallentare eventuali attacchi che prevedono tecniche di reverseengineering dei binari.● Rimuovere tutte le operazioni di debug (logs, statement, etc.)● Rimuovere tutte le informazioni inerenti alla fase di sviluppo dal codiceapplicativo messo in produzione.
  • 29. Grazie per l’attenzione!Raffaele Forteraffaele@backbox.org
  • Fly UP