{"id":1171,"date":"2023-09-02T17:01:15","date_gmt":"2023-09-02T15:01:15","guid":{"rendered":"https:\/\/www.fabriziogiancola.eu\/?p=1171"},"modified":"2023-09-12T15:20:00","modified_gmt":"2023-09-12T13:20:00","slug":"ethical-hacker","status":"publish","type":"post","link":"https:\/\/www.fabriziogiancola.eu\/index.php\/2023\/09\/02\/ethical-hacker\/","title":{"rendered":"Ethical Hacker"},"content":{"rendered":"\n<p>Appunti raccolti durante il relativo corso seguito su <a href=\"https:\/\/skillsforall.com\/\" data-type=\"link\" data-id=\"https:\/\/skillsforall.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Skills for All by Cisco<\/a>, alla cui piattaforma rimando per il materiale necessario.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-medium-font-size\"><strong>Comprendere l\u2019hacking etico e il penetration testing<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Introduzione<\/strong><\/p>\n\n\n\n<p>Il termine <strong><em>hacker etico<\/em><\/strong> descrive una persona che agisce come aggressore e valuta il livello di sicurezza di una rete di computer allo scopo di ridurre al minimo i rischi. Il NIST Computer Security Resource Center (CSRC) definisce un hacker come un \u201cutente non autorizzato che tenta o ottiene l\u2019accesso a un sistema informativo\u201d. Sappiamo tutti che il termine hacker \u00e8 stato utilizzato in molti modi diversi e ha molte definizioni diverse. La maggior parte delle persone che lavorano nel campo della tecnologia informatica si considerano hacker per il semplice fatto che amano armeggiare. Questa ovviamente non \u00e8 una cosa dannosa. Quindi, il fattore chiave nel definire l\u2019hacking etico rispetto a quello non etico \u00e8 che quest\u2019ultimo implica intenti dannosi. Il <em>permesso di attaccare<\/em> o il permesso di testare \u00e8 fondamentale e ti terr\u00e0 fuori dai guai! Questo permesso di attacco viene spesso definito \u201cl\u2019ambito\u201d del test (ci\u00f2 che \u00e8 consentito e non \u00e8 consentito testare). Maggiori informazioni su questo argomento pi\u00f9 avanti in questo modulo.<\/p>\n\n\n\n<p>Un ricercatore di sicurezza che cerca vulnerabilit\u00e0 in prodotti, applicazioni o servizi web \u00e8 considerato un hacker etico se rivela responsabilmente tali vulnerabilit\u00e0 ai fornitori o ai proprietari della ricerca mirata. Tuttavia, lo stesso tipo di \u201cricerca\u201d eseguita da qualcuno che poi sfrutta la stessa <strong><em>vulnerabilit\u00e0<\/em><\/strong> per ottenere l\u2019accesso non autorizzato a una rete\/sistema preso di mira verrebbe considerato un hacker non etico. Potremmo addirittura arrivare a dire che qualcuno che trova una vulnerabilit\u00e0 e la rende pubblica senza collaborare con un fornitore \u00e8 considerato un hacker non etico, perch\u00e9 ci\u00f2 potrebbe portare alla compromissione di reti\/sistemi da parte di altri che utilizzano queste informazioni in modo dannoso.<\/p>\n\n\n\n<p>La verit\u00e0 \u00e8 che, come hacker etico, utilizzi gli stessi strumenti per individuare vulnerabilit\u00e0 e sfruttare obiettivi utilizzati dagli hacker non etici. Tuttavia, in quanto hacker etico, in genere segnaleresti le tue scoperte al fornitore o al cliente che stai aiutando a rendere la rete pi\u00f9 sicura. Cercheresti anche di evitare di eseguire test o exploit che potrebbero essere di natura distruttiva.<\/p>\n\n\n\n<p>L\u2019obiettivo di un hacker etico \u00e8 quello di analizzare il livello di sicurezza dell\u2019infrastruttura di una rete o di un sistema nel tentativo di identificare ed eventualmente sfruttare potenziali punti deboli rilevati e quindi determinare se \u00e8 possibile una compromissione. Questo processo \u00e8 chiamato <em>security <\/em><strong><em>penetration testing<\/em><\/strong> o hacking etico.<\/p>\n\n\n\n<p><strong>Suggerimento:<\/strong> Hacking is NOT a Crime (<a href=\"https:\/\/www.hackingisnotacrime.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">hackingisnotacrime.org<\/a>) \u00e8 un\u2019organizzazione no-profit che tenta di aumentare la consapevolezza sull\u2019uso peggiorativo del termine <em>hacker<\/em>. Storicamente, gli <em>hacker<\/em> sono stati descritti come malvagi o illegali. Fortunatamente, molte persone sanno gi\u00e0 che gli hacker sono individui curiosi che vogliono capire come funzionano le cose e come renderle pi\u00f9 sicure.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Perch\u00e9 \u00e8 necessario eseguire un Penetration Testing?<\/strong><\/p>\n\n\n\n<p>Quindi, perch\u00e9 abbiamo bisogno dei test di penetrazione? Bene, prima di tutto, come persona responsabile della sicurezza e della difesa di una rete\/sistema, vuoi trovare ogni possibile percorso di compromissione prima che lo facciano i malintenzionati. Da anni vengono sviluppate e implementate diverse tecniche di difesa (<em>ad esempio antivirus, firewall, sistemi di prevenzione delle intrusioni [IPS], anti-malware<\/em>). Viene altres\u00ec implementata la difesa in profondit\u00e0 come metodo per proteggere e difendere le nostre reti. Ma come facciamo a sapere se queste difese funzionano davvero e se sono sufficienti a tenere lontani i cattivi? Quanto sono preziosi i dati che proteggiamo e stiamo proteggendo le cose giuste? Queste sono alcune delle domande a cui dovrebbe rispondere un penetration test. Se costruisci una recinzione attorno al tuo giardino con l\u2019intento di impedire al tuo cane di uscire, forse deve essere alta solo 1,5 metri. Tuttavia, se la tua preoccupazione non \u00e8 l\u2019uscita del cane ma l\u2019ingresso di un intruso, allora hai bisogno di una recinzione diversa, una che dovrebbe essere molto pi\u00f9 alta di 1,5 metri. A seconda di ci\u00f2 che stai proteggendo, potresti anche voler del filo spinato sulla parte superiore della recinzione per scoraggiare ancora di pi\u00f9 i malintenzionati. Quando si tratta di sicurezza delle informazioni, dobbiamo fare lo stesso tipo di valutazioni sulle nostre reti e sui nostri sistemi. Dobbiamo determinare cosa stiamo proteggendo e se le nostre difese possono resistere alle minacce che vengono loro imposte. \u00c8 qui che entrano in gioco i penetration testing. La semplice implementazione di un firewall, un IPS, un anti-malware, una VPN, un firewall per applicazioni web (WAF) e altre moderne difese di sicurezza non \u00e8 sufficiente. \u00c8 inoltre necessario testarne la validit\u00e0. E devi farlo regolarmente. Lo sappiamo: le reti e i sistemi cambiano costantemente. Ci\u00f2 significa che anche la superficie di attacco pu\u00f2 cambiare e, in tal caso, \u00e8 necessario prendere in considerazione la possibilit\u00e0 di rivalutare il livello di sicurezza tramite un penetration test.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Ricerca di carriere nel PenTesting<\/strong><\/p>\n\n\n\n<p>Penso che sia importante comprendere il panorama occupazionale e i diversi ruoli e responsabilit\u00e0 che includono le professioni di sicurezza informatica. Un buon riferimento generale da esplorare per le descrizioni dei diversi ruoli lavorativi \u00e8 il <a href=\"https:\/\/niccs.cisa.gov\/workforce-development\/cyber-career-pathways-tool\" target=\"_blank\" rel=\"noreferrer noopener\">Cyber \u200b\u200bCareer Pathways Tool<\/a> della National Initiative for Cybersecurity Careers and Studies (NICCS). Offre un modo visivo per scoprire e confrontare diversi ruoli lavorativi di questa professione.<\/p>\n\n\n\n<p>Interessante per capire dove si \u00e8 collocati nel quadro generale della professionalit\u00e0.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Threat Actors<\/strong><\/p>\n\n\n\n<p>Prima di poter comprendere in che modo un hacker etico o un penetration tester pu\u00f2 imitare un <strong><em>threat actor<\/em><\/strong> (attore di minacce o un utente malintenzionato), \u00e8 necessario comprendere i diversi tipi di autori di minacce. Di seguito sono riportati i tipi pi\u00f9 comuni di aggressori.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>pirati informatici<\/em>, quelli che spesso, comunemente, vengono chiamati <em>hacker<\/em>, \u00c8 sbagliato pensare che i cybercriminali puntino solamente ad eseguire attacchi in grande stile. A fianco di bersagli quali istituti governativi e bancari, sono sempre pi\u00f9 oggetto di attacchi informatici anche PMI, liberi professionisti, sino al singolo utente domestico;<\/li>\n\n\n\n<li><em>spie, sabotatori, vandali<\/em>. Attualmente, diversi Governi si sono dotati delle necessarie <em>capacit\u00e0<\/em> per penetrare le reti nazionali degli altri Stati (in uso sia alle autorit\u00e0 pubbliche che ai privati) a fini di spionaggio o per mappare i sistemi potenzialmente oggetto di un futuro attacco. Il vandalo adotta un insieme di azioni al fine di danneggiare o distruggere beni altrui materiali e non, per puro divertimento o incuria. Il sabotatore ha per obiettivo creare danni ad un sistema, dal rallentamento sino al <em>denial of service<\/em>, per i motivi pi\u00f9 vari. \u00c8 evidente che una netta distinzione tra i due attori non \u00e8 possibili in quanto agiscono spesso con le medesime modalit\u00e0 e per gli stessi scopi; <\/li>\n\n\n\n<li>oltre ai criminali comuni, che si rifanno al modello noto come \u201c<em>cybercrime-as-a-service<\/em>\u201d di cui si \u00e8 parlato prima, vi sono <em>organizzazioni criminali <\/em>che hanno preso coscienza delle potenzialit\u00e0 dei <em>malware<\/em> andando a creare strutture commerciali efficientemente organizzate, capaci di generare sensibili profitti dalla vendita dei servizi che le <em>botnet<\/em> sono in grado di offrire;<\/li>\n\n\n\n<li><em>terroristi<\/em>, \u00e8 possibile ipotizzare che nel prossimo futuro gruppi terroristici o singoli individui possano impiegare strumenti cibernetici offensivi ed utilizzarli contro obiettivi militari e civili. Si pu\u00f2 far rientrare in questa categoria, quella degli attivisti, dal 2013 sempre pi\u00f9 spesso si assiste ad una commistione tra finalit\u00e0 <em>cyber<\/em> criminali e forme di <em>hacktivism<\/em>. I due ambiti, originariamente distinti per <em>background<\/em>, finalit\u00e0 e modalit\u00e0 di azione, sempre pi\u00f9 spesso trovano conveniente allearsi per raggiungere i propri obiettivi: tipologie di attacco motivate ideologicamente, con intento sostanzialmente dimostrativo, che mirano principalmente a creare un danno d\u2019immagine e\/o alla funzionalit\u00e0 temporanea di sistemi e reti;<\/li>\n\n\n\n<li><em>personale interno<\/em>, ovvero l\u2019 \u201c<em>insider<\/em>\u201d, cio\u00e8 il soggetto che all\u2019interno di una organizzazione \u2013 pubblica o privata poco importa \u2013 pu\u00f2 generare situazioni compromettenti la sicurezza o addirittura la sopravvivenza della realt\u00e0 di appartenenza. L\u2019attenzione \u00e8 incentrata sia sui soggetti che ora lavorano nell\u2019organizzazione, sia su quelli che hanno interrotto ogni rapporto. Va tenuto nella dovuta considerazione il fatto che l\u2019attenzione agli attacchi informatici deve necessariamente essere rivolta non solo verso l\u2019esterno, ma anche verso l\u2019interno dell\u2019azienda. Un dipendente particolarmente motivato potrebbe creare un danno molto maggiore rispetto a quello di un cyber attaccante, vista la sua conoscenza dell\u2019infrastruttura e degli <em>asset<\/em> aziendali. A mio parere rappresenta una fra le minacce pi\u00f9 gravi: partono in vantaggio rispetto ad un attaccante esterno per la conoscenza delle dinamiche interne, delle infrastrutture, ecc.., hanno gi\u00e0 le credenziali di accesso e spesso non vengono revocate in tempo. Esempio italiano Hacking Team;<\/li>\n\n\n\n<li><em>fornitori di servizi<\/em>, <em>outsourcers<\/em>, nel 2013 si \u00e8 assistito all\u2019emergere di una chiara tendenza, per cui gli attaccanti hanno individuato negli <em>outsourcer<\/em> l\u2019anello pi\u00f9 debole da colpire per raggiungere (tipicamente sfruttandone le utenze privilegiate e le connessioni VPN) i loro bersagli primari. Questo fenomeno, data la propensione degli attaccanti a minimizzare gli sforzi, \u00e8 destinato a crescere in modo esponenziale, dal momento che spesso questi fornitori sono aziende medio-piccole, con una cultura della sicurezza sensibilmente inferiore a quella dei loro grandi clienti, pur avendo di frequente accessi poco o per nulla presidiati alle loro reti ed infrastrutture;<\/li>\n\n\n\n<li>dal crimine informatico allo <em><u>state-sponsored hacking<\/u><\/em>. Lo scenario attuale vede un crescente numero di attacchi informatici caratterizzati da livelli di complessit\u00e0 elevati, determinati dalla proliferazione di <em>hacker<\/em> al soldo di governi oppure di malware sviluppati dai governi stessi. Se il crimine informatico preoccupa gli esperti di sicurezza, il <em>nation-state hacking<\/em> non \u00e8 da meno. La quasi totalit\u00e0 dei governi \u00e8 intenta nell\u2019ampliamento del proprio arsenale cibernetico.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Exploring Penetration Testing Methodologies<\/strong><\/p>\n\n\n\n<p>I test di penetrazione vanno ben oltre l\u2019hacking della rete di un cliente. Un approccio casuale porter\u00e0 a risultati casuali. \u00c8 importante seguire metodi e standard ben noti per affrontare gli impegni di pentesting in modo organizzato e sistematico.<\/p>\n\n\n\n<p>Dovresti comprendere le principali metodologie e standard documentati in modo da poter creare strategie che attingano ai loro punti di forza. Documentare il tuo approccio con le metodologie e gli standard che hai utilizzato fornisce inoltre responsabilit\u00e0 alla nostra azienda e aiuta a rendere i nostri risultati difendibili nel caso in cui sorgano problemi con i nostri clienti.<\/p>\n\n\n\n<p>Il processo di completamento di un penetration test varia in base a molti fattori. Anche gli strumenti e le tecniche utilizzati per valutare il livello di sicurezza di una rete o di un sistema variano. Le reti e i sistemi oggetto di valutazione sono spesso molto complessi. Per questo motivo, quando si esegue un test di penetrazione \u00e8 molto facile uscire dal campo di applicazione. \u00c8 qui che entrano in gioco le metodologie di test.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Perch\u00e9 \u00e8 necessario seguire una metodologia per i Penetration Test?<\/strong><\/p>\n\n\n\n<p>Come appena accennato, lo <strong><em>scope creep<\/em><\/strong> \u00e8 una delle ragioni per utilizzare una metodologia specifica; tuttavia, ci sono molte altre ragioni. Ad esempio, quando esegui un test di penetrazione per un cliente, devi dimostrare che i metodi che intendi utilizzare per il test sono collaudati e veri. Utilizzando una metodologia nota, \u00e8 possibile fornire la documentazione di una procedura specializzata utilizzata da molte persone.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Considerazioni ambientali<\/strong><\/p>\n\n\n\n<p>Esistono ovviamente diversi tipi di test di penetrazione. Spesso vengono combinati in un ambito pi\u00f9 complesso di test; tuttavia, possono anche essere eseguiti come test individuali.<\/p>\n\n\n\n<p>Di seguito \u00e8 riportato un elenco di alcune delle considerazioni ambientali pi\u00f9 comuni per i tipi di test di penetrazione odierni:<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Test dell\u2019infrastruttura di rete<\/strong><\/p>\n\n\n\n<p>Testare l\u2019infrastruttura di rete pu\u00f2 significare diverse cose. Ai fini di questi appunti, diciamo che \u00e8 incentrato sulla valutazione del livello di sicurezza dell\u2019effettiva infrastruttura di rete e su come questa sia in grado di aiutare a difendersi dagli attacchi. Ci\u00f2 include spesso switch, router, firewall e risorse di supporto, come server e IPS di autenticazione, autorizzazione e contabilit\u00e0 (AAA). Un test di penetrazione sull\u2019infrastruttura wireless pu\u00f2 talvolta essere incluso nell\u2019ambito di un test dell\u2019infrastruttura di rete. Tuttavia, verrebbero eseguiti ulteriori tipi di test oltre alla valutazione della rete cablata. Ad esempio, un tester di sicurezza wireless tenter\u00e0 di entrare in una rete tramite la rete wireless aggirando i meccanismi di sicurezza o violando i metodi crittografici utilizzati per proteggere il traffico. Testare l\u2019infrastruttura wireless aiuta un\u2019organizzazione a determinare i punti deboli nell\u2019implementazione wireless e l\u2019esposizione. Spesso include una mappa termica dettagliata dell\u2019erogazione del segnale.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Test basati sulle applicazioni<\/strong><\/p>\n\n\n\n<p>Questo tipo di pen test si concentra sui test per individuare i punti deboli della sicurezza nelle applicazioni aziendali. Questi punti deboli possono includere, a titolo esemplificativo, configurazioni errate, problemi di convalida dell\u2019input, problemi di injection e difetti logici. Poich\u00e9 un\u2019applicazione Web \u00e8 generalmente creata su un server Web con un database back-end, l\u2019ambito del test normalmente include anche il database. Tuttavia, si concentra sull\u2019accesso al database di supporto attraverso la compromissione dell\u2019applicazione web. Una grande risorsa che menzioniamo pi\u00f9 volte in questo libro \u00e8 l\u2019Open Web Application Security Project (OWASP).<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Test di penetrazione nel cloud<\/strong><\/p>\n\n\n\n<p>I fornitori di servizi cloud (Cloud service providers &#8211; CSP) come Azure, Amazon Web Services (AWS) e Google Cloud Platform (GCP) non hanno altra scelta se non quella di prendere molto sul serio le proprie responsabilit\u00e0 in materia di sicurezza e conformit\u00e0. Ad esempio, Amazon ha creato il modello di responsabilit\u00e0 condivisa per descrivere in dettaglio le responsabilit\u00e0 dei clienti AWS e le responsabilit\u00e0 di Amazon (vedi <a href=\"https:\/\/aws.amazon.com\/compliance\/shared-responsibility-model\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/aws.amazon.com\/compliance\/shared-responsibility-model<\/a>).<\/p>\n\n\n\n<p>La responsabilit\u00e0 per la sicurezza del cloud dipende dal tipo di modello cloud (software as a service [SaaS], platform as a service [PaaS] o Infrastructure as a Service [IaaS]). Ad esempio, con IaaS, il cliente (<strong><em>cloud consumer<\/em><\/strong>) \u00e8 responsabile di dati, applicazioni, runtime, middleware, macchine virtuali (VM), contenitori e sistemi operativi nelle VM. Indipendentemente dal modello utilizzato, la sicurezza del cloud \u00e8 responsabilit\u00e0 sia del cliente che del fornitore del cloud. Questi dettagli devono essere elaborati prima della firma di un contratto di cloud computing. Questi contratti variano a seconda delle esigenze di sicurezza del cliente. Le considerazioni includono il ripristino di emergenza, gli accordi sul livello di servizio (service-level agreements &#8211; SLA), l\u2019integrit\u00e0 dei dati e la crittografia. Ad esempio, la crittografia viene fornita end-to-end o solo presso il fornitore di servizi cloud? Inoltre, chi gestisce le chiavi di crittografia: il CSP o il client?<\/p>\n\n\n\n<p>Nel complesso, vuoi assicurarti che il CSP disponga degli stessi livelli di sicurezza (logico, fisico e amministrativo) che avresti per i servizi che controlli. Quando esegui test di penetrazione nel cloud, devi capire cosa puoi fare e cosa non puoi fare. La maggior parte dei CSP dispone di linee guida dettagliate su come eseguire valutazioni della sicurezza e test di penetrazione nel cloud. Indipendentemente da ci\u00f2, esistono molte potenziali minacce quando le organizzazioni passano a un modello cloud. Ad esempio, anche se i tuoi dati sono nel cloud, devono risiedere in un luogo fisico da qualche parte. Il tuo fornitore di servizi cloud dovrebbe accettare per iscritto di fornire il livello di sicurezza richiesto per i tuoi clienti. Ad esempio, il collegamento seguente include la policy di supporto clienti AWS per il penetration testing: <a href=\"https:\/\/aws.amazon.com\/security\/penetration-testing\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/aws.amazon.com\/security\/penetration-testing<\/a>.<\/p>\n\n\n\n<p><strong>Nota:<\/strong> molti penetration tester ritengono che l\u2019aspetto fisico del test sia il pi\u00f9 divertente perch\u00e9 vengono essenzialmente pagati per entrare nella struttura di un obiettivo. Questo tipo di test pu\u00f2 aiutare a evidenziare eventuali punti deboli nel perimetro fisico nonch\u00e9 eventuali meccanismi di sicurezza presenti, come guardie, cancelli e recinzioni. Il risultato dovrebbe essere una valutazione dei controlli di sicurezza fisica esterni. La maggior parte dei compromessi oggi inizia con una sorta di attacco di ingegneria sociale. Potrebbe trattarsi di una telefonata, un\u2019e-mail, un sito Web, un messaggio SMS e cos\u00ec via. \u00c8 importante testare come i tuoi dipendenti gestiscono questo tipo di situazioni. Questo tipo di test viene spesso omesso dall\u2019ambito di un test di penetrazione principalmente perch\u00e9 coinvolge principalmente il test delle persone anzich\u00e9 della tecnologia. Nella maggior parte dei casi il management non \u00e8 d\u2019accordo con questo tipo di approccio. Tuttavia, \u00e8 importante avere una visione reale degli ultimi metodi di attacco. Il risultato di un test di ingegneria sociale dovrebbe essere quello di valutare il programma di sensibilizzazione alla sicurezza in modo da poterlo migliorare. Non dovrebbe servire a identificare gli individui che non superano il test. Uno degli strumenti di cui parleremo di pi\u00f9 in un modulo successivo \u00e8 il Social-Engineer Toolkit (SET), creato da Dave Kennedy. Questo \u00e8 un ottimo strumento per eseguire campagne di test di ingegneria sociale.<\/p>\n\n\n\n<p><strong>Suggerimento:<\/strong> i programmi Bug Bounty consentono ai ricercatori di sicurezza e ai penetration tester di ottenere un riconoscimento (e spesso un compenso monetario) per aver individuato vulnerabilit\u00e0 in siti Web, applicazioni o qualsiasi altro tipo di sistema. Aziende come Microsoft, Apple e Cisco e persino istituzioni governative come il Dipartimento della Difesa degli Stati Uniti (DoD) utilizzano programmi di bug bounty per premiare i professionisti della sicurezza quando trovano vulnerabilit\u00e0 nei loro sistemi. Molte societ\u00e0 di sicurezza, come HackerOne, Bugcrowd, Intigriti e SynAck, forniscono piattaforme per aziende e professionisti della sicurezza per partecipare a programmi bug bounty. Questi programmi sono diversi dai tradizionali test di penetrazione, ma hanno un obiettivo simile: individuare le vulnerabilit\u00e0 della sicurezza per consentire all\u2019organizzazione di risolverle prima che gli aggressori possano sfruttare tali vulnerabilit\u00e0. Suggerimenti e risorse per la ricompensa dei bug nel seguente repository GitHub: <a href=\"https:\/\/github.com\/The-Art-of-Hacking\/h4cker\/tree\/master\/bug-bounties\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/The-Art-of-Hacking\/h4cker\/tree\/master\/bug-bounties<\/a>.<\/p>\n\n\n\n<p>Quando si parla di metodi di penetration test, \u00e8 probabile che si sentano i termini ambiente sconosciuto (precedentemente noto come black-box), ambiente noto (precedentemente noto come white-box) e ambiente parzialmente noto (precedentemente noto come grey-box). test. Questi termini vengono utilizzati per descrivere la prospettiva da cui viene eseguito il test, nonch\u00e9 la quantit\u00e0 di informazioni fornite al tester:<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Test in ambiente sconosciuto<\/strong><\/p>\n\n\n\n<p>In un test di penetrazione in un ambiente sconosciuto, al tester viene generalmente fornita solo una quantit\u00e0 molto limitata di informazioni. Ad esempio, al tester possono essere forniti solo i nomi di dominio e gli indirizzi IP che rientrano nell\u2019ambito di un particolare target. L\u2019idea di questo tipo di limitazione \u00e8 di far s\u00ec che il tester inizi con la prospettiva che potrebbe avere un utente malintenzionato esterno. In genere, un utente malintenzionato individua innanzitutto un obiettivo e quindi inizia a raccogliere informazioni sull\u2019obiettivo, utilizzando informazioni pubbliche, e ottiene sempre pi\u00f9 informazioni da utilizzare negli attacchi. Il tester non avrebbe una conoscenza preliminare dell\u2019organizzazione e dell\u2019infrastruttura del target. Un altro aspetto dei test in ambiente sconosciuto \u00e8 che a volte il personale di supporto di rete del target potrebbe non ricevere informazioni su quando esattamente avr\u00e0 luogo il test. Ci\u00f2 consente anche lo svolgimento di un esercizio di difesa ed elimina il problema di un bersaglio che si prepara per il test e non fornisce una visione del mondo reale di come appare realmente la situazione di sicurezza.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Test dell\u2019ambiente noto<\/strong><\/p>\n\n\n\n<p>In un penetration test in un ambiente noto, il tester inizia con una quantit\u00e0 significativa di informazioni sull\u2019organizzazione e sulla sua infrastruttura. Al tester verrebbero normalmente forniti elementi come diagrammi di rete, indirizzi IP, configurazioni e un set di credenziali utente. Se l\u2019ambito include una valutazione dell\u2019applicazione, al tester potrebbe essere fornito anche il codice sorgente dell\u2019applicazione di destinazione. L\u2019idea di questo tipo di test \u00e8 identificare il maggior numero possibile di buchi di sicurezza. In un test in un ambiente sconosciuto, lo scopo potrebbe essere solo quello di identificare un percorso all\u2019interno dell\u2019organizzazione e fermarsi l\u00ec. Con i test in ambienti noti, l\u2019ambito \u00e8 in genere molto pi\u00f9 ampio e include il controllo della configurazione della rete interna e la scansione dei computer desktop per individuare eventuali difetti. Tempo e denaro sono in genere fattori decisivi nella determinazione del tipo di test di penetrazione da completare. Se un\u2019azienda ha preoccupazioni specifiche su un\u2019applicazione, un server o un segmento dell\u2019infrastruttura, pu\u00f2 fornire informazioni su quell\u2019obiettivo specifico per ridurre la portata e la quantit\u00e0 di tempo dedicato al test ma ottenere comunque i risultati desiderati. Con la sofisticatezza e le capacit\u00e0 degli avversari attuali, \u00e8 probabile che la maggior parte delle reti prima o poi venga compromessa e un approccio white-box non \u00e8 una cattiva opzione.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Test ambientale parzialmente noto<\/strong><\/p>\n\n\n\n<p>Un test di penetrazione in un ambiente parzialmente noto \u00e8 in qualche modo un approccio ibrido tra test in ambiente sconosciuto e noto. Con i test dell\u2019ambiente parzialmente noto, ai tester potrebbero essere fornite le credenziali ma non la documentazione completa dell\u2019infrastruttura di rete. Ci\u00f2 consentirebbe ai tester di fornire comunque i risultati dei loro test dal punto di vista di un aggressore esterno. Considerando il fatto che la maggior parte delle compromissioni iniziano dal client e si diffondono attraverso la rete, un buon approccio sarebbe un ambito in cui i tester iniziano dall\u2019interno della rete e hanno accesso a una macchina client. Quindi potrebbero ruotare all\u2019interno della rete per determinare quale sarebbe l\u2019impatto di una compromissione.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Types of Penetration Tests &#8211; Indagine su standard e metodologie diverse<\/strong><\/p>\n\n\n\n<p>Esistono numerose metodologie di test di penetrazione in circolazione da un po\u2019 di tempo e continuano ad essere aggiornate man mano che emergono nuove minacce.<\/p>\n\n\n\n<p>Di seguito \u00e8 riportato un elenco di alcune delle metodologie di test di penetrazione pi\u00f9 comuni e di altri standard:<\/p>\n\n\n\n<p><strong>MITRE ATT&amp;CK<\/strong><\/p>\n\n\n\n<p>Il framework MITRE ATT&amp;CK (<a rel=\"noreferrer noopener\" href=\"https:\/\/attack.mitre.org\" target=\"_blank\">https:\/\/attack.mitre.org<\/a>) \u00e8 una risorsa straordinaria per conoscere le tattiche, le tecniche e le procedure (tactics, techniques, and procedures -TTP) di un avversario. Sia i professionisti della sicurezza offensiva (penetration tester, red teamer, cacciatori di bug e cos\u00ec via) che gli addetti alla risposta agli incidenti e i team di caccia alle minacce utilizzano oggi il framework MITRE ATT&amp;CK. Il framework MITRE ATT&amp;CK \u00e8 una raccolta di diverse matrici di tattiche, tecniche e sottotecniche. Queste matrici, tra cui Enterprise ATT&amp;CK Matrix, Network, Cloud, ICS e Mobile, elencano le tattiche e le tecniche utilizzate dagli avversari mentre si preparano a un attacco, inclusa la raccolta di informazioni (intelligence open source [OSINT], identificazione delle debolezze tecniche e delle persone, e altro) nonch\u00e9 diverse tecniche di sfruttamento e post-sfruttamento.<\/p>\n\n\n\n<p><strong>OWASP WSTG<\/strong><\/p>\n\n\n\n<p>La OWASP Web Security Testing Guide (WSTG) \u00e8 una guida completa focalizzata sul test delle applicazioni web. \u00c8 una raccolta di molti anni di lavoro dei membri OWASP. OWASP WSTG copre le fasi di alto livello dei test di sicurezza delle applicazioni web e approfondisce i metodi di test utilizzati. Ad esempio, arriva fino a fornire vettori di attacco per testare attacchi cross-site scripting (XSS), attacchi XML external entit\u00e0 (XXE), cross-site request forgery (CSRF) e attacchi SQL injection; nonch\u00e9 su come prevenire e mitigare questi attacchi. Dal punto di vista dei test di sicurezza delle applicazioni web, OWASP WSTG \u00e8 la guida pi\u00f9 dettagliata e completa disponibile. Puoi trovare OWASP WSTG e le relative informazioni sul progetto su <a href=\"https:\/\/owasp.org\/www-project-web-security-testing-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/owasp.org\/www-project-web-security-testing-guide\/<\/a>.<\/p>\n\n\n\n<p><strong>NIST SP 800-115<\/strong><\/p>\n\n\n\n<p>La pubblicazione speciale (SP) 800-115 \u00e8 un documento creato dal National Institute of Standards and Technology (NIST), che fa parte del Dipartimento del commercio degli Stati Uniti. NIST SP 800-115 fornisce alle organizzazioni linee guida sulla pianificazione e la conduzione di test sulla sicurezza delle informazioni. Ha sostituito il precedente documento standard, SP 800-42. SP 800-115 \u00e8 considerato uno standard di settore per la guida ai test di penetrazione ed \u00e8 citato in molti altri standard e documenti di settore. \u00c8 possibile accedere al NIST SP 800-115 all\u2019indirizzo <a href=\"https:\/\/csrc.nist.gov\/publications\/detail\/sp\/800-115\/final\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/csrc.nist.gov\/publications\/detail\/sp\/800-115\/final<\/a>.<\/p>\n\n\n\n<p><strong>OSSTMM<\/strong><\/p>\n\n\n\n<p>Il Manuale della metodologia di test della sicurezza open source (Open Source Security Testing Methodology Manual &#8211; OSSTMM), sviluppato da Pete Herzog, esiste da molto tempo. Distribuito dall\u2019Institute for Security and Open Methodologies (ISECOM), l\u2019OSSTMM \u00e8 un documento che definisce test di sicurezza ripetibili e coerenti (<a rel=\"noreferrer noopener\" href=\"https:\/\/www.isecom.org\" target=\"_blank\">https:\/\/www.isecom.org<\/a>). L\u2019OSSTMM ha le seguenti sezioni chiave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Operational Security Metrics<\/li>\n\n\n\n<li>Trust Analysis<\/li>\n\n\n\n<li>Work Flow<\/li>\n\n\n\n<li>Human Security Testing<\/li>\n\n\n\n<li>Physical Security Testing<\/li>\n\n\n\n<li>Wireless Security Testing<\/li>\n\n\n\n<li>Telecommunications Security Testing<\/li>\n\n\n\n<li>Data Networks Security Testing<\/li>\n\n\n\n<li>Compliance Regulations<\/li>\n\n\n\n<li>Reporting with the Security Test Audit Report (STAR)<\/li>\n<\/ul>\n\n\n\n<p><strong>PTES<\/strong><\/p>\n\n\n\n<p>Il Penetration Testing Execution Standard (PTES) (<a href=\"http:\/\/www.pentest-standard.org\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/www.pentest-standard.org<\/a>) fornisce informazioni sui tipi di attacchi e metodi e fornisce informazioni sugli strumenti pi\u00f9 recenti disponibili per eseguire i metodi di test. PTES prevede sette fasi distinte:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pre-engagement interactions<\/li>\n\n\n\n<li>Intelligence gathering<\/li>\n\n\n\n<li>Threat modeling<\/li>\n\n\n\n<li>Vulnerability analysis<\/li>\n\n\n\n<li>Exploitation<\/li>\n\n\n\n<li>Post-exploitation<\/li>\n\n\n\n<li>Reporting<\/li>\n<\/ol>\n\n\n\n<p><strong>ISSAF<\/strong><\/p>\n\n\n\n<p>L\u2019Information Systems Security Assessment Framework (ISSAF) \u00e8 un\u2019altra metodologia di test di penetrazione simile alle altre presenti in questo elenco con alcune fasi aggiuntive. ISSAF copre le seguenti fasi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Information gathering<\/li>\n\n\n\n<li>Network mapping<\/li>\n\n\n\n<li>Vulnerability identification<\/li>\n\n\n\n<li>Penetration<\/li>\n\n\n\n<li>Gaining access and privilege escalation<\/li>\n\n\n\n<li>Enumerating further<\/li>\n\n\n\n<li>Compromising remote users\/sites<\/li>\n\n\n\n<li>Maintaining access<\/li>\n\n\n\n<li>Covering the tracks<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Confronta le metodologie di Pentesting<\/strong><\/p>\n\n\n\n<p>Ci sono cos\u00ec tante parti in movimento in un test di penetrazione che \u00e8 facile perdere traccia di ci\u00f2 che \u00e8 stato trattato e di ci\u00f2 che non lo \u00e8 stato.<\/p>\n\n\n\n<p>Nessuna singola metodologia \u00e8 adatta ai requisiti di ogni incarico; tuttavia \u00e8 importante fondare la propria attivit\u00e0 su standard e metodologie sviluppate da organizzazioni di sicurezza ed esperti riconosciuti.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Costruisci il tuo laboratorio<\/strong><\/p>\n\n\n\n<p>Le abilit\u00e0 si acquisiscono con la pratica, ma come puoi esercitarti se non hai qualcosa su cui farlo?<\/p>\n\n\n\n<p>Quando si tratta di test di penetrazione, un ambiente di laboratorio adeguato \u00e8 molto importante. L\u2019aspetto di questo ambiente dipende dal tipo di test che stai eseguendo. Anche i tipi di strumenti utilizzati in un laboratorio variano in base a diversi fattori. Qui tocchiamo solo alcuni dei tipi di strumenti utilizzati nei penetration test. Che tu stia eseguendo test di penetrazione sulla rete di un cliente, sulla tua rete o su un dispositivo specifico, hai sempre bisogno di un qualche tipo di ambiente di laboratorio da utilizzare per i test. Ad esempio, quando si testa la rete di un cliente, molto probabilmente si eseguir\u00e0 la maggior parte dei test sugli ambienti di produzione o di staging del cliente perch\u00e9 questi sono gli ambienti di cui un cliente si preoccupa in genere di proteggere adeguatamente. Poich\u00e9 questo potrebbe essere un ambiente di rete critico, devi essere sicuro che i tuoi strumenti siano collaudati e veri \u2013 ed \u00e8 qui che entra in gioco il tuo ambiente di test di laboratorio. Dovresti sempre testare i tuoi strumenti e le tue tecniche nel tuo ambiente di laboratorio prima di eseguirli contro un cliente rete. Non vi \u00e8 alcuna garanzia che gli strumenti utilizzati non rompano qualcosa. In effetti, molti strumenti sono progettati per \u201c<em>rompere le cose<\/em>\u201d. \u00c8 quindi necessario sapere cosa aspettarsi prima di utilizzare gli strumenti su una rete di clienti. Quando si testa un dispositivo o una soluzione specifica che si trova solo in un ambiente di laboratorio, c\u2019\u00e8 meno preoccupazione di danneggiare qualcosa. Con questo tipo di test, in genere si utilizza una rete chiusa che pu\u00f2 essere facilmente ripristinata se necessario.<\/p>\n\n\n\n<p>Esistono molte distribuzioni Linux diverse che includono strumenti e risorse per test di penetrazione, come Kali Linux (kali.org), Parrot OS (parrotsec.org) e BlackArch (blackarch.org). Queste distribuzioni Linux forniscono un ambiente molto conveniente per iniziare a conoscere i diversi strumenti e metodologie di sicurezza utilizzati nei pen test. Puoi implementare un laboratorio di test di penetrazione basico utilizzando solo un paio di VM in ambienti di virtualizzazione come Virtual Box (virtualbox.org) o VMware Workstation\/Fusion (vmware.com).<\/p>\n\n\n\n<p>La Figura 1-1 mostra due VM (una con sistema operativo Parrot e un\u2019altra con un sistema Microsoft Windows vulnerabile). Le due VM sono connesse tramite una configurazione di switch virtuale e una \u201crete solo host\u201d. Questo tipo di configurazione consente di eseguire diversi attacchi e inviare pacchetti IP tra VM senza che tali pacchetti lascino il sistema fisico (bare metal).<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/yu1sUdKTdPJNJ0-esqfrJbHWzizsa9QCsR-9FWk1bI5RjPku2NiiDA2O4lBbsZqK5oT82b-DDcwrduIaMjGzrIrtVs0sr9gfiIVzCqCk8_7RcH8DdMGipE5PPgfod8j2gxG4UzFTXzJqPYz0l_0y2Bk\" alt=\"\" style=\"width:630px;height:349px\" width=\"630\" height=\"349\"\/><\/figure>\n\n\n\n<p><em>Figura 1-1 \u2013 Ambiente di laboratorio di Penetration Testing di base con due VM.<\/em><\/p>\n\n\n\n<p><strong>Suggerimento:<\/strong> \u00e8 possibile avviare un laboratorio di apprendimento di base con una sola VM. Ad esempio, Omar Santos ha creato un ambiente di apprendimento gratuito chiamato WebSploit Labs che puoi distribuire su una singola VM. Include numerose risorse, strumenti di sicurezza informatica e diverse applicazioni intenzionalmente vulnerabili in esecuzione nei contenitori Docker. WebSploit Labs include pi\u00f9 di 450 esercizi diversi che puoi completare per mettere in pratica le tue abilit\u00e0 in un ambiente sicuro. \u00c8 possibile ottenere ulteriori informazioni su WebSploit Labs su websploit.org. La VM scaricata nel lab pi\u00f9 avanti in questo argomento \u00e8 una versione personalizzata dell\u2019ambiente lab di Omar Santos.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/I89QJswqXt8b8jj3NGco73CtfBEmbDL8qUaWDIoguDn8e9riO5GTBXrrnlQSthWpIPKGbM4m4mzFTTpXZqqa7G8eQPYprlTaQDbWxI5pye2ess0gxLT6kQFjbLAJEcAG5Qt5b5cTCqsoHVXxSLXOTxY\" alt=\"\" style=\"width:630px;height:533px\" width=\"630\" height=\"533\"\/><\/figure>\n\n\n\n<p><em>La Figura 1-2 mostra una topologia pi\u00f9 elaborata per un ambiente di laboratorio di test di penetrazione.<\/em><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Requisiti e linee guida per i laboratori di penetration testing<\/strong><\/p>\n\n\n\n<p>Ora analizziamo un po\u2019 pi\u00f9 a fondo come potrebbe apparire un ambiente di laboratorio per test di penetrazione e alcune best practice per la creazione di un laboratorio di questo tipo. La tabella seguente contiene un elenco di requisiti e linee guida per un tipico ambiente di test di penetrazione.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Requisiti o linee guida<\/strong><\/td><td><strong>Descrizione<\/strong><\/td><\/tr><tr><td><strong>Network chiuso<\/strong><\/td><td>\u00c8 necessario garantire un accesso controllato da e verso l\u2019ambiente di laboratorio e un accesso limitato a Internet<\/td><\/tr><tr><td><strong>Ambiente informatico virtualizzato<\/strong><\/td><td>Ci\u00f2 consente una facile distribuzione e ripristino dei dispositivi sottoposti a test<\/td><\/tr><tr><td><strong>Ambiente realistico<\/strong><\/td><td>Se stai allestendo un ambiente di test, dovrebbe corrispondere il pi\u00f9 fedelmente possibile all\u2019ambiente reale<\/td><\/tr><tr><td><strong>Monitoraggio della \u201csalute\u201d<\/strong><\/td><td>Quando qualcosa si blocca, devi essere in grado di determinare il motivo per cui \u00e8 successo<\/td><\/tr><tr><td><strong>Risorse hardware sufficienti<\/strong><\/td><td>\u00c8 necessario essere sicuri che la mancanza di risorse non sia la causa di risultati falsi<\/td><\/tr><tr><td><strong>Sistemi operativi multipli<\/strong><\/td><td>Molte volte vorrai testare o convalidare un risultato da un altro sistema. \u00c8 sempre bene eseguire test su diversi sistemi operativi per vedere se i risultati differiscono<\/td><\/tr><tr><td><strong>Strumenti duplicati<\/strong><\/td><td>Un ottimo modo per convalidare un risultato \u00e8 eseguire lo stesso test con uno strumento diverso per vedere se i risultati sono gli stessi<\/td><\/tr><tr><td><strong>Obiettivi pratici<\/strong><\/td><td>Devi esercitarti a usare i tuoi strumenti. Per fare ci\u00f2, \u00e8 necessario esercitarsi su obiettivi noti per essere vulnerabili<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Elenco di requisiti e linee guida per un tipico ambiente di test di penetrazione<\/figcaption><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Quali strumenti dovresti utilizzare nel tuo laboratorio?<\/strong><\/p>\n\n\n\n<p>Ci dedicheremo appieno agli strumenti di penetration testing in seguito. Pertanto, questa sezione \u201c<em>graffia<\/em>\u201d solo la superficie. Fondamentalmente, gli strumenti utilizzati nei test di penetrazione dipendono dal tipo di test che stai eseguendo. Se stai eseguendo test nell\u2019ambiente di un cliente, probabilmente valuterai varie superfici di attacco, come ad esempio l\u2019infrastruttura di rete, l\u2019infrastruttura wireless, i server Web, i server di database, i sistemi Windows o i sistemi Linux.<\/p>\n\n\n\n<p>Gli strumenti basati sull\u2019infrastruttura di rete potrebbero includere strumenti per lo sniffing o la manipolazione del traffico, inondando i dispositivi di rete e aggirando firewall e IPS. A scopo di test wireless, potresti utilizzare strumenti per violare la crittografia wireless, rimuovere l\u2019autorizzazione dei dispositivi di rete ed eseguire attacchi sul percorso (chiamati anche attacchi man-in-the-middle).<\/p>\n\n\n\n<p>Quando si testano applicazioni e servizi web, \u00e8 possibile trovare una serie di strumenti automatizzati creati appositamente per la scansione e il rilevamento delle vulnerabilit\u00e0 web, nonch\u00e9 strumenti di test manuali come i proxy di intercettazione. Alcuni di questi stessi strumenti possono essere utilizzati per verificare le vulnerabilit\u00e0 del database (come le vulnerabilit\u00e0 SQL injection).<\/p>\n\n\n\n<p>Per testare le piattaforme server e client in un ambiente, \u00e8 possibile utilizzare una serie di strumenti automatizzati di <strong><em>scansione delle vulnerabilit\u00e0<\/em><\/strong> per identificare elementi come software obsoleto e configurazioni errate. Con l\u2019intenso sviluppo rivolto alle piattaforme mobili, c\u2019\u00e8 una crescente necessit\u00e0 di testare queste applicazioni e i server che le supportano. Per tali test, \u00e8 necessario un altro set di strumenti specifici per testare le applicazioni mobili e le API back-end con cui in genere comunicano. E non bisogna dimenticare gli strumenti di fuzzing, che vengono normalmente utilizzati per testare la robustezza dei protocolli.<\/p>\n\n\n\n<p><strong>Suggerimento:<\/strong> Omar Santos ha creato un repository GitHub che include numerose risorse sulla sicurezza informatica. \u00c8 presente una sezione dedicata a fornire indicazioni su come costruire diversi laboratori di test di penetrazione e dove trovare applicazioni, server e strumenti vulnerabili per esercitare le proprie capacit\u00e0 in un ambiente sicuro. \u00c8 possibile accedere al repository su <a href=\"https:\/\/h4cker.org\/github\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/h4cker.org\/github<\/a>. Puoi accedere direttamente alla sezione \u201cBuilding Your Own Cybersecurity Lab and Cyber \u200b\u200bRange\u201d su <a href=\"https:\/\/github.com\/The-Art-of-Hacking\/h4cker\/tree\/master\/build_your_own_lab\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/The-Art-of-Hacking\/h4cker\/tree\/master\/build_your_own_lab<\/a>.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Cosa succede se rompi qualcosa?<\/strong><\/p>\n\n\n\n<p>Essere in grado di ripristinare l\u2019ambiente di laboratorio \u00e8 importante per molte ragioni. Come discusso in precedenza, quando si eseguono test di penetrazione, si rompono le cose; a volte quando rompi le cose, non si riprendono da sole. Ad esempio, quando stai testando applicazioni web, alcuni degli attacchi che invii inseriranno dati fasulli nei campi del modulo e tali dati probabilmente finiranno nel database, quindi il tuo database sar\u00e0 riempito con quei dati fasulli. Ovviamente, in un ambiente di produzione, questa non \u00e8 una buona cosa. I dati immessi possono anche essere di natura dannosa, come attacchi di scripting e injection. Ci\u00f2 pu\u00f2 causare anche il danneggiamento del database. Naturalmente, sai che questo sarebbe un problema in un ambiente di produzione. \u00c8 un problema anche in un ambiente di laboratorio se non si dispone di un modo semplice per il ripristino. Senza un metodo di ripristino rapido, probabilmente rimarresti bloccato nella ricostruzione del sistema sottoposto a test. Questo pu\u00f2 richiedere molto tempo e, se lo stai facendo per un cliente, pu\u00f2 influire sulla tua sequenza temporale complessiva.<\/p>\n\n\n\n<p>L\u2019utilizzo di un qualche tipo di ambiente virtuale \u00e8 l\u2019ideale in quanto offre funzionalit\u00e0 di snapshot e ripristino dello stato del sistema. A volte, per\u00f2, questo non \u00e8 possibile. Ad esempio, potresti testare un sistema che non pu\u00f2 essere virtualizzato. In tal caso, \u00e8 necessario disporre di un backup completo del sistema o dell\u2019ambiente. In questo modo, puoi tornare rapidamente indietro e testare se qualcosa si danneggia, perch\u00e9 molto probabilmente lo far\u00e0. Dopotutto, stai eseguendo test di penetrazione.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-medium-font-size\"><strong>Raccolta di informazioni e scansione delle vulnerabilit\u00e0<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Introduzione<\/strong><\/p>\n\n\n\n<p>Il primo passo che un autore di minacce compie quando pianifica un attacco \u00e8 raccogliere informazioni sull&#8217;obiettivo. Questo atto di raccolta di informazioni \u00e8 noto come ricognizione. Gli aggressori utilizzano strumenti di scansione ed enumerazione insieme alle informazioni pubbliche disponibili su Internet per creare un dossier su un obiettivo. Come puoi immaginare, come penetration tester, devi anche replicare questi metodi per determinare l\u2019esposizione delle reti e dei sistemi che stai cercando di difendere. Questo modulo inizia con una discussione su cosa sia la ricognizione in generale e sulla differenza tra metodi passivi e attivi. Imparerai brevemente alcuni degli strumenti e delle tecniche pi\u00f9 comuni utilizzati. Da l\u00ec, il modulo approfondisce il processo di scansione delle vulnerabilit\u00e0 e il funzionamento degli strumenti di scansione, incluso come analizzare i risultati dello scanner delle vulnerabilit\u00e0 per fornire risultati utili ed esplorare il processo di sfruttamento delle informazioni raccolte nella fase di sfruttamento. Il modulo si conclude con la trattazione di alcune delle sfide pi\u00f9 comuni da considerare quando si eseguono scansioni di vulnerabilit\u00e0.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Effettuare la Ricognizione Passiva<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Ricognizione<\/strong><\/p>\n\n\n\n<p>La ricognizione \u00e8 sempre il primo passo in un attacco informatico. Un aggressore deve prima raccogliere informazioni sul bersaglio per avere successo. In effetti, il termine ricognizione \u00e8 ampiamente utilizzato nel mondo militare per descrivere la raccolta di informazioni sul nemico, come informazioni sulla posizione, sulle capacit\u00e0 e sui movimenti del nemico. Questo tipo di informazioni \u00e8 necessario per eseguire con successo un attacco. La ricognizione in un impegno di test di penetrazione consiste tipicamente nella scansione e nell&#8217;enumerazione. Ma che aspetto ha la ricognizione dal punto di vista di un attaccante?<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Ricognizione Attiva vs. Ricognizione Passiva<\/strong><\/p>\n\n\n\n<p><strong><em>La ricognizione attiva<\/em><\/strong> \u00e8 un metodo di raccolta di informazioni in cui gli strumenti utilizzati inviano effettivamente sonde alla rete o ai sistemi target per ottenere risposte che vengono poi utilizzate per determinare la posizione della rete o del sistema. Queste sonde possono utilizzare vari protocolli e pi\u00f9 livelli di aggressivit\u00e0, in genere in base a cosa viene scansionato e quando. Ad esempio, potresti eseguire la scansione di un dispositivo come una stampante che non dispone di uno stack TCP\/IP o di un hardware di rete molto robusto. Inviando sonde attive, potresti mandare in crash un dispositivo del genere. La maggior parte dei dispositivi moderni non presenta questo problema; tuttavia, \u00e8 possibile, quindi quando si esegue la scansione attiva, \u00e8 necessario esserne consapevoli e regolare di conseguenza le impostazioni dello scanner.<\/p>\n\n\n\n<p><strong><em>La ricognizione passiva<\/em><\/strong> \u00e8 un metodo di raccolta di informazioni in cui gli strumenti non interagiscono direttamente con il dispositivo o la rete di destinazione. Esistono molteplici metodi di ricognizione passiva. Alcuni implicano l&#8217;utilizzo di database di terze parti per raccogliere informazioni. Altri utilizzano anche strumenti in modo tale da non essere rilevati dal bersaglio. Questi strumenti, in particolare, funzionano semplicemente ascoltando il traffico sulla rete e utilizzando l&#8217;intelligenza per dedurre informazioni sulla comunicazione dei dispositivi in \u200b\u200brete. Questo approccio \u00e8 molto meno invasivo su una rete ed \u00e8 altamente improbabile che questo tipo di ricognizione possa mandare in crash un sistema come una stampante. Dato che non produce traffico, \u00e8 improbabile che venga rilevato e non solleva alcun flag sulla rete che sta monitorando. Un altro scenario in cui uno scanner passivo potrebbe rivelarsi utile sarebbe quello per un penetration tester che deve eseguire analisi su una rete di produzione che non pu\u00f2 essere interrotta. La tecnica di ricognizione passiva che utilizzi dipende dal tipo di informazioni che desideri ottenere. Uno degli aspetti pi\u00f9 importanti dell&#8217;apprendimento dei penetration test \u00e8 lo sviluppo di una buona metodologia che ti aiuter\u00e0 a selezionare gli strumenti e le tecnologie appropriati da utilizzare durante il coinvolgimento.<\/p>\n\n\n\n<p>Gli strumenti e i metodi comuni di ricognizione attiva includono quanto segue:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Host enumeration<\/li>\n\n\n\n<li>Network enumeration<\/li>\n\n\n\n<li>User enumeration<\/li>\n\n\n\n<li>Group enumeration<\/li>\n\n\n\n<li>Network share enumeration<\/li>\n\n\n\n<li>Web page enumeration<\/li>\n\n\n\n<li>Application enumeration<\/li>\n\n\n\n<li>Service enumeration<\/li>\n\n\n\n<li>Packet crafting<\/li>\n<\/ul>\n\n\n\n<p>Gli strumenti e i metodi comuni di ricognizione passiva includono quanto segue:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Domain enumeration<\/li>\n\n\n\n<li>Packet inspection<\/li>\n\n\n\n<li>Open-source intelligence (OSINT)<\/li>\n\n\n\n<li>Recon-ng<\/li>\n\n\n\n<li>Eavesdropping<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Appunti raccolti durante il relativo corso seguito su Skills for All by Cisco, alla cui piattaforma rimando per il materiale necessario. Comprendere l\u2019hacking etico e il penetration testing Introduzione Il termine hacker etico descrive una persona che agisce come aggressore e valuta il livello di sicurezza di una rete di computer allo scopo di ridurre &hellip; <a href=\"https:\/\/www.fabriziogiancola.eu\/index.php\/2023\/09\/02\/ethical-hacker\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Ethical Hacker&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":5,"footnotes":""},"categories":[15],"tags":[],"class_list":["post-1171","post","type-post","status-publish","format-standard","hentry","category-ethical-hacking"],"_links":{"self":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/1171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1171"}],"version-history":[{"count":8,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/1171\/revisions"}],"predecessor-version":[{"id":1192,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/1171\/revisions\/1192"}],"wp:attachment":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}