I.T.I.S. “Giordani - Striano” 20 dicembre 2016 Seminario sulla Sicurezza Informatica ATTENZIONE MARDOC Violare i computer e le reti altrui è un reato perseguibile penalmente dalla legge italiana (art. 615 ter del Codice penale). “Chiunque abusivamente si introduce in un sistema informatico o telematico protetto da misure di sicurezza ovvero vi si mantiene contro la volontà espressa o tacita di chi ha il diritto di escluderlo, è punito con la reclusione fino a tre anni”. Commette il reato colui che, pur essendo abilitato ad accedere al sistema, lo utilizzi per finalità diverse da quelle consentite. Commette il reato la condotta di introduzione nel sistema informatico di un sistema bancario mediante l'abusiva utilizzazione dei codici di accesso personale di un correntista e di trasferimento fraudolento, in proprio favore, di somme di denaro depositate sul conto corrente del predetto. La duplicazione dei dati contenuti in un sistema informatico o telematico costituisce condotta tipica del reato previsto dall'art. 615 ter c.p., restando in esso assorbito il reato di appropriazione indebita. MARDOC ATTENZIONE Art. 615 quinquies - Chiunque, allo scopo di danneggiare un sistema informatico o telematico, le informazioni, i dati o i programmi in esso contenuti o ad esso pertinenti ovvero di favorire l'interruzione, totale o parziale, o l'alterazione del suo funzionamento, si procura, produce, riproduce, importa, diffonde, comunica, consegna o, comunque, mette a disposizione di altri apparecchiature, dispositivi o programmi informatici, è punito con la reclusione fino a due anni e con la multa sino a euro 10.329. Art. 635 bis - Chiunque distrugge, deteriora, cancella, altera o sopprime informazioni, dati o programmi informatici altrui è punito, a querela della persona offesa, con la reclusione da sei mesi a tre anni. Art. 635 ter - Chiunque commette un fatto diretto a distruggere, deteriorare, cancellare, alterare o sopprimere informazioni, dati o programmi informatici utilizzati dallo Stato o da altro ente pubblico o ad essi pertinenti, o comunque di pubblica utilità, è punito con la reclusione da uno a quattro anni. MARDOC ATTENZIONE Ricordo nuovamente che introdursi in un computer o violare le reti altrui è un reato. Pertanto, le procedure descritte devono essere utilizzate esclusivamente a titolo illustrativo e possono essere messe in pratica solo sui nostri dispositivi, sistemi e siti web. MARDOC Dicosaparleremo? Metodologiedidifesaediattaccolocale: Reti Trusted, Password Cracking, Firewall, Sniffing di rete, ARP poisoning, Packet & Code Injection, File Server, PrivilegesEscalation. Metodologiediattaccoremoto: SQLInjection,BugeExploit,XSSInjection Applicativielink Metodologie di difesa e di attacco locale Difendersi per attaccare 1ª PARTE Metodologie di difesa e di attacco passivo Dispositivi trusted MARDOC Wireless Doppino telefonico Cos’èunaReteTrusted? Èunareteaffidabile,unaretedicuiconosceteimembriedicui«vi fidate».Inquestaretepoteteprendervilalibertàdinonpreoccuparvi diniente… Metodologie di difesa e di attacco passivo MARDOC … fino a quando qualcuno più informatico di voi riesce in qualche modoacollegarsiallavostrarete. Non è molto difficile, ad esempio, collegarsi ad un router wireless, soprattutto se si lasciano le password di default. In rete esistono centinaiadiprogrammichecalcolanolapassworddidefaultdidiversi produttori,conil90%deisuccessi! Comeproteggersi? Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD Ad oggi (12-2016), il metodo di autenticazione wireless per uso domesticopiùsicuroèilWPA2-AES,manonèsufficiente. Bisogna scegliere una password abbastanza lunga e abbastanza complessa! Èmoltofrequenteutilizzarepasswordchesianoriconducibiliavoi, ad esempio la data di nascita, il proprio nome, il nome dela fidanzata,ecc. Perché?Larispostachetuttidannoè:«Perchéladimentico» Buonperme! Esistonoinfattitecnichesemplicissimeperrisalireadunapassword: BRUTEFORCEeDIZIONARIO Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD IlBRUTEFORCEèunatecnicamoltosemplice(emoltolunga)mailrisultatoè garantito.Sibasasulconcettomatematicodicombinazione(sempliceecon ripetizioni)chenontratteremodatalasuacomplessità,macheèmoltosemplice daspiegareinquestomodo: ABCDEFGHIJKLMNOPQRSTUVZYWX–l’alfabeto,26caratteri MARDOC–lapassworddi6caratteri(ilmioaliasnonhalettereripetute) Conosciamolalunghezzadellapassword…proviamo: % AAAAAA BAAAAA […] GAAAAA […] MAAAAA AAAAAB BAAAAB […] GAAAAB […] MAAAAB […] […] […] […] […] AERBOC BERBOC […] GARGOC […] MARDIC AERDOC BERDOC […] GARDOC […] MARDOC […] […] […] […] […] AZZZZZ BZZZZZ […] GZZZZZ […] Fatto! Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD Nei film si vede sempre che il pirata di turno impiega 60 secondi per entrare in un server protetto da password. Nella realtà non è così: Il tempo necessario per trovare una password è direttamente proporzionale alla lunghezza della stessa. Se poi è composta da un insieme abbastanza piccolo di simboli (ad esempio le sole cifre numeriche), le moderne CPU possono impiegare pochissimi minuti. La password m4rd0c!4t34m! allunga esponenzialmente i tempi di ricerca in ragione della cardinalità dell’insieme dei simboli usati (alfabeto + cifre + simboli) e della lunghezza della stessa. Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD Seconsideriamolalunghezzadiunapassworddi5caratteri,k=5,il numerodipossibilicombinazionisenzaripetizioniottenibilidai simbolidell’alfabetolatino,n=26,èdatodalcoefficientebinomiale: n! 26! 403291461126605635584000000 k! (n-k)! 5! 21! 6130913060605132800000 Peruntotaledi65.780possibilicombinazioni(password).Segià peròvalutiamounalunghezzadellapasswordk=6,ilnumerodi combinazionisalea7.893.600.Perk=5en=95(ilnumerodicaratteri stampabilidellatabellaASCII)ciritroviamocon1.390.572.456 passwordpossibili. NumericomunquepiccoliperlemoderneCPU!!! Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD Unattacco“ADIZIONARIO”èsimilealbruteforce,masibasasuun concettopiùpsicologicocheinformatico: «Chiinserisceunapassword,lavuolericordare…useràunaparolao unnomecontenutonelvocabolario» Ineffettiquestametodologiascartalepasswordimprobabili,tipo AAAAAA,AAAAAB,ecc.,manonèaffidabile(lapasswordpotrebbe nonesserecontenutaneldizionario). Avetepoibisognodiundizionario…inretenepotetetrovarein quantitàeunopiccoloha“solo”10GBdipassword. Comesoluzionenonèpropriamentelapiù«portatile» Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD Ealloracomeproteggersi? Guardiamol’alfabeto:ABCDEFGHIJKLMNOPQRSTUVZYWX Scriviamolocosì:48CD3FGH1JKLMN0PQR5TUV7YWX Scegliamounapasswordsemplicedaricordare:ISTITUTO «Crittografiamola»:15T1TUT0 Èvulnerabilealdizionario?NO Èvulnerabilealbruteforce?SI potrebbeandarebene… Metodologie di difesa e di attacco passivo MARDOC LEPASSWORD Perl’accessoalleemail,lamaggiorpartedeifornitoridiservizi (Google,Microsoft,ecc.)sannochenonc’èmododievitareilbrute force,madopountotnumeroditentativi,l’accountvienebloccato. Daunpo’ditempoèattivabileanchelacosiddetta«verificaindue passaggi»:inquestocasoancheavertrovatolapasswordrisulta inutile,quindiilproblemaquièrisolto. Inriferimentoalwireless,purtroppo,sonopochigliaccesspointei routerwirelessincommerciocheprevedonolapossibilitàdi bloccareisegnalidiAUTHdaunospecificoMACaddressodopoun certonumeroditentativiandatiamale, • • quindi: PASSWORDSEMPLICIMACOMPLESSE! Metodologie di difesa e di attacco passivo MARDOC COMEE’FATTAPASSWORDSEMPLICE MACOMPLESSA? •-faciledaricordare •-lunghezzaalmenodi10caratteri •-utillizzodiuncaratterespeciale(!,»,£,$,%,…) •-nonugualepertuttiiservizicheutilizziamo •-cambiarlaognitanto • Unapasswordcosì,richiedemoltotempoperesserescoperta daunattaccodibruteforcing,giornisenonanni. Metodologie di difesa e di attacco passivo MARDOC FIREWALL:chiseiecosavuoi? MoltidivoiforseutilizzanoilNAT(NetworkAddressTranslation)per eMuleogiochimulti-playeronline. Conirouterincommercioèquasil’unicacosachepotetefaredal puntodivistadellaconfigurazionedelfirewall. INTERNET Metodologie di difesa e di attacco passivo MARDOC FIREWALL SappiamobenecheilnostroIPpubblico,assegnatocidalnostroISP,è l’unicomodoperfarciconosceresuInternet.Pocoimportaquanti dispositivisonoconnessoallanostrarete:utilizzerannotutti quell’unico(eunivoco)indirizzoIPpubblico.Peresigenze(video server,eMule,ecc.),abbiamobisognodi«aprireleporte»sulrouter, consentendoquindidaInternetl’accessoaquelspecificodispositivo attraversoquellaspecificaporta. INTERNET 4662,4672 NATsu192.168.1.200 192.168.1.200 Metodologie di difesa e di attacco passivo FIREWALL Finoaquandonessunoscoprechequelleportesonoaperte,va tuttoameraviglia. Masecifosseilsolitomalintenzionato? Larispostapiùsempliceè:«Vabbè,macistasoloeMule» Comevedremoinseguito,èpossibilesfruttareicosiddetti«bug disicurezza»perfareseguirecodiceallamacchinavittima. INTERNET 4662,4672 NATsu192.168.1.200 192.168.1.200 Metodologie di difesa e di attacco passivo MARDOC FIREWALL Ilfirewalldovrebbeservireadaltro! • AccettareleconnessioniiningressodaInternet,seesolose,una macchinadall’internoharichiestoquellaconnessione; • Rifiutare(dropotarpit)leconnessioninonrichieste; • Bannare(almenotemporaneamente)gliindirizziIPnon riconosciuti 173.194.116.219 e.it gl o o g w. w w INTERNET 4662,4672 NATsu192.168.1.200 6.6.6.6 192.168.1.200 Metodologie di difesa e di attacco passivo MARDOC FIREWALL L’attaccoremotoèstrutturatoinquestamaniera: • Identificazionedell’IP:pingetraceroute; • PortScan:ricercadelle«porteaperte»; • Identificazionedelservizioattivosuquellaporta; • Attacco: • Exploit–codiceoprocedimentochesfruttaunbugdiunsistema; • DOS(DenialOfService); L’attaccopiùridicolo(efastidioso)cheunpresuntohackerpuòfareèproprioilDOS (oDistribuited-DOSseicretinisonointanti).VelocitàADSL. 192.168.1.50 INTERNET 6.6.6.6 4662,4672 NATsu192.168.1.200 3389NATsu192.168.1.50 192.168.1.200 Metodologie di difesa e di attacco passivo MARDOC FIREWALL ConilDOS,ilpresuntohackeroccupatuttalabandadellavittimachenonpuò piùaccederealweboDALweb. Seivostri20MB(tipicaADSLTelecom)vibastano,alloranonvene preoccupate,manonchiamateil187lamentandoche«andatelenti». Questotipodiattaccoinfattinonfanient’altrocheoccuparelabandadella vittima. ColDOSèfacileattaccare…difficiledifendere. Quindi,cosafare? INTERNET 4662,4672 NATsu192.168.1.200 6.6.6.6 Metodologie di difesa e di attacco passivo MARDOC FIREWALL ➢ ➢ ➢ ➢ ➢ Installareundispositivoaggiuntivoalsempliceroutero acquistareunrouterconfunzionalitàavanzatedifirewall Chiuderesempreleportenonutilizzate Ridurrealminimoleportedautilizzare Aggiornareilfirewallall’ultimaversionedisponibile Controllatesempreilnumerodeidispositiviconnessi INTERNET 4662,4672 NATsu192.168.1.200 6.6.6.6 Metodologie di difesa e di attacco passivo MARDOC Orachesappiamo(spero)comedifenderci,passiamoall’attacco! Contesto:siamoriuscitiacollegarciadunmodem(ilnostro!)in wireless(ocolcavo…)evogliamosaperechistafacendocosa,magari ottenendoinformazioniriservate. Primadituttodobbiamo chiederci: cosastiamocercando? Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Secerchiamolecredenzialidiaccessoaqualcosa(posta,web,ecc), tuttociòchevaattivatoèunsemplicesnifferdirete. Wiresharkèunanalizzatorediprotocollo:leggeiltrafficoattivoin unareteeloraggruppainunacomodavisualizzazionetabellare. Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Ognirigarappresentaunaconnessione,perogniconnessioneè possibilevederneilcontenuto. Interminitecnici,dovremmointercettaregliheaderPOSTdella vittima.Potremmoattivaredeifiltri,maèunpo’scomodotrovare dellecredenzialiinquestevoci… Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE EttercapfunzionacomeWireshark,mailsuoscopoèpiùincentrato versolecredenziali(èuncosiddettopasswordcollector). Poteteattivarloeandareamangiarviunapizza…alritornotroverete tuttelepassword«sniffate»! Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE C’èunproblemadifondo:conEttercapoWiresharkcatturatetuttii pacchettiintransitoinunarete. Supponiamoperòcheunaconnessionesiacrittografata(https,ssh, sftp,ecc.). Vidomando:questipacchetti(conleeventualicredenziali)livedete oppureno? Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE LarispostaèSI,masonocrittografatienonavetesperanzedicapirne ilcontenuto:sonoinsommainservibili. Glialgoritmidicrittografiaachiavepubblicacomel’attualeRSAsono letteralmente inviolabili, a meno che non siate dei luminari della teoriadeinumeri…. Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Conlacrittografiasimmetrica (inpocheparole:unicapassworddi codifica/decodifica)siponevail problemadellatrasmissionedella chiavestessa. Lacrittografiaasimmettricaconsente dicodificareilmessaggiocon unacoppiadichiavi,unapubblicae l‘altraprivata.Inquestomodo,anche sequalcunointercettasseilmessaggio cifrato,purconoscendonelachiave pubblicanonpotrebbeusarla. L’attualealgoritmoRSA,inventatonel1977daRonaldRivest,AdiShamireLeonard Adleman,èattualmenteunodeglialgoritmiasimmetricipiùsicuri. Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE AlgoritmoRSA Èsemplicedalpuntodivistaconcettuale… ImmaginiamocheAdebbaspedireunmessaggiosegretoaB.Occorronoi seguentipassaggi: 1. Bsceglieduenumeriprimimoltograndi(peresempiodi300cifre)eli moltiplicaconilsuocomputer(impiegandomenodiunsecondo). 2. BinviailnumerochehaottenutoadA.Chiunquepuòvederequestonumero. 3. Ausaquestonumeropercifrareilmessaggio. 4. AmandailmessaggiocifratoaB,chiunquepuòvederlo,manondecifrarlo. 5. Briceveilmessaggioeutilizzandoiduefattoriprimichesololuiconoscevalo decifra. 6. AeBhannoimpiegatopochisecondiacifrareedecifrare,machiunqueavesse intercettatolelorocomunicazioniimpiegherebbetroppotempoperscoprirei duefattoriprimi,concuisipuòdecifrareilmessaggio. Con il software PGP si può creare la chiave pubblica e la chiave privata e codificare e decodificare i messaggi automaticamente. Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE EsempiodimoduloRSA(1024cifre) 2354024638195369096484615970884339820364456147543619758078791036601 6835505494573077342501320913482376791383651754310523953671977852263 05983060913117780151701847341955178208368597048273685148832466980967 8264241294269187038375543653819872025816440552072944392812834659892 99148386103333119266471392173618443929665694168419491445893554508312 14521115967827260963610250123042880750137421428794820948992279404917 4568735277898089123328514098559487995775109530064742516289155842487 93732411516699547999240384456822944006777458824969177192912226967635 52830787649258185446654768755654506771225332408011916919938505370692 66814811421303138978077711478017700487114651351601764737051295848373 3151403979970908037943150798569535461884916441725214274709513752500 7700363418270382794214457630912235836945649158842746771077588428040 83947544941515945116919834042566389996135670147270228034728379156641 3894879530235341020154105768197033084151473179374226307186150307934 Metodologie di difesa e di attacco passivo MARDOC SNIFFING DI RETE i laboratori Kapersky sono riusciti nell’impresa di craccare una chiave a 660 bit solamente perché l’autore ha effettuato alcuni errori durante la fase di implementazione del malware, ma con una chiave a 1024 bit i produttori del famoso antivirus si sono dovuti arrendere e hanno lanciato un appello per trovare aiuto in rete: “aiutateci a craccare questa chiave RSA, altrimenti per farlo, ci vorrebbero 15 milioni di computer che girano per un anno” I virus ransomware utilizzano chiavi di cifratura a 4096 bit Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Comepossiamofareallora? GliattacchiMITM(ManInTheMiddle)ciaiutanoinquesticasi. Ilprincipioèdavveromoltosemplice: tutteleconnessionidaeversola vittimapassanoattraversoilmio dispositivo. Daquestomomentonegozierò(anche) leconnessionicifratepercontodella vittima,checrederàdiconnettersi effettivamentealserviziorichiesto Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Tramitel’ARPPoisoning,letteralmente«avvelenamentodiARP», faremocredereallavittimadiessereNOIilrouterefaremo indirizzarelerichiesteanoistessi. Ilmiorouterè 192.168.0.1conMAC 00:FF:AA:BB:CC:DD No,sonoio! 192.168.0.100con MAC00:AA: 76:32:65:11 Ilmiodispositivopotrà «avvelenare»lavittima alterandolasuatabellaARP.In questomodo,crederediessere noiilsuodefaultgateway(il router). Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Unicointoppo:ibrowserpiùaggiornatisiaccorgerannochequalcosa nonva,perchéilcertificatoSSLarrivadaunMACaddressdiversoda quellochel’harichiesto… Bisognerebbetrovareilmododi trovarcifisicamentesulcomputer dellavittimaperacquisirelasua chiaveprivata,crittografatacon quelcomputer… Maaquelpunto,perchénon infettarloconunnostrovirus? Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Trovandocinellastessaretedellavittimaeavendolapossibilitàdi leggereiltrafficointransito,chiciimpedisceanchediSCRIVERLO? 1 Questatecnica,ingeneraleè chiamatapacketinjection. www.sito.com PotresteinserirecodiceHTML(o javascript)nellapaginaPRIMAdi farlavisualizzareallavittima. 2 <html> <body> <h1> Titolopagina </h1> </body> </html> <html> <body> <h1> BLABLABLA </h1> </body> </html> 3 Mapiùingenerale,siusaper modificareeseguibiliscaricatida Internet«iniettandogli»codice malevolo(codeinjection) Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Inteoriaèmoltosemplice:intercettiamounarichiestaGETdiunfile EXE(naturalmenteparliamodiWindows),loscarichiamoalposto dellavittima,lomodifichiamoelorimandiamodinuovoallavittima http://download.piriform.com/ccsetup5.exe Codice malevolo Codice originale CodeInjection L’EXEoriginalevieneaccodatoalnostroEXEmalevolo:quando lavittimaeseguiràilprogramma(cheluicredeesserequello cheeffettivamentehascaricato),eseguiràinrealtàilnostro codice,che,alterminedellasuaesecuzione,eseguiràil softwareoriginale. Metodologie di difesa e di attacco passivo MARDOC SNIFFINGDIRETE Ancheinquestocaso,lasuperficialitàdell’utenteèd’aiuto:nessuno (NEANCHEIO)famoltocasoallafirmadigitaledelsoftwarescaricato http://download.piriform.com/ccsetup5.exe CodeInjection Difatti,modificandol’EXEneabbiamo compromessolavaliditàdelcertificato... Metodologie di difesa e di attacco passivo Difendersi per attaccare FINE 1ª PARTE Metodologie di attacco remoto Le cose che studi oggi servono domani! 2ª PARTE Metodologie di attacco remoto MARDOC AttacchiWEB Quantodettofinoravabenesesiamoconnessiallaretedella vittima. Masesiamoall’esterno(daInternet)?Comepossiamoportarea termineunattacco? Èpossibilesfruttareibugegliexploitdiscussiinprecedenza,ma ancoraunavoltaillavoroèagevolatodallasuperficialitàdell’utente mediochesceglieunapasswordsempliceoppuredalla superficialitàdichiscrivesoftware. Metodologie di attacco remoto MARDOC AttacchiWEB Contesto:sonosicurocheilsitowebdellavittimahaun’area riservataincuisonopresentiicontattideisuoiclienti. Metodologia:analizzoilsitowebpercapireseèunCMS( content management system) ounsitoweb«fattoamano» • Caso«fattoamano»: • Analizzoilsitoweballaricercadi«areedisubmit»(caselledi testo,form,ecc.)e/odiquerystringutilinellabarradegli indirizzi; • Setrovoquantomiserveiniziol’attacco,altrimentiricercoil filerobots.txt; • CasoCMS:vadoaricercarebugedexploitdiquellaspecifica versionedelCMS(Wordpress–Joomla,ecc..); Metodologie di attacco remoto AttacchiWEB Ilfilerobots.txtcontienelespecificheperimotoridiricerca,in particolareperchiederealbot(l’agentedelmotorediricercache scannerizzaisitiweb)dinasconderedeterminatecartelle www.sitovulnerabile.com Questecartellesono«nascoste»… Proviamoadandaresu www.sitovulnerabile.com/admin/ Metodologie di attacco remoto MARDOC SQLInjection Moltointeressante…C’èun’areadilogin. Perandareavanti,dobbiamoragionarecomelosviluppatorecheha costruitoquestosito. <formaction='login.php'method='post'> Username:<inputtype='text'name='user'/> Password:<inputtype='password'name='pwd'/> <inputtype='submit'/><--!ilpulsantedilogin--!> </form> Cosasuccedequandocliccosulogin? IlcontenutodellecaselleUSERNAMEePASSWORDvieneinviato (HTTPPOST)adunbloccodicodiceallapaginalogin.php… Metodologie di attacco remoto MARDOC DIZIONARIO Sql Injection: E' una tecnica che viene utilizzata per inviare dei comandi ed ottenere le credenziali degli amministratori. Database : Un database è una sorta di archivio dove vengono salvati tutti i dati. Ipotizzando che il vostro corpo sia un dispositivo informato il cervello sarebbe il database. Alcuni sono MS-SQL, MSS-Access, Oracle, ecc.. Query : E' una sorta di codice e serve a dire al database di fare determinate azioni. Sql : E' un linguaggio query strutturato. Per comunicare col database usiamo le SQL Queries. In poche parole dicono al database di trovare una determinata informazione dalle tabelle. Metodologie di attacco remoto MARDOC SQLInjection Sicuramentelecredenzialisarannoconservateinundatabaseela verificaverràeffettuatatramiteun’interrogazioneSQL,generata sicuramentedallaconcatenazionedistringhemediantecodicelato server(PHPnell’esempio): <?php $query = "SELECT * FROM users WHERE user=‘" + $_POST['user'] + "’ AND pwd=‘" . $_POST['pwd'] + "’"; […] // Eseguo la query… if(mysql_affected_rows($sql)>0) { // ACCESSO ESEGUITO!! } ?> Iononconoscoalcunausernameepassword… cosapossoinserireperalterarequestaistruzione? Metodologie di attacco remoto SQLInjection chebellagiornata SELECT*FROMusersWHERE user=‘’OR1=1;#’ANDpwd=‘". $_POST['pwd']+"’" #èilcaratteredicommento(PHPMySQL) Inseriamoquesti specificicaratterinel solocampousernamee vediamocomesi trasformailcodice durantel’elaborazione: A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1 Metodologie di attacco remoto MARDOC SQLInjection Etvoilà…senzaesserehacker,solodeisemplici sviluppatori,siamoentratinell’areariservata delsitoweb.Maunopotrebbedire: «Chemiimporta…nell’areariservatanonc’è niente!». MaSQLInjectionvieneutilizzatoancheperscopiunpo’piùcomplessi: ‘;DESCRIBEusers;# Visualizzeràavideol’interocontenutodellatabellausers,compresalastruttura; ‘;DROPusers;# Elimineràlatabella; IlbellopoivieneseilsitoèospitatodaserverWindowsconMicrosoftSQLServer: ‘;SP_EXECUTE(‘calc.exe’);-- Avvialacalcolatricenellospaziodilavorodell’utente(--èilcaratteredicommentoASPMSSQL) ‘;SP_EXECUTE(‘NETLOCALGROUP"RemoteDesktopUsers"mardoc/ADD’);-- Aggiungel’utente«mardoc»alsistemaeloabilitaalleconnessionialdesktopremoto,tale tecnicaèchiamataprivilegesescalation(aumentodeiprivilegi–riferitoalserver) Metodologie di attacco remoto MARDOC SQLInjection Purtroppogranpartedeisitiwebèafflittodaquestoproblema. Se riuscissi ad accedere al server in desktop remoto potrei ottenere l’accesso ai file dello stesso, oppure potrei condurre attacchi ad altri server remoti (server zombie) e così via. DOVETE PROTEGGERE IL VOSTROLAVORO! Per proteggersi basterebbe una cosa semplicissima: verificare che all’internodeltestoiningressononcompaiaalcunapice(‘). Se volete sapere se un sito è protetto o meno vi basta inserire questo carattere(‘)inunaqualunqueareadisubmit,secompaionomessaggidi errore(latoserver),ilsitoèvulnerabile. Altra cosa: se proprio dovete usare un file robots.txt per nascondere la vostra cartella admin, non date accesso automatico a questa cartella (bastanonchiamarelapaginadiaccessoindex,default,ecc) Metodologie di attacco remoto MARDOC CMS ConunContentManagementSystem,invece,la situazionesicomplica………masololeggermente… UnCMSèutilizzatoquandobisognacreareunsitoweb senzaimpiegaretroppotempo.Irisultatisono abbastanzaprofessionali,senzacontarecheesistela possibilitàdiusarepluginperottenereiservizinecessari. Tuttaviaparliamodiunframeworkprecompilato,dove potetefaresoloquellochevivieneofferto. Metodologie di attacco remoto MARDOC CMS C’èpoiilproblemadegliupdate,quasisemprenemmeno consideratidalmanutentoredelsitoweb. Coltempo,laversionedelCMScheavretesceltodiventerà obsoleta e verranno proposti degli aggiornamenti: nuove funzionalità,nuovagrafica…nient’altro? Esecifosseunaggiornamentodisicurezza? Ancoraunavoltaèd’aiutolasuperficialitàdellepersone. Metodologie di attacco remoto MARDOC CMS PrendiamoadesempioWordpressversione3.5.2 Iniziamoconl’analisideisorgentidellapaginaecerchiamoil seguentetag: <metaname="generator"content="WordPress3.5.2"/> Confermato:èwordpress,versione3.5.2 Seiltagnonèpresenteprovvedoinaltrimodi(readme.html oaltro) Metodologie di attacco remoto MARDOC CMS Wordpress3.5.2 Verifichiamoseèattivol’indexingdelledirectory,puntando daunaqualunquedellecartellepredefinitediWP: /wp-content/ /wp-content/plugins/ /wp-content/themes/ /uploads/ /images/ […] Lalistadeifileconfermal’attivazionedelservizio. Metodologie di attacco remoto CMS Wordpress3.5.2 Daquestomomentopotretenavigarenelfilesystem delsito,capirequalipluginsonoinstallatietentare exploitconquest’ultimi. Oppurepotrestecimentarviconilbruteforce: nmap-sV--scripthttp-wordpress-enum Macos’èquestonmap???? Traunattimoviillustreròqualchestrumentoutile. Metodologie di attacco remoto MARDOC SitiWEB Esistonotantissimealtretecnichechenontratteremoper motividitempoe…legali. Speroperòchesiachiaro:secreateunsitoweb,CMSo proprietariochesia,assicuratevidiaverfattotuttoil necessariopergarantirelasicurezzadelvostroprodotto! Questovaleanchequandoscrivetesoftware,inqualunque linguaggioloscriviateesuqualunquesistemaoperativo. MARDOC Gli strumenti Gli strumenti MARDOC MARDOC Gli strumenti GOOGLE RICERCHECLASSICHE Cache permette di visualizzare la cache di un determinato indirizzo web cache: http://www.sitoesempio.it Info restituisce informazioni relative ad un particolare url, per esempio: info:www.sitoesempio.it Site ottiene una lista di tutte le pagine presenti in un determinato dominio, come ad esempio nella seguente query: site:www.sitoesempio.it Allintext mostra tutte le pagine web che contengono delle determinate keywords nel testo: allintext:libri Allintitle mostra tutte le pagine web che contengono delle determinate keywords nel title: allintitle:libri Allinurl mostra tutte le pagine web che presentano delle determinate keywords nell’url. allinurl:libri Gli strumenti GOOGLE LERICERCHEPROIBITE carpiscepassworddiaccessoaisiti allintex:emailANDpassAND«insertinto»filetype:sql spulciatrairisultatiperlefferelepassworddiaccessoadundatabaseMySQL intext:mysql_connectfiletype:inc sipossonoscoprirelechiaviRSAdisoggetti intitle:index.ofintext:.ssh webcamremote viewerframe?mode=refresh trovaipannellidicontrollodellestampanti inurl:page=printerInfo trovaaiserverVNC intite:vnc.desktopinurl:5800 MARDOC Gli strumenti https://www.shodan.io/ Shodanèunparticolaremotorediricercacheindicizzaqualsiasi dispositivo o server connesso a Internet usando i messaggi di risposta che server e dispositivi di Rete forniscono quando vengono interrogati da un client su un’apposita porta di comunicazione. E’ possibile quindi trovare server pieni di file, videocamere di sorveglianza, stampanti di rete, Web server, decoder e molto altro ancora. Per accedere a tutti questi servizi si sfruttal’ingenuità degli utenti, infatti, molti installano questi dispositivi malasciano i dati di accesso predefiniti (username e password) che èpossibile reperirevelocementeconunaricercasuinternet. Gli strumenti MARDOC https://duckduckgo.com/ DuckDuckGo è un motore di ricerca, open-source, che aiuta la privacy delle persone, non essendo soggetto a nessun tipo di monitoraggio: non vengono quindi salvate, sui server del servizio, informazioni relative alla cronologia o alle abitudini di navigazione. Ma soprattutto non filtra i risultati delle ricerche, fornendomoltopiùrisultatinellericercheunpo’…particolari! Gli strumenti MARDOC è un software libero creato per effettuare port scanning, cioè mirato all'individuazione di porte aperte su un computer bersaglio o anche su range di indirizzi IP, in modo da determinarequaliservizidiretesianodisponibili.Èingradodi ipotizzare quale sistema operativo sia utilizzato dal computer bersaglio,tecnicadelfingerprinting. Curiosità: Nel film Matrix Reloaded, Trinity usa Nmap per penetrare nel sistemadellacentraleelettrica,tramitelaforzaturadeiserviziSSHeilbug CRC32(scopertonel2001). Gli strumenti MARDOC Controllaresecisonoporteaperte nmap192.168.0.1 Identificareilsistemaoperativodiunhost nmap-O192.168.0.101 TentarediindovinareunS.O.sconosciuto nmap-O–osscan-guess192.168.1.1 Identificareilnomedell'host nmap-sL192.168.0.1 Scansioneaggressiva,controllaeriportaancheilsistemaoperativoelaversioneinuso nmap-T4-A192.168.0.1 Rilevazionedellaversionediunservizio nmap-sV192.168.1.34 ….ecosìviapermigliaiadialtreopzioniecombinazioni.Farriferimentoalmanuale. Gli strumenti MARDOC Metasploit è una potentissima suite che mette a disposizione un ampionumerodistrumentivotatiadareadunattaccanteilcontrollo delsistemavittima. Forniscetreinterfacce:msfcli:rigadicomando, msfconsole:shellinterattiva,Armitage:shellgrafica. Meterpreter, è una componente avanzata inclusa nel Metasploit Framework, che si occupa del caricamento (payload) di funzioni (virusingenere).E'utilizzatopereffettuaredegliattacchiditestper verificare la vulnerabilità di un sistema,è diventato uno dei modi stardardpereseguiretestriguardoallarobustezzadiunsistema. Gli strumenti MARDOC • NIKTOeffettuavulnerabilityassessmentsuiwebserver. • Essoincludeundatabasedifileeconfigurazioninotoriamente vulnerabiliavarietipologiediattacchi.Ilpuntofortediquesto softwareèlacapacitàdilavorareinbaseadundatabaseche viene aggiornato più o meno mensilmente con gli ultimi exploit pubblicati e non prova solo gli exploit disponibili nel suo database ma va anche a cercare tutti quei file e quelle configurazioni note che possono causare brecce in un sito webofugadiinformazioniimportanti. Gli strumenti MARDOC Scansionestandarddiunsitoweb nikto-hhttp://www.sitoditest.it E’modulare:essooffrelapossibilitàdiaggiungerecomponentichearricchisconoil funzionamento base del programma. Per vedere tutti i plugin disponibili sulla versionediNiktoinstallata,siutilizzailcomandoseguente: nikto-list-plugins Nelcasoincuiinveceabbiamopiùhost(e/oIP)dascansionare,possiamopassareun filealparametro-h: nikto-hlista_siti.txt MARDOC Gli strumenti e,perultima… ladistribuzionereginadiLinuxperipentester ➢OpenSource ➢Piùdi300tooldipenetrationtesting ➢Vastosupportoperdispositiviwireless ➢Multi-lingue ➢Completamentepersonalizzabile Gli strumenti MARDOC KALIèunadistribuzionebasatasuDebianGNU/Linux,pensata perl'informaticaforenseelasicurezzainformatica,inparticolare pereffettuarepenetrationtest.Creataegestitadalgruppo OffensiveSecurity.SupportaliveCDeliveUSB. Contiene,tral’altro,iprogrammidisicurezza: • Wireshark(peranalisidiprotocolloopacketsniffer), • JohntheRipper(softwareperilcrackingdellepassword) • Nmap(scannerdirete) • Aircrack-ng(SuiteperdecodificapasswordWEPeWPA) • Metasploit(Effettuaexploitetrovavulnerabilità) Conclusioni MARDOC Conclusioni Questeslidenonvifarannodiventarehacker,masperoviaiutinoa progettaresoluzioniinformatichesicureeaffidabilisiapervoiche le sviluppate e sia per chi le userà. Questo risultato sarà ancora una volta determinato dal grado di interesse e dal tempo che dedichereteallostudio. Tutto ciò di cui abbiamo discusso, infatti, altro non è che un corollariodipiccoliargomentibasechesololascuolapuòfornirvi. Vi consiglio di imparare, a usare Linux, la programmazione in C, l’htmle,nonsmettetemaidistudiareedaggiornarvi. Conclusioni MARDOC Un computer sicuro è un computer spento Kevin Mitnick nel suo libro "L'arte dell'inganno" Se non ha il WOL (Wake On Line) attivato. Mardoc #EOF [email protected]