Guida di Hackeraggio Informatico per Principianti

Come Hackerare Reti Wireless, Test di Sicurezza e di Penetrazione di Base, Kali Linux, il tuo Primo Hackeraggio

ALAN T. NORMAN

Traduttore: Andrea Piancastelli

Copyright © Tutti i Diritti Riservati.

Traduzione a cura di Andrea Piancastelli.

Nessuna parte di questa pubblicazione può essere riprodotta, distribuita o trasmessa in alcuna forma o con alcun mezzo, inclusi fotocopie, registrazioni o altri metodi elettronici o meccanici, o mediante alcun sistema di archiviazione e recupero delle informazioni senza la previa autorizzazione scritta dell'editore, tranne nel caso di citazioni molto brevi incorporate in eventuali recensioni critiche e alcuni altri usi non commerciali consentiti dalle leggi sul copyright.

Avviso di non responsabilità:

Si prega di notare che le informazioni contenute in questo testo sono a solo scopo educativo e di intrattenimento. Si è fatto il possibile per fornire informazioni complete e accurate, aggiornate e affidabili. Non si fornisce garanzia di alcun tipo, esplicita o implicita.

Leggendo questo testo, il lettore conviene che in nessun caso l'autore è responsabile per eventuali perdite, dirette o indirette, legate alla pubblicazione delle informazioni contenute in questo scritto, incluso, ma non limitato a errori, omissioni o imprecisioni.

Indice

Perché dovresti leggere questo libro

Capitolo 1. Cos'è l'hackeraggio?

Capitolo 2. Vulnerabilità ed exploit

Capitolo 3. Per iniziare

Capitolo 4. Il toolkit dell’hacker

Capitolo 5. Ottenere l’accesso

Capitolo 6. Attività e codici maligni

Capitolo 7. WiFi hacking

Capitolo 8. Il tuo primo hackeraggio

Capitolo 9. Sicurezza difensiva ed etica hacker

Capitolo 10. Crea il tuo Keylogger in C++

Capitolo 11. Impostare l’ambiente

Capitolo 12. Configurare l’ambiente Eclipse

Capitolo 13. Nozioni di base sulla programmazione (corso intensivo su C++)

Capitolo 14. Un programma tipico

Capitolo 15. Puntatori e file

Capitolo 16. Keylogger di base

Capitolo 17. Lettere maiuscole e minuscole

Capitolo 18. Includere altri caratteri

Capitolo 19. Nascondere la finestra della console Keylogger

Conclusione

Libro in omaggio: Le balene del Bitcoin

Altre opere di Alan T. Norman

PERCHÉ DOVRESTI LEGGERE QUESTO LIBRO

Come qualsiasi altro progresso tecnologico avvenuto nella storia dell’uomo, i benefici ottenuti dall'umanità e derivanti dall'informatizzazione e dalla digitalizzazione del nostro mondo hanno un prezzo. Maggiori sono le informazioni che possiamo salvare e trasmettere, maggiore diventa l’esposizione a furto o danneggiamento. Più le nostre vite diventano dipendenti dalla tecnologia e dalla comunicazione rapida e istantanea, più le conseguenze della perdita di accesso a tali risorse diventano importanti. Trasferire miliardi di dollari all'estero in un batter d'occhio non solo è possibile, ma ora in realtà è normale. Intere biblioteche possono essere archiviate su dispositivi non più grandi di un pollice umano. Spesso si vedono i bambini giocare a giochi piuttosto semplici su smartphone o tablet che hanno più potenza di calcolo dei macchinari che solo 50 anni fa occupavano lo spazio di intere stanze.

Questa concentrazione senza precedenti di dati e di risorse digitali, unita alla crescente dipendenza della società dai mezzi digitali di archiviazione e comunicazione, è diventata una miniera d’oro per opportunisti esperti e malintenzionati desiderosi di sfruttare ogni sua vulnerabilità. Individui che commettono piccoli furti e frodi, attivisti politici, fino a società criminali di grandi dimensioni e altamente organizzate, o gruppi terroristici e operatori dello stato-nazione: la pirateria informatica è diventata un'industria multimiliardaria globale, non solo nella commissione dei crimini stessi, ma per il tempo, l’impegno e il capitale dedicati alla protezione di informazioni e risorse. È impossibile esagerare le implicazioni della sicurezza informatica nel nostro tempo attuale. Le infrastrutture sensibili di città e intere nazioni sono indissolubilmente legate alle reti informatiche. I registri delle transazioni finanziarie quotidiane vengono archiviati in formato digitale, il loro furto o eliminazione potrebbe provocare il caos di interi sistemi economici. Se rese pubbliche, le comunicazioni e-mail sensibili potrebbero influenzare elezioni politiche o casi giudiziari. Forse la più preoccupante di tutte le potenziali vulnerabilità si trova nel mondo militare, dove strumenti da guerra sempre più interconnessi e informatizzati devono essere tenuti lontano dalle mani sbagliate con ogni sforzo. Queste minacce di alto livello si accompagnano ad azioni meno importanti, ma cumulative, di violazioni su scala minore, come il furto di identità e la fuga di dati personali, che hanno conseguenze devastanti sulla vita delle persone comuni.

