Penetration Test

Penetration test: di cosa si tratta e che obiettivo ha?

Penetration Test e Vulnerability Assessment

Troppo di frequente i termini Vulnerability Assessment e Penetration Test vengono usati (erroneamente) in modo intercambiabile. Esistono grandi differenze tra i due termini ed i relativi atti pratici. Quando parliamo di Vulnerability Assessment dovremmo intendere un’analisi di sicurezza che ha l’obiettivo di identificare tutti le vulnerabilità potenziali dei sistemi e delle applicazioni. D’altro canto, per Penetration Test, si intende un attacco autorizzato (simulato) su un sistema per testare la sicurezza dello stesso.

Check your website
START YOUR FREE TRIAL
 

Penetration testing: introduzione

Nel mondo odierno, dove a farla da padrone sono le continue vulnerabilità identificate e le numerose storie di Data Breach, è facile poter dire che la Sicurezza Informatica sia di fondamentale importanza.

Non importa quanto il team IT lavori duro o si impegni alacremente per evitare attacchi, gli hacker e i CyberCriminali saranno sempre un passo avanti. Tutto questo circolo vizioso si può semplicemente ricondurre alla famosissima metafora del gatto e del topo.

Tuttavia, non c’è bisogno di disperarsi. Un’azienda può sempre condurre attività mirate per individuare i propri punti deboli prima che lo faccia una terza parte malintenzionata.

Proprio a questo proposito abbiamo scritto questo articolo: per illustrare nel dettaglio le attività di Penetration Testing o “Pentesting” per abbreviare.

L’articolo si propone di andare ad analizzare:

  • Il concetto di Penetration Test, dandone una definizione.
  • Lo scopo del Penetration Test;
  • Le varie metodologie relative al Penetration Testing;
  • I team di Penetration Tester;
  • Le tipologie di Penetration Testing;
  • Le fasi di un Penetration Test, come si svolge?

Penetration Test: che cos’è?

In parole povere, un Penetration Test fa un “esame” dei punti deboli relativi ad una infrastruttura IT aziendale e, dopo averli scoperti, prova ad exploitarli in maniera sicura e controllata. Le vulnerabilità che sono oggetto d’esame da parte delle attività di Penetration Testing possono essere presenti nel software stesso in questi punti d’accesso:

  • Flaws non intenzionali nel design del codice del software;
  • Utilizzando il software in un modo per cui non è stato progettato;
  • La non corretta implementazione della gestione della configurazione del software;
  • Backdoor (porte sul retro) nel sistema operativo.

Le attività di Penetration Testing possono essere condotte sia attraverso processi automatici che manuali. Solitamente, il target di questa attività è focalizzato sui seguenti endpoint:

  • Network endpoint;
  • Dispositivi Mobile e Wireless;
  • Network Security Device;
  • Server;
  • Altre aree esposte come il codice che sta dietro alle applicazioni.
Check your website
START YOUR FREE TRIAL

Penetration Test: lo scopo

Lo scopo di un Penetration Test, tuttavia, è quello di andare il più a fondo possibile nell’infrastruttura IT aziendale per arrivare agli asset elettronici di una azienda. L’obiettivo non è quello di colpire duramente il bersaglio al primo tentativo, ma è quelli di colpire anche più duramente nei tentativi seguenti.

Prendendo questo come punto di partenza, possiamo stabilire che l’obiettivo principale di un penetration test sia quello di identificare chiaramente le vulnerabilità di sicurezza. Oltre a quanto appena detto, c’è una serie di altri obiettivi che il penetration test può raggiungere:

  • Verificare la compliance delle policy di sicurezza;
  • Testare la consapevolezza dello staff in materia di sicurezza;
  • Controllare se e come un’organizzazione può affrontare un security breach.

Penetration test: le metodologie

Per quanto concerne il penetration test, ci sono differenti modi e metodologie con cui può essere condotto. Nella lista seguente vedremo quali sono questi metodologie:

Black Box / White Box / Gray Box Testing

Come si può notare dal titolo del paragrafo, per far sì che vengano “portate alla luce” tutte le vulnerabilità relative alle Web Application, ci sono tre diverse tipologie di Pen testing activities. Ora analizzeremo nel dettaglio queste tipologie:

  • Black Box Testing;
  • White Box Testing;
  • Gray Box Testing.

Black Box Testing

