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]