Non tutti gli hacker hanno necessariamente cattive intenzioni. Nelle nazioni con libertà di espressione limitata o leggi oppressive, gli hacker contribuiscono a diffondere tra la popolazione informazioni vitali che normalmente potrebbero venire occultate o filtrate da un regime autoritario. Sebbene la loro attività sia ancora illegale secondo le leggi del proprio paese, molti vengono considerati al servizio di uno scopo morale. I confini etici quindi sono spesso labili quando si tratta di hackeraggio ai fini di attivismo politico o per la diffusione di informazioni che potrebbero essere utili alle persone o alle popolazioni oppresse. Allo scopo di limitare il danno che può essere causato da individui e gruppi con intenzioni non onorevoli, è necessario tenere il passo con gli strumenti, le procedure e la mentalità degli hacker. Gli hacker informatici sono particolarmente furbi, intraprendenti, adattivi ed estremamente persistenti. I migliori tra loro sono sempre stati e probabilmente continueranno ad essere un passo avanti rispetto alle attività atte a contrastarli. Pertanto, gli specialisti della sicurezza informatica si sforzano di divenire altrettanto abili ed esperti nell'arte dell'hackeraggio quanto i loro avversari criminosi. Nel processo di acquisizione di queste competenze, ci si aspetta che l'”hacker etico” si impegni a non utilizzare le conoscenze acquisite per scopi illegali o immorali.

Questo libro si propone come introduzione al linguaggio, allo scenario, agli strumenti e alle procedure della pirateria informatica. In quanto guida per principianti, si presume che il lettore abbia una conoscenza pregressa di pirateria informatica diversa da ciò che si trova diffuso dai media o in concetti casuali; si presuppone una familiarità generale dei profani con la terminologia informatica moderna e Internet. Le istruzioni dettagliate e le procedure specifiche di hackeraggio non rientrano nello scopo di questo libro e si lascia al lettore la facoltà di approfondirle ulteriormente non appena assumerà maggiore familiarità con il materiale.

Il libro inizia (Capitolo 1: Che cos'è l'hackeraggio?) con alcune definizioni di base in modo che il lettore possa familiarizzare con parte del linguaggio e del gergo utilizzati negli ambiti dell'hackeraggio e della sicurezza informatica, nonché per chiarire eventuali ambiguità nella terminologia. Il capitolo 1 descrive anche i diversi tipi di hacker per quanto riguarda le loro intenzioni etiche e legali e le ramificazioni delle loro attività.

Nel Capitolo 2: Vulnerabilità ed exploit, viene introdotto il concetto base di vulnerabilità target, descrivendo le principali categorie di vulnerabilità e alcuni esempi specifici. Questo termina con una riflessione su come gli hacker traggano vantaggio dalle vulnerabilità attraverso la pratica dell’exploit.

Il Capitolo 3: Per iniziare illustra gli svariati argomenti e competenze con cui un hacker principiante deve acquisire familiarità. Dall'hardware del computer e della rete ai protocolli di comunicazione, fino ai linguaggi di programmazione informatici: vengono affrontate le aree tematiche principali che fondano la conoscenza base di un hacker.

Il Capitolo 4: Il toolkit dell’hacker approfondisce temi come hardware, software, sistemi operativi e linguaggi di programmazione comuni preferiti in genere dagli hacker nell’esercizio del proprio mestiere.

Le procedure generali di alcuni attacchi informatici comuni vengono esaminate nel Capitolo 5: Ottenere l'accesso: si forniscono alcuni esempi particolari di attacco che interessano spesso gli hacker e i professionisti della sicurezza informatica.

Capitolo 6: Attività e codici maligni rivela alcuni tra gli attacchi e costrutti più fatali degli hacker miranti a causare danno. Vengono spiegate le differenze tra le varie categorie di codici maligni.

Capitolo 7: L'hacking WiFi si concentra in particolare sullo sfruttamento delle vulnerabilità nei protocolli di crittografia delle reti WiFi. Vengono elencati gli strumenti hardware e software specifici necessari per eseguire semplici attacchi WiFi.

Nel Capitolo 8: Il tuo primo hackeraggio vengono fornite al lettore alcune indicazioni pratiche sulla preparazione e la pratica di hackeraggio per principianti. Sono stati scelti due esercizi per aiutare l'aspirante hacker a tastare il terreno con alcuni semplici strumenti e attrezzature economiche.

Capitolo 9: Sicurezza difensiva ed etica hacker comprende un’introduzione all'hackeraggio con alcune note sulla protezione personale dagli hacker e affronta alcune delle questioni speculative associate all'etica dell'hackeraggio.

Capitolo 1. Cos’è l’hackeraggio?

È importante gettare le basi per una corretta introduzione all'hackeraggio informatico discutendo prima alcuni termini comunemente usati e chiarendo eventuali ambiguità riguardo ai loro significati. Gli informatici professionisti e gli appassionati impegnati tendono a usare un sacco di espressioni gergali che si sono evolute negli anni in quella che è stata tradizionalmente una cerchia molto chiusa ed esclusiva. Non sempre è chiaro cosa significhino determinati termini senza una comprensione del contesto in cui si sono sviluppati. Sebbene non rappresenti assolutamente un glossario completo, questo capitolo introduce alcuni termini del linguaggio di base utilizzato tra hacker e professionisti della sicurezza informatica. Altri termini appariranno nei capitoli successivi nell’ambito degli argomenti opportuni. Nessuna di queste definizioni è in alcun modo “ufficiale”, ma rappresenta piuttosto una comprensione del suo uso comune.

