Tutorial sui Penetration Test: cos'è PenTest?
Test di penetrazione
Test di penetrazione o Pen Testing è un tipo di Test di sicurezza utilizzato per coprire vulnerabilità, minacce e rischi che un utente malintenzionato potrebbe sfruttare in applicazioni software, reti o applicazioni web. Lo scopo del test di penetrazione è identificare e testare tutte le possibili vulnerabilità della sicurezza presenti nell'applicazione software. Il test di penetrazione è anche chiamato Pen Test.
La vulnerabilità è il rischio che un utente malintenzionato possa interrompere o ottenere l'accesso autorizzato al sistema o ai dati in esso contenuti. Le vulnerabilità vengono solitamente introdotte per caso durante la fase di sviluppo e implementazione del software. Le vulnerabilità comuni includono errori di progettazione, errori di configurazione, bug del software, ecc. L'analisi di penetrazione dipende da due meccanismi, vale a dire la valutazione delle vulnerabilità e il test di penetrazione (VAPT).
Perché i test di penetrazione?
La penetrazione è essenziale in un’impresa perché –
- Settori finanziari come banche, investimenti bancari e borse valori vogliono che i loro dati siano protetti e i test di penetrazione sono essenziali per garantire la sicurezza
- Nel caso in cui il sistema software sia già stato violato e l'organizzazione desideri determinare se sono ancora presenti minacce nel sistema per evitare futuri attacchi.
- Il Penetration Testing Proattivo è la migliore protezione contro gli hacker
Tipi di test di penetrazione
Il tipo di penetration test selezionato dipende solitamente dall'ambito e dal fatto che l'organizzazione desideri simulare un attacco da parte di un dipendente, amministratore di rete (fonti interne) o fonti esterne. Esistono tre tipi di test di penetrazione e lo sono
- Nero Box Collaudo
- Bianco Box Test di penetrazione
- Grigio Box Test di penetrazione
Nel test di penetrazione black-box, un tester non ha alcuna conoscenza dei sistemi da testare. È responsabile della raccolta di informazioni sulla rete o sul sistema target.
In un penetration test white-box, al tester vengono solitamente fornite informazioni complete sulla rete o sui sistemi da testare, tra cui lo schema degli indirizzi IP, il codice sorgente, i dettagli del sistema operativo, ecc. Ciò può essere considerato come una simulazione di un attacco da parte di fonti interne (dipendenti di un'organizzazione).
In un test di penetrazione di grey box, al tester viene fornita una conoscenza parziale del sistema. Può essere considerato come un attacco da parte di un hacker esterno che ha ottenuto un accesso illegittimo ai documenti dell'infrastruttura di rete di un'organizzazione.
Come eseguire il Penetration Test
Di seguito sono riportate le attività che devono essere eseguite per eseguire il Penetration Test:
Passaggio 1) Fase di pianificazione
- L'ambito e la strategia dell'incarico vengono determinati
- Le politiche di sicurezza esistenti e gli standard vengono utilizzati per definire l'ambito
Passaggio 2) Fase di scoperta
- Raccogli quante più informazioni possibili sul sistema, inclusi dati nel sistema, nomi utente e persino password. Questo è anche chiamato come IMPRONTA DIGITALE
- Scansione e sonda nelle porte
- Verificare le vulnerabilità del sistema
Passaggio 3) Fase di attacco
- Trova exploit per varie vulnerabilità Per sfruttare il sistema sono necessari i privilegi di sicurezza necessari
Passaggio 4) Fase di reporting
- Una relazione deve contenere risultati dettagliati
- Rischi di vulnerabilità riscontrati e loro impatto sul business
- Raccomandazioni e soluzioni, se presenti
Il compito principale nei penetration test è raccogliere informazioni sul sistema. Esistono due modi per raccogliere informazioni:
- Modello 'uno a uno' o 'uno a molti' rispetto all'host: un tester esegue le tecniche in modo lineare contro un host di destinazione o un raggruppamento logico di host di destinazione (ad esempio una sottorete).
- Modello "molti a uno" o "molti a molti": il tester utilizza più host per eseguire tecniche di raccolta di informazioni in modo casuale, con velocità limitata e non lineare.
Esempi di strumenti per test di penetrazione
Esiste un'ampia varietà di strumenti utilizzati nei test di penetrazione e nel importanti strumenti Pentest siamo:
1) Teramind
Teramind offre una suite completa per la prevenzione delle minacce interne e il monitoraggio dei dipendenti. Migliora la sicurezza attraverso l'analisi del comportamento e la prevenzione della perdita di dati, garantendo la conformità e ottimizzando i processi aziendali. La sua piattaforma personalizzabile si adatta a varie esigenze organizzative, fornendo informazioni utili incentrate sull'aumento della produttività e sulla salvaguardia dell'integrità dei dati.
Caratteristiche:
- Prevenzione delle minacce interne: Rileva e previene le azioni dell'utente che potrebbero indicare minacce interne ai dati.
- Ottimizzazione dei processi aziendali: Utilizza analisi comportamentali basate sui dati per ridefinire i processi operativi.
- Produttività della forza lavoro: Monitora i comportamenti di produttività, sicurezza e conformità della forza lavoro.
- Gestione della conformità: Aiuta a gestire la conformità con un'unica soluzione scalabile adatta a piccole imprese, imprese ed enti governativi.
- Analisi forense degli incidenti: Fornisce prove per arricchire la risposta agli incidenti, le indagini e l'intelligence sulle minacce.
- Prevenzione della perdita dei dati: Monitora e protegge dalla potenziale perdita di dati sensibili.
- Monitoraggio dei dipendenti: Offre funzionalità per monitorare le prestazioni e le attività dei dipendenti.
- Analisi comportamentale: Analizza i dati granulari sul comportamento delle app dei clienti per ottenere approfondimenti.
- Impostazioni di monitoraggio personalizzabili: Consente la personalizzazione delle impostazioni di monitoraggio per adattarsi a casi d'uso specifici o per implementare regole predefinite.
- Approfondimenti sulla dashboard: Fornisce visibilità e informazioni utili sulle attività della forza lavoro attraverso un dashboard completo.
- nmap– Questo strumento viene utilizzato per eseguire la scansione delle porte, l'identificazione del sistema operativo, il tracciamento del percorso e la scansione delle vulnerabilità.
- Nessus– Questo è il tradizionale strumento per le vulnerabilità basato sulla rete.
- Pass-The-Hash: questo strumento viene utilizzato principalmente per il cracking delle password.
Ruolo e responsabilità dei Penetration Tester
Il lavoro dei Penetration Tester è quello di:
- I tester dovrebbero raccogliere le informazioni richieste dall'Organizzazione per consentire i test di penetrazione
- Trova difetti che potrebbero consentire agli hacker di attaccare una macchina bersaglio
- I Pen Tester dovrebbero pensare e agire come veri hacker, anche se eticamente.
- Il lavoro svolto dai tester di penetrazione dovrebbe essere riproducibile in modo che sia facile per gli sviluppatori risolverlo
- La data di inizio e la data di fine dell'esecuzione del test devono essere definite in anticipo.
- Un tester dovrebbe essere responsabile di qualsiasi perdita nel sistema o di informazioni durante il Software Testing
- Un tester dovrebbe mantenere riservati i dati e le informazioni
Penetrazione manuale e test di penetrazione automatizzati
| Test di penetrazione manuale | Test di penetrazione automatizzato |
|---|---|
| Test manuale richiede professionisti esperti per eseguire i test | Gli strumenti di test automatizzati forniscono report chiari con professionisti meno esperti |
| Il test manuale richiede Excel e altri strumenti per monitorarlo | Test di automazione dispone di strumenti centralizzati e standard |
| Nel test manuale, i risultati dei campioni variano da test a test | Nel caso dei test automatizzati, i risultati non variano da test a test |
| La pulizia della memoria dovrebbe essere ricordata dagli utenti | I test automatizzati avranno pulizie complete. |
Svantaggi del Penetration Test
Il Penetration Test non riesce a trovare tutte le vulnerabilità nel sistema. Esistono limitazioni di tempo, budget, ambito e competenze dei Penetration Tester
Ecco gli effetti collaterali che si possono verificare quando si esegue un test di penetrazione:
- Perdita e corruzione dei dati
- Down Time
- Aumentare i costi
Conclusione
I tester dovrebbero comportarsi come un vero hacker e testare l'applicazione o il sistema e verificare se un codice è scritto in modo sicuro. Un test di penetrazione sarà efficace se esiste una politica di sicurezza ben implementata. La politica e la metodologia dei test di penetrazione dovrebbero essere un luogo per rendere i test di penetrazione più efficaci. Questa è una guida completa per principianti sui Penetration Testing.