Stando alla pratica comune, un attaccante non sarà a conoscenza di tutti gli ins e outs dell’infrastruttura IT aziendale. Proprio per questo motivo, un Cyber attacco sarà probabilmente un attacco all-out brute force scagliato contro l’infrastruttura IT. Questa tipologia di attacco viene eseguita nella speranza di trovare prima o poi, eventualmente, un punto debole nell’infrastruttura stessa su cui scagliarsi.

Dopo aver fatto questa premessa, possiamo affermare che in questa particolare tipologia di Penetration Test, il Pen Tester non avrà a disposizione alcuna informazione circa il funzionamento della Web Application e circa il suo codice sorgente. Di conseguenza, il Black Box Test solitamente necessita di molto tempo e colui che effettua il test si serve di strumenti prevalentemente automatizzati per scoprire vulnerabilità e punti deboli. Questa metodologia di Penetration Test viene anche detta approccio “trial and error

White Box Testing

Questa seconda metodologia di Penetration Test, altresì detta “Clear Box testing” prevede che il Pen Tester abbia a disposizione sia il codice sorgente che l’architettura del software della Web Application.

Proprio per questo motivo un test White Box richiede molto meno tempo di uno Black Box dove il tester non è a conoscenza di informazioni chiave.

Questo test, rispetto al precedente ha sia degli svantaggi che dei vantaggi. Partendo da questi ultimi, ovviamente può essere condotto un test molto più completo. Per quanto riguarda gli svantaggi invece:

  • Visto che il Pen Tester è a conoscenza di informazioni chiave, ci può mettere più tempo per stabilire su cosa focalizzarsi specificatamente a il sistema e alle componenti di analisi e di test.
  • In secondo luogo, è necessario dotarsi di una strumentazione più complessa per condurre un White Box test.

Gray Box Testing

Facendo uno sforzo di immaginazione, si può arrivare a dedurre che questa tipologia di Penetration testing è una combinazione delle due precedentemente viste. Questo vuol dire che il Penetration tester ha una conoscenza parziale del funzionamento della Web Application.

Per condurre questo test, possono essere usati sia strumenti automatizzati che manuali. Colui che esegue il test può usare questo approccio: focalizzarsi prevalentemente sulle aree di cui ha informazioni e, partendo da qui, exploitare le vulenrabilità e i punti deboli. Questo approccio, di fatto, offre maggiori probabilità di scovare falle di sicurezza.

Check your website
START YOUR FREE TRIAL

Penetration Test: i team di Penetration Tester

Quando abbiamo a che fare con i Penetration Test, di frequente, non abbiamo a che fare anche con un solo individuo. Solitamente sono impiegati ed impegnati molti Penetration Tester per condurre il singolo test. E’ possibile suddividere questi Tester in tre diverse squadre:

  • La Squadra Blu;
  • Squadra Rossa e
  • Squarda Viola.

Blue Team

Può essere considerata come “Squadra Blu” quella composta da personale interno all’organizzazione. Solitamente si tratta del dipartimento di sicurezza IT. L’obiettivo primario di questa squadra è impedire gli attacchi che porta la Squadra Rossa (che descriveremo in seguito).

Requisito fondamentale dei membri della Squadra Blu è quello di avere una predisposizione proattiva e votata alla protezione – in questo caso dell’azienda da parte di attaccanti esterni.

Read Team

Questa squadra è composta da coloro che attivamente svolgono le attività di Penetration Testing. Questi individui si devono immedesimare e mettere nei panni di un vero hacker e il loro scopo è quello di abbattere le difese aziendali sfruttando vulnerabilità e punti deboli.

Purple Team

Così come abbiamo visto in precedenza per il Gray Box Testing, la Squadra Viola rappresenta un miscuglio di Squadra Blu e Squadra Rossa.

Praticamente, la Squadra Viola utilizza le tattiche e i controlli di sicurezza della Squadra Blu unitamente alle vulnerabilità scoperte da quella Rossa.

Questa squadra può essere considerata come il ponte tra le due squadre viste in precedenza. Le aiuta ad integrarsi e per perseguire questo scopo deve rimanere neutrale e deve essere una entità a se’ stante.

Check your website
START YOUR FREE TRIAL

Penetration Test: le tipologie

Di seguito proponiamo una lista delle varie tipologie di Penetration Test che possono essere effettuate:

  • Web Application;
  • Wireless;
  • Servizi Network;
  • Social Engineering;
  • Client Side