Questo capitolo tenta inoltre di chiarire cos'è l'hackeraggio come attività, cosa non è e chi sono gli hacker. Le rappresentazioni e le discussioni sull'hackeraggio nella cultura popolare possono tendere a dipingere un quadro eccessivamente semplicistico degli hacker e dell'hackeraggio nel suo insieme. In effetti, la comprensione precisa si perde con la traduzione di termini in voga e nei diffusi luoghi comuni.

Hackeraggio e Hacker

La parola hacking (hackeraggio) normalmente evoca l’immagine di un criminale informatico solitario, ricurvo su un computer a compiere trasferimenti di denaro a piacimento da una banca ignara, o a scaricare agilmente documenti sensibili da un database governativo. Nell'inglese moderno, il termine hacking può assumere svariati significati a seconda del contesto. In termini di uso generale, la parola si riferisce in genere all'atto di sfruttare le vulnerabilità della sicurezza di un computer per ottenere l'accesso non autorizzato a un sistema. Tuttavia, con l'emergere della cibersicurezza come importante settore, l'hacking informatico non si presenta più esclusivamente come attività criminale, ed è spesso eseguito da professionisti certificati a cui è stato specificamente richiesto di valutare le vulnerabilità di un sistema informatico (si veda la sezione successiva sugli hacker “white hat”, “black hat” e “grey hat”) testando vari metodi di penetrazione. Inoltre, l'hacking ai fini della sicurezza nazionale è diventato anche un'attività sanzionata (riconosciuta o meno) da molti stati-nazione. Pertanto, una comprensione più ampia del termine dovrebbe riconoscere che l'hackeraggio è spesso autorizzato, anche se l'intruso in questione sta sovvertendo il normale processo di accesso al sistema.

Un uso ancora più ampio della parola hacking comporta la modifica, l'uso non convenzionale o l'accesso sovversivo di qualsiasi oggetto, processo o tecnologia, non solo computer o reti. Ad esempio, nei primi tempi della sottocultura hacker, un'attività popolare era quella di "hackerare" telefoni pubblici o distributori automatici per accedervi senza l'uso di denaro e condividere queste istruzioni con la comunità di hacker in circolazione. Il semplice atto di adottare oggetti di uso domestico normalmente scartati per usi nuovi e originali (usare lattine vuote come portamatite, ecc.) viene spesso definito hacking. Anche alcune procedure e scorciatoie utili per la vita di tutti i giorni, come l'uso di liste di cose da fare o la ricerca di modi creativi per risparmiare denaro su prodotti e servizi, sono spesso definiti hacking (spesso chiamato “life hacking”). È anche comune incontrare il termine “hacker” in riferimento a chiunque sia particolarmente talentuoso o esperto nell'uso del computer.

Questo libro si concentrerà sul concetto di hacking che prevede in particolare l'attività di accesso a software, sistemi informatici o reti attraverso mezzi non intenzionali. Ciò include dalle forme più semplici di ingegneria sociale utilizzate per determinare le password, fino all'uso di sofisticati hardware e software di penetrazione avanzata. Il termine hacker verrà quindi utilizzato per indicare qualsiasi persona, autorizzata o meno, che sta tentando di accedere di nascosto a un sistema informatico o a una rete, indipendentemente dalle sue intenzioni etiche. Il termine cracker è anche comunemente usato al posto di hacker, in particolare in riferimento a coloro che stanno tentando di violare le password, aggirare le restrizioni del software o eludere in altro modo la sicurezza del computer.

I “Cappelli” dell’Hackeraggio

Le classiche scene hollywoodiane del Vecchio West americano spesso rappresentavano scene fumettistiche di avversari che imbracciavano le armi - di solito uno sceriffo o un maresciallo contro un vile bandito o una banda di malfattori. Si era soliti distinguere i “buoni” dai “cattivi” per il colore dei loro cappelli da cowboy. Il personaggio coraggioso e innocente di solito indossava un cappello bianco, mentre il cattivo ne indossava uno di colore scuro o nero. Questo linguaggio figurativo è stato portato avanti in altri aspetti della cultura nel corso degli anni e alla fine si è fatto strada nel gergo della sicurezza dei sistemi informatici.

Black Hat (Cappello Nero)

Un hacker black hat (o cracker) è colui che tenta inequivocabilmente di sovvertire la sicurezza di un sistema informatico (o codice sorgente chiuso del software) o di una rete di informazioni consapevolmente contro la volontà del suo proprietario. L'obiettivo dell'hacker black hat è ottenere accesso non autorizzato al sistema, sia per rilevare o distruggere informazioni, che per causare un'interruzione del suo funzionamento, negare l'accesso agli utenti legittimi, o prendere il controllo del sistema per i propri scopi.

Alcuni hacker si impadroniranno o minacceranno di impadronirsi del controllo di un sistema (o impediranno l'accesso di altri) e ricatteranno il proprietario per fargli pagare un riscatto in cambio della propria rinuncia a controllarlo. Un hacker è considerato un cappello nero anche se è mosso da ciò che essi stessi descriverebbero come nobili intenzioni. In altre parole, anche gli hacker che stanno compiendo violazioni per scopi sociali o politici sono black hat, perché intendono sfruttare tutte le vulnerabilità che scoprono. Allo stesso modo, i soggetti degli stati-nazione avversari che compiono violazioni a fini bellici possono essere considerati black hat indipendentemente dalle loro giustificazioni o dallo stato della loro nazione a livello internazionale.

White Hat (Cappello Bianco)

Poiché ci sono così tanti modi estrosi e inaspettati di accedere a computer e reti, spesso l'unico modo per scoprire punti deboli sfruttabili è tentare di hackerare il proprio sistema prima che qualcuno con intenzioni dannose lo faccia per primo e causi danni irreparabili. Un hacker white hat viene specificamente autorizzato dal proprietario o dal custode di un sistema target per scoprire e testare le sue vulnerabilità. Questo è noto come test di penetrazione. L'hacker white hat utilizza gli stessi strumenti e le stesse procedure di un hacker black hat e spesso ha pari conoscenze e abilità. In effetti, non è raro che un ex black hat trovi un impiego legittimo come white hat, perché i black hat in genere hanno grande esperienza pratica nella penetrazione dei sistemi. È noto che agenzie e società governative impieghino criminali informatici precedentemente perseguiti per testare i loro sistemi vitali.

Gray Hat (Cappello Grigio)

Come suggerisce il nome inglese, il termine gray hat (spesso scritto come “grey”) risulta un po’ meno attuabile per quanto riguarda l'etica hacker. Un hacker gray hat non ha necessariamente il permesso del proprietario o del detentore di un sistema, e pertanto il tentativo di rilevare le vulnerabilità di sicurezza potrebbe essere considerato un comportamento non etico. Tuttavia, un gray hat non esegue queste azioni con l'intenzione di sfruttare le vulnerabilità o aiutare altri a farlo. Piuttosto, conduce essenzialmente test di penetrazione non autorizzati con l'obiettivo di avvisare il proprietario di eventuali falle. Spesso, i gray hat compiono violazioni allo scopo esplicito di rafforzare un sistema che usano o di cui usufruiscono per prevenire eventuali futuri sabotaggi da parte di soggetti con intenzioni più dannose.

Conseguenze dell’Hackeraggio

Le conseguenze dell’accesso a un computer non autorizzato va da ripercussioni minori e inconvenienti quotidiani di sicurezza delle informazioni, a situazioni gravemente pericolose e persino mortali. Sebbene possano esserci gravi sanzioni penali per gli hacker che vengono catturati e perseguiti, in generale la società sopporta il peso dei costi finanziari e umani della pirateria informatica. A causa della natura interconnessa del mondo odierno, un solo individuo scaltro seduto in un bar davanti a un portatile può causare enormi danni umani e materiali. È importante comprendere le varie tipologie di hackeraggio per sapere dove concentrare i propri sforzi nella prevenzione di determinati reati informatici.

Illecità

Ovviamente esistono implicazioni legali per gli hacker catturati durante l’intrusione ad un computer o una rete. Le leggi e le sanzioni specifiche variano a seconda delle nazioni, nonché tra singoli stati e comuni. L’applicazione delle leggi varia anche a seconda delle nazioni. Alcuni governi semplicemente non danno priorità al perseguimento dei crimini informatici, specialmente se le vittime si trovano al di fuori del proprio paese. Ciò consente a molti hacker di operare impunemente in alcune parti del mondo. In realtà, alcune nazioni avanzate prevedono l’hackeraggio come attività prestabilita all’interno dei loro governi. Alcune forze di sicurezza militari e civili e le forze dell’ordine dispongono di dipartimenti il cui mandato è quello di hackerare i sistemi sensibili degli avversari stranieri. Si tratta di motivo di contesa quando qualcuna di queste agenzie si intromette negli archivi privati e nelle comunicazioni dei propri cittadini, spesso portando a ripercussioni politiche.

Le sanzioni per l'hackeraggio illegale dipendono in gran parte dalla natura stessa della violazione. L'accesso alle informazioni private di qualcuno senza la sua autorizzazione comporterebbe probabilmente una penalità minore rispetto a un accesso a scopo di rubare denaro, sabotare materiali o commettere alto tradimento. Sono previsti procedimenti penali di alto profilo nel caso di hackeraggio finalizzato a rubare, vendere o diffondere informazioni personali, sensibili o riservate.

Le vittime

Le vittime della pirateria informatica vanno dal destinatario dei classici scherzi relativamente innocui sui social media, fino ai casi imbarazzanti del rilascio pubblico di foto o e-mail personali, alle vittime di furti, virus distruttivi e ricatti. Nei casi più gravi di pirateria informatica in cui la sicurezza nazionale è minacciata dal rilascio di informazioni sensibili o dalla distruzione di infrastrutture critiche, la società intera ne è la vittima.

Il furto di identità è uno dei reati informatici più comuni. Gli hacker prendono di mira le informazioni personali di individui ignari e usano i dati per guadagno personale o li vendono a terzi. Le vittime spesso non sanno che le loro informazioni sono state compromesse fino a quando non vedono attività non autorizzate sulla loro carta di credito o conti bancari. Sebbene i dati personali siano spesso ottenuti dagli hacker prendendo di mira singole vittime, negli ultimi anni alcuni criminali sofisticati sono stati in grado di accedere a grandi banche dati di informazioni personali e finanziarie hackerando i server di rivenditori e fornitori di servizi online con milioni di account di clienti. Queste violazioni di dati di alto profilo hanno un costo enorme in termini monetari, ma danneggiano anche la reputazione delle aziende interessate e scuotono la fiducia del pubblico riguardo alla sicurezza delle informazioni. Simili violazioni di dati hanno portato alla divulgazione pubblica di e-mail e fotografie personali, causando spesso imbarazzo, relazioni dannose e la conseguente perdita di occupazione delle vittime.

Spese di Prevenzione

Quando si tratta di prevenire l'hackeraggio si verifica il classico "catch-22". Per la maggioranza delle persone, per rimanere protetti dalla maggior parte degli attacchi non serve molto altro che buon senso, vigilanza, buone procedure di sicurezza e alcuni software disponibili gratuitamente. Tuttavia, con l'aumento della popolarità del cloud computing, in cui i file vengono archiviati su un server esterno aggiuntivo o al posto dei dispositivi personali, le persone hanno un controllo minore sulla sicurezza dei propri dati. Ciò comporta un notevole onere finanziario per i custodi dei server cloud per proteggere un volume sempre più elevato di informazioni personali centralizzate.

Le grandi società e gli enti governativi si ritrovano quindi regolarmente ad avere una spesa annua in termini di sicurezza informatica pari o superiore a quanto potrebbero perdere negli attacchi più comuni. Tuttavia, queste misure sono necessarie perché un attacco elaborato su vasta scala con esito positivo, per quanto improbabile, può avere conseguenze catastrofiche. Allo stesso modo, le persone che desiderano proteggersi dai cyber criminali acquisteranno software per la sicurezza o servizi di protezione dai furti di identità. Questi costi, oltre al tempo e agli sforzi spesi per praticare un’adeguata sicurezza delle informazioni, possono essere un onere sgradito.

Sicurezza Nazionale e Internazionale

La crescente dipendenza dei sistemi di controllo industriale da computer e dispositivi collegati in rete, insieme alla rapida natura interconnessa delle infrastrutture sensibili, ha reso i servizi vitali delle nazioni industriali altamente vulnerabili agli attacchi informatici. L’elettricità, l'acqua, le fognature cittadine, Internet e i servizi televisivi possono essere interrotti da sabotatori a fini di attivismo politico, di ricatto o terrorismo. Anche l'interruzione a breve termine di alcuni di questi servizi può provocare la perdita di vite o cose. La sicurezza delle centrali nucleari è particolarmente preoccupante, poiché abbiamo visto negli ultimi anni che gli hacker possono impiantare virus nei componenti elettronici di utilizzo comune per compromettere macchinari industriali.

I sistemi bancari e le reti di trading finanziario sono obiettivi di alto valore per gli hacker, sia che stiano cercando guadagni finanziari sia che intendano causare turbolenze economiche in una nazione rivale. Alcuni governi stanno già schierando apertamente i propri hacker per una guerra elettronica. Gli obiettivi degli hacker governativi e militari includono anche veicoli e strumenti bellici sempre più informatizzati. I componenti elettronici possono essere compromessi dagli hacker sulla linea di produzione prima ancora di essere trasformati in un carro armato, una nave da guerra, un aereo da caccia, un drone aereo o un altro veicolo militare, quindi i governi devono stare attenti a chi affidano la linea di fornitura. Anche le comunicazioni sensibili via e-mail, telefono o via satellite devono essere protette dagli avversari. Non sono solo gli stati-nazione a costituire una minaccia per i sistemi militari avanzati; le organizzazioni terroristiche stanno diventando sempre più sofisticate e stanno passando a metodi più tecnologici.

Capitolo 2. Vulnerabilità ed Exploit

L'essenza dell'hacking è lo sfruttamento dei difetti nella sicurezza di un computer, dispositivo, componente software o rete. Questi difetti sono noti come vulnerabilità. L'obiettivo dell'hacker è scoprire le vulnerabilità in un sistema, che gli forniranno l'accesso o il controllo nel modo più semplice per i suoi scopi. Una volta comprese le vulnerabilità, può iniziare lo sfruttamento di esse, per cui l'hacker sfrutta i difetti del sistema per ottenere l'accesso. In genere, gli hacker black hat e white hat, sebbene per scopi diversi, hanno come finalità lo sfruttamento delle vulnerabilità, e così i gray hat tenteranno di avvisare il proprietario in modo che possano essere intraprese azioni per proteggere il sistema.

Vulnerabilità

Le vulnerabilità nei sistemi informatici e di rete sono sempre esistite e sempre esisteranno. Nessun sistema può essere reso ermetico al 100%, perché qualcuno dovrà sempre essere in grado di accedere alle informazioni o ai servizi protetti. Inoltre, la presenza di utenti umani rappresenta una vulnerabilità in sé e per sé, perché le persone sono notoriamente poco efficienti nel mantenere un buon livello di sicurezza. Quando le vulnerabilità vengono scoperte e corrette, delle nuove ne prendono quasi immediatamente il posto. Il botta e risposta tra lo sfruttamento degli hacker e l'implementazione delle misure di sicurezza rappresenta una vera corsa agli armamenti, con ciascuna parte a diventare di pari passo più sofisticata.

Vulnerabilità Umana

Una vulnerabilità discussa di rado è quella dell'utente umano. La maggior parte degli utenti di computer e sistemi informatici non sono esperti informatici o professionisti della sicurezza informatica. La maggior parte degli utenti sa ben poco di ciò che accade tra i loro punti di interfaccia e i dati o i servizi a cui accedono. È difficile convincere le persone su larga scala a cambiare le proprie abitudini e utilizzare le pratiche consigliate per impostare le password, controllare le e-mail con scrupolo, evitare siti web dannosi e mantenere aggiornati i propri software. Le aziende e le agenzie governative impiegano molto tempo e risorse per addestrare i dipendenti a seguire le corrette procedure di sicurezza dei dati, ma basta un solo anello debole nella catena per dare agli hacker la finestra che stanno cercando per accedere a un intero sistema o rete.

I firewall più sofisticati e costosi e la prevenzione delle intrusioni di rete dei sistemi vengono resi inutili quando un singolo utente dall’interno clicca su un collegamento dannoso, apre un virus in un allegato di posta elettronica, collega un'unità flash compromessa o semplicemente fornisce la password di accesso tramite il telefono o la posta elettronica. Anche se le migliori pratiche di sicurezza vengono ripetutamente ricordate, gli utenti comuni sono la vulnerabilità più semplice e utile da trovare e sfruttare. A volte le vulnerabilità umane sono quanto mai semplici, come un’abitudine errata nella sicurezza delle password, lasciando le password annotate in un semplice sito, a volte anche collegate all'hardware utilizzato. L'utilizzo di password facili da indovinare è un altro errore comune dell'utente. Un particolare sistema aziendale è stato compromesso quando un hacker astuto ha lasciato intenzionalmente un'unità flash USB nel parcheggio di un'azienda. Quando un dipendente ignaro lo ha trovato, ha inserito l'unità nel suo computer di lavoro e di conseguenza ha caricato un virus. La maggior parte delle persone non prende sul serio la sicurezza informatica fino a quando non si verifica un incidente, e anche in questo caso, spesso ricade nelle stesse abitudini. Gli hacker lo sanno e ne approfittano il più spesso possibile.

Vulnerabilità del Software

Tutti i computer si basano su software (o "firmware", in alcuni dispositivi) che traducono in azioni gli input o i comandi dell'utente. Il software gestisce gli accessi dell’utente, esegue query sul database, esegue l'invio di moduli di siti web, controlla hardware e periferiche e gestisce altri aspetti delle funzionalità del computer e di rete che potrebbero essere sfruttati dagli hacker. Oltre al fatto che i programmatori commettono errori e sviste, è impossibile per gli sviluppatori di software prevedere eventuali possibili vulnerabilità nel loro codice. Gli sviluppatori al massimo possono sperare di riparare e modificare il proprio software quando vengono scoperte delle vulnerabilità. Ecco perché è così importante mantenere aggiornato un software.

Alcune vulnerabilità del software sono dovute a errori di programmazione, ma la maggior parte sono semplicemente dovute a difetti imprevisti nella progettazione. Il software è normalmente sicuro se utilizzato come previsto, ma combinazioni impreviste e non intenzionali di input, comandi e modalità spesso portano a conseguenze impreviste. Senza rigorosi controlli su come gli utenti interagiscono con il software, molte sue vulnerabilità vengono scoperte per errore o in modo casuale. Gli hacker fanno il possibile per scoprire queste anomalie il più rapidamente possibile.

Exploit

Trovare e sfruttare le vulnerabilità per accedere ai sistemi è sia un'arte che una scienza. A causa della natura dinamica della sicurezza delle informazioni, esiste un gioco da "gatto e topo" costante tra hacker e professionisti della sicurezza e persino tra stati-nazione avversari. Per stare al passo (o almeno non rimanere troppo indietro), non ci si deve solo mantenere informati sulle ultime tecnologie e vulnerabilità, ma anche essere in grado di anticipare come gli hacker e il personale della sicurezza reagiranno ai cambiamenti nel panorama generale.

Accesso

L'obiettivo dello sfruttamento più comune è quello di ottenere l'accesso e raggiungere un certo livello di controllo di un certo sistema. Poiché molti sistemi hanno più livelli di accesso ai fini della sicurezza, spesso accade che ogni livello di accesso abbia una propria serie di vulnerabilità e che in genere siano più difficili da hackerare poiché sono disponibili più funzionalità di base. Il colpo di accesso assoluto per un hacker è quello di raggiungere il livello di superutente o root (un termine UNIX), noto nello slang hacker come "ottenere il root". Questo livello superiore offre il controllo utente di tutti i sistemi, file, database e impostazioni in un determinato sistema autonomo.

Può essere abbastanza difficile violare in un unico exploit il livello root di un sistema informatico sicuro. Più spesso, gli hacker sfruttano vulnerabilità più semplici o traggono vantaggio da utenti meno esperti per ottenere un accesso iniziale di basso livello. Da lì possono essere impiegati ulteriori metodi per raggiungere livelli più alti, da quello di amministratore fino al root. Con l'accesso root, un hacker può visualizzare, scaricare e sovrascrivere le informazioni a piacimento e in alcuni casi persino rimuovere qualsiasi traccia nel sistema. Per questo motivo, ottenere il root di un sistema target è motivo di orgoglio in quanto massimo risultato tra gli hacker sia black hat che white hat.

Negare l’Accesso

In molti casi ottenere l'accesso a un determinato sistema target è impossibile, estremamente difficile o nemmeno auspicabile per un hacker. A volte, l'obiettivo di un hacker è semplicemente impedire agli utenti legittimi di accedere a un sito web o una rete. Questo tipo di attività è noto come denial-of-service (DoS). Lo scopo di condurre un attacco DoS può variare. Dal momento che è relativamente semplice da eseguire, è spesso un esercizio per principianti e hacker inesperti ("newbie", "nob" o "neofita" nel gergo) tanto da diventare un motivo di vanto. Gli hacker più esperti possono eseguire attacchi DoS prolungati, interrompendo server commerciali o governativi per un lungo periodo di tempo. Pertanto, spesso gruppi organizzati di hacker tengono in ostaggio un sito web e chiedono un riscatto ai proprietari in cambio della sospensione dell'attacco, il tutto senza nemmeno dover accedere.

Capitolo 3. Per Iniziare

Gli hacker hanno la reputazione di essere individui particolarmente intelligenti e talentuosi in vari modi. Può quindi sembrare un lavoro enorme e faticoso iniziare da zero e raggiungere un qualsiasi livello di competenza pratica. Bisogna ricordare che tutti devono pur iniziare da qualche parte nell'apprendimento di una materia o di certe abilità. Con dedizione e perseveranza, è possibile fare proprio il mondo dell'hackeraggio fin dove la volontà riesce a portarci. Nei passi da intraprendere per diventare un hacker, fissare alcuni obiettivi può essere d’aiuto. Chiediti perché vuoi imparare l'hackeraggio e cosa intendi ottenere. Alcuni vogliono solo imparare le basi in modo da poter capire come proteggere sé stessi, la propria famiglia o la propria attività da attacchi malevoli. Altri aspirano a una formazione per una carriera nella pirateria informatica o nella sicurezza delle informazioni. Qualunque sia il motivo, dovrai prepararti ad apprendere alcune nuove nozioni e abilità.

Imparare

L'arma più importante dell'arsenale di un hacker è la conoscenza. Non solo è importante che un hacker apprenda il più possibile su computer, reti e software, ma per rimanere competitivo ed efficace deve essere aggiornato sui costanti e rapidi cambiamenti nei computer e nella sicurezza dei computer. Non è necessario che un hacker sia un ingegnere, un informatico o abbia una conoscenza dettagliata del microprocessore o della progettazione dell'hardware di un computer, ma dovrebbe conoscere il funzionamento di un computer, i suoi componenti principali e come interagiscono, come i computer sono collegati in rete sia localmente che attraverso Internet, le modalità di interazione generale degli utenti attraverso i loro computer e, soprattutto, il modo in cui il software determina il funzionamento del computer. Un hacker capace è esperto e pratico di diversi linguaggi informatici e conosce i principali sistemi operativi. È anche molto utile che un hacker abbia familiarità con la storia, la matematica e la pratica della crittografia.

È possibile, e sempre più comune, che un laico con poca esperienza di hackeraggio e con una conoscenza minima o intermedia di programmazione, conduca un attacco ad un sistema. Le persone spesso lo fanno usando script e seguendo le procedure sviluppate da operatori più esperti. Ciò accade più comunemente con i tipi di attacchi più semplici, come il Denial of Service. Questi hacker inesperti sono noti nella comunità degli hacker come script kiddie. Il problema con questo tipo di attività è che gli esecutori hanno scarsa comprensione di ciò che accade nel codice che stanno eseguendo e potrebbero non essere in grado di anticipare effetti collaterali o altre conseguenze indesiderate. È meglio comprendere appieno cosa stai facendo prima di tentare un attacco.

Computer e Processori

I computer variano di dimensioni, forma e scopo, ma la maggior parte di essi ha essenzialmente la stessa struttura. Un bravo hacker dovrebbe studiare come si sono evoluti i computer a partire dalle prime macchine del XX secolo fino alle macchine molto più sofisticate che usiamo oggi. In questo modo, risulta evidente che i computer hanno gli stessi componenti di base. Per diventare un hacker efficace, dovresti conoscere i diversi tipi di processori esistenti sulla maggior parte dei computer moderni. Ad esempio, i tre maggiori produttori di microprocessori sono Intel, American Micro Devices (AMD) e Motorola. Questi processori comprendono la maggior parte dei personal computer che incontrerà un hacker, ma ognuno ha il proprio set di istruzioni unico. Sebbene la maggior parte degli hacker abbia raramente a che fare con i linguaggi di programmazione a livello di macchina, attacchi più sofisticati potrebbero richiedere una comprensione delle differenze tra i set di istruzioni del processore.

Alcuni processori sono programmabili dall'utente finale. Questi sono noti come Field-Programmable Gate Arrays (FPGA) e vengono utilizzati sempre più spesso per i sistemi integrati, in particolare nei controlli industriali. È noto che gli hacker ottengano l'accesso a questi chip mentre sono in produzione in modo da distribuire un software dannoso al destinatario finale. È necessaria una comprensione dell'architettura e della programmazione FPGA per questi tipi di attacchi sofisticati. Questi attacchi integrati riguardano in particolare i clienti militari e industriali che acquistano chip su larga scala per sistemi sensibili.

Reti e Protocolli

Uno dei temi più importanti che l'aspirante hacker deve studiare è quello dell'architettura e dei protocolli di rete. I computer possono essere collegati in rete con diverse configurazioni e dimensioni e con diverse tecnologie che regolano la loro interconnessione. Dal filo di rame, alle fibre ottiche, alle connessioni wireless e satellitari, nonché la combinazione di tutti questi supporti; abbiamo creato una vasta rete informatica in tutto il mondo: questa rete può essere compresa su larga scala nella sua interezza e vista come una connessione di reti autonome più piccole.

In termini di dimensioni, le reti di computer sono state tradizionalmente classificate come reti locali (LAN) e reti geografiche (WAN). Le WAN in genere collegano un certo numero di LAN. Esistono molte altre designazioni per reti di dimensioni diverse e la terminologia cambia continuamente man mano che si sviluppano nuove tecnologie e conduttività. Tenere il passo con questi cambiamenti è uno dei compiti continui di un hacker.

Le reti hanno anche architetture diverse. L'architettura è determinata non solo dalla configurazione dei diversi nodi, ma anche dal supporto che li collega. Inizialmente i computer in rete erano sempre collegati tramite filo di rame. I cavi di rete in rame comunemente usati, spesso noti come cavi Ethernet, sono costituiti da coppie intrecciate di filo di rame. Sebbene il più comune di questi cavi sia il cavo di categoria cinque, o CAT-5, sta cominciando a lasciare il posto a un nuovo standard, CAT-6, che ha una maggiore capacità di trasmissione del segnale. Per applicazioni ad altissima velocità e distanze più lunghe, vengono solitamente scelti cavi in fibra ottica. Le fibre ottiche utilizzano la luce anziché l'elettricità e hanno una capacità di trasporto delle informazioni molto elevata. Sono utilizzati per trasportare la più moderna televisione via cavo e servizi Internet ad alta velocità. La fibra ottica funge da spina dorsale per Internet. All'interno di spazi ristretti, le reti wireless sono molto comuni. Attraverso l’impiego di un protocollo Wireless Fidelity (Wi-Fi), le reti wireless esistono in molte LAN personali, private e commerciali. Gli hacker sono spesso particolarmente interessati alla violazione delle reti Wi-Fi, e ciò ha provocato il conseguente sviluppo degli standard di sicurezza Wi-Fi. Indipendentemente dall'architettura o dal mezzo di trasmissione, quando due terminali comunicano attraverso una rete devono farlo utilizzando un insieme comune di regole noto come protocollo. I protocolli di rete si sono evoluti da quando sono state create le prime reti informatiche, ma hanno mantenuto lo stesso approccio stratificato di base. In generale, una rete è progettata in termini di livelli diversi che svolgono funzioni diverse. Ciò è anche noto come stack. I protocolli di comunicazione più comuni utilizzati oggi sono Internet Protocol (IP) e Transmission Control Protocol (TCP). Nel loro insieme, questi sono comunemente noti come TCP/IP. Questi protocolli cambiano e a volte sono standardizzati. È fondamentale per l'hacker apprendere questi protocolli e come si relazionano alla comunicazione tra i diversi strati dello stack. Ecco come gli hacker possono ottenere livelli sempre più elevati di accesso a un sistema.

Linguaggi di Programmazione

Può sembrare scoraggiante imparare un linguaggio di programmazione da zero senza averlo mai fatto prima, ma molte persone scoprono che una volta acquisita conoscenza di un linguaggio di programmazione, è molto più facile e veloce imparare gli altri. Gli hacker non devono solo comprendere i linguaggi di programmazione per poter sfruttare le vulnerabilità del software, ma molti devono anche scrivere il proprio codice per poter eseguire un determinato attacco. Leggere, comprendere e scrivere codici è fondamentale nell'hackeraggio.

I linguaggi di programmazione vanno da codici macchina molto difficili da decifrare, che sono in formato binario ed esadecimale e vengono utilizzati per comunicare direttamente con un processore, ai linguaggi orientati ad obiettivi di alto livello che vengono utilizzati per lo sviluppo di software. I linguaggi comuni orientati ad obiettivi di alto livello sono C++ e Java. Il codice scritto in linguaggi di alto livello viene compilato nel codice macchina adatto per un particolare processore, il che rende i linguaggi di alto livello molto intercambiabili tra i diversi tipi di macchine. Un'altra categoria è il linguaggio con script, dove i comandi vengono eseguiti riga per riga anziché essere compilati nel codice macchina. Imparare i linguaggi di programmazione richiede tempo e pratica - non c'è altro modo per diventare competenti. Le lunghe serate e le maratone notturne a occuparsi di scrittura, debug e ricompilazione del codice sono un rito di passaggio comune tra gli hacker principianti.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.