Penetration Test: Web Application

Questa tipologia di Penetration Test può essere vista come un’analisi dettagliata. Si tratta, di fatto, di un test omnicomprensivo e molto dettagliato. Attraverso un test del genere viene analizzata un’ampia gamma di componenti, tra cui: le API, Silverlight, ActiveX, …

Questo permette di identificare ogni vulnerabilità legata alle applicazioni web, proprio questo elementa fa sì che un test del genere richieda molto tempo per essere condotto.

Penetration Test: Wireless

Dal titolo si può già dedurre a grandi linee di cosa stiamo parlando. Questa tipologia di Penetration Test prende in esame ogni dispositivo wireless all’interno dell’azienda. Questa può essere una lista molto lunga che spazia dai telefoni cellulari ai tablet. Ovviamente, non ci si ferma qui.

Solitamente un wireless test viene eseguito in loco, presso l’azienda per necessità di essere vicini ai segnali del network wireless.

Questo test identifica vulnerabilità relativamente a: access point wireless, credenziali di admin e protocolli wireless.

Penetration Test: Servizi Network 

Come per quanto riguarda le tipolologie viste in precedenza, anche in questo caso dal nome si può dedurre su cosa si focalizzerà l’attività di Penetration Testing. Si tratta di attività che vanno a scovare le i punti deboli e le vulnerabilità legate all’infrastruttura network del cliente/azienda. Questa tipologia di test, solitamente, è la più comune tra quelle viste in precedenza e anche tra quelle che vedremo in seguito.

Sarebbe opportuno condurre questo test sia da remoto che presso il cliente in modo da raccogliere il maggior numero di informazioni. Tuttavia, c’è una differenza sostanziale con il Test relativo alle Web Application: il grado di profondità, di fatto questo test non è così approfondito come quello visto in precedenza.

Ci sono vari elementi presi in considerazione da questo test:

  • Stateful analysis;
  • Testing della configurazione e del bypass del Firewall;
  • Evasione IPS;
  • Attacchi DNS che possono comprendere: ogni tipo di problematica legata ai router e zone transfer testing tra gli altri.

Ci sono, inoltre, vari software che vengono presi in considerazione dalle attività di Penetration Testing relative ai Servizi Network:

  • Server SQL;
  • File Transfer Protocol;
  • MySQL;
  • SMTP
Check your website
START YOUR FREE TRIAL

Penetration Test: Social Engineering

Come si possono ottenere informazioni aziendali riservate in modo alternativo? Semplice, cercando di ingannare un dipendente. A questo proposito, il Penetration Test di Ingegneria Sociale si può articolare in due diversi modi:

  • Test Fisico: significa utilizzare “mezzi fisici” per convincere il dipendente a rivelare le informazioni sensibili. Per esempio, si potrebbe impersonare un’altra persona oppure effettuare chiamate telefoniche con il preciso scopo di ottenere informazioni,…
  • Test Remoto: in questo caso, invece, vengono utilizzati “mezzi elettronici”. Solitamente, il mezzo più comunemente usato è quello delle mail, le campagne di phishing sono l’esempio lampante.

Penetration Test: Client Side

Questo Penetration Test è mirato ad identificare le vulnerabilità e le falle di sicurezza relative ai software presenti sul computer (workstation) del cliente. Anche solo fare degli esempi, in questo caso, risulta difficile perchè la gamma è veramente ampia. Per provare, si possono citare: i browser di navigazione, i player di contenuti multimediali o i software per la creazione dei contenuti,…

Penetration test: le fasi

Per offrire un quadro completo riguardo le attività di Penetration Testing, proponiamo di seguito una lista di 6 punti che analizzano nel dettaglio le varie fasi legate al Penetration Test.

 1. Penetration Test: Pre-Engagement Interactions

Questa prima fase è una fase preliminare durante cui vengono definiti alcuni punti, tra cui: la logistica (definita da coloro che effettuano il test), le implicazioni legali, le aspettative e, molto importante, ciò che il cliente si aspetta di ottenere in termini di obiettivi.

Come abbiamo visto in precedenza, ci sono molteplici tipologie di Penetration test, ed in questa fase è possibile stabilire ciò che precisamente il cliente vuole. La compagnia stessa, insieme a chi eseguirà il test, studierà la strategia migliore per eseguire il test stesso.

2. Penetration Test: Open Source Intelligence (OSINT) Gathering

Durante questa seconda fase, il Penetration Tester si occupa di raccogliere le informazioni relative al cliente. Anche in questo caso, abbiamo analizzato in precedenza come, al variare della tipologia di test che verrà eseguito, il PenTester sarà a conoscenza di più o meno informazioni.

Per adempiere a questa fase, ci sono varie tecniche utilizzate, tra cui:

  • Dumpster Diving;
  • Ricerche online;
  • Ingegneria Sociale;
  • Tailgating;

Per quanto riguarda le informazioni disponibili su open source, l’OSINT Framework può fornire delle indicazioni molto importanti.

3. Penetration Test: Threat Modeling & Identificazione delle vulnerabilità

Durante questa terza fase del processo, il PenTester esegue una mappatura dei vettori di attacchi e identifica i target su cui focalizzarsi. Ovviamente è propedeutica a questa fase quella che abbiamo visto precedentemente, la fase 2.

Per eseguire queste attività, solitamente, un PenTester si servirà di strumenti automatizzati di Vulnerability Scanning. Questo strumento può offrire uno spaccato dettagliato di tutte le vulnerabilità identificate nell’infrastruttura IT del cliente.

Le aree che, molto probabilmente verranno prese in consideranzione dal PenTester saranno:

  • Le minacce esterne ed interne;
  • Gli asset di valore (soprattutto i dati relativi a specifiche tecniche, dipendenti e clienti).

4. Penetration Test: Exploitation

Una volta mappate le aree di interesse, le vulnerabilità e i punti d’accesso, colui che esegue il test inizierà a testare gli exploits. Ovviamente, come precedentemente specificato, l’obiettivo ultimo è quello di vedere fino a che punto il network del cliente è vulnerabile. Fino a che punto in profondità può spingersi il PenTester?

La risposta a questa domanda, tuttavia, può essere stata anche stabilita nella fase 1. Infatti, il cliente ed il PenTester possono aver precedentemente accordato delle linee guida per l’attacco.

Queste tattiche standard di exploit, possono includere: attacchi al network o alle web apps, attacchi di ingegneria sociale, …

Check your website
START YOUR FREE TRIAL

5. Penetration Test: Post-Exploitation, Risk Analysis & Raccomandazioni

Al termine delle attività di exploit descritte al punto precedente, colui che ha eseguito il test deve essere in grado di documentare le azioni svolte. Non è insolito, infatti, che alcuni PenTester non riescono a quantificare gli impatti degli exploit effettuati o non riescono a fornire delle raccomandazioni utili da implementare per aumentare il livello di sicurezza.

Una volta che il Penetration Test è concluso, colui che l’ha eseguito deve poter ristabilire l’ordine precedente all’attacco e riconfigurare ogni accesso che è riuscito ad ottenere durante la fase precedente.

L’obiettivo ultimo, ovviamente, è quello di prevenire accessi non autorizzati in futuro e questo scopo deve essere raggiunto attraverso ogni mezzo necessario.

Ci sono delle azioni che vengono implementate solitamente per adempiere a questo scopo, tra le quali:

  • Riconfigurare le impostazioni originali;
  • Cancellare ogni account creato per connettersi al sistema compromesso;
  • Eliminare i rootkit installati;
  • Rimuovere ogni elemento dal sistema compromesso.

6. Penetration Test: Reportistica

Quest’ultima fase è di cruciale importanza, le raccomandazioni viste al punto 5 in questa fase vengono messe per iscritto in un report che dev’essere il più dettagliato possibile.

Tutte le indicazioni fornite dai PenTester vengono raccolte in una documentazione da implementare in modo da incrementare il proprio livello di sicurezza dei sistemi.

Penetration Test: una soluzione professionale

Per far fronte alle necessità aziendali di Penetration Testing dei sistemi, Swascan offre dei servizi di Security Management altamente professionali ed efficaci che permetteranno alle aziende di avere una visione completa della situazione dei propri sistemi.

Inoltre, come abbiamo visto nella fase 3, è necessario disporre di strumenti flessibili per l’identificazione delle vulnerabilità. A questo proposito, Swascan mette a disposizione una piattaforma dinamica e flessibile per le attività di:

Inizia il tuo Free Trial

 

I nostri servizi

Vulnerability
Assessment

Network
Scan

Code
Review

GDPR
Assessment

ON PREMISE

...