Esercitazione sul test di penetrazione: che cos'è PenTest?

Sommario:

Anonim

Test di penetrazione

Penetration Testing o Pen Testing è un tipo di test di sicurezza utilizzato per scoprire 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à di 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 accidentalmente 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 della penetrazione dipende da due meccanismi, vale a dire Vulnerability Assessment e Penetration Testing (VAPT).

Perché il Penetration Test?

La penetrazione è essenziale in un'impresa perché:

  • Settori finanziari come banche, investment banking e borse di scambio 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 nel sistema sono ancora presenti minacce 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 di solito dipende 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

  • Test della scatola nera
  • Test di penetrazione della scatola bianca
  • Penetrazione della scatola grigia

Nei test di penetrazione della scatola nera, un tester non ha alcuna conoscenza dei sistemi da testare. È responsabile della raccolta delle informazioni sulla rete o sul sistema di destinazione.

In un test di penetrazione white-box, al tester vengono solitamente fornite informazioni complete sulla rete o sui sistemi da testare, inclusi lo schema dell'indirizzo IP, il codice sorgente, i dettagli del sistema operativo, ecc. Fonti interne (dipendenti di un'organizzazione).

In un test di penetrazione della scatola grigia, un tester viene fornito con una conoscenza parziale del sistema. Può essere considerato 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à da eseguire per eseguire il Penetration Test:

Step 1) Fase di pianificazione

  1. L'ambito e la strategia dell'incarico sono determinati
  2. Le politiche di sicurezza esistenti, gli standard vengono utilizzati per definire l'ambito

Passaggio 2) Fase di scoperta

  1. Raccogli quante più informazioni possibili sul sistema, inclusi i dati nel sistema, i nomi utente e persino le password. Questo è anche chiamato FINGERPRINTING
  2. Scansione e sonda nelle porte
  3. Verifica la presenza di vulnerabilità del sistema

Fase 3) Fase di attacco

  1. Trovare gli exploit per varie vulnerabilità Sono necessari i privilegi di sicurezza necessari per sfruttare il sistema

Passaggio 4) Fase di segnalazione

  1. Un rapporto deve contenere risultati dettagliati
  2. Rischi delle vulnerabilità rilevate e loro impatto sul business
  3. Raccomandazioni e soluzioni, se presenti

Il compito principale nei test di penetrazione è raccogliere informazioni di 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 su un host di destinazione o su 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 delle informazioni in modo casuale, con velocità limitata e non lineare.

Esempi di strumenti per il test di penetrazione

Esiste un'ampia varietà di strumenti utilizzati nei test di penetrazione e gli strumenti importanti sono:

  1. NMap: questo strumento viene utilizzato per eseguire la scansione delle porte, l'identificazione del sistema operativo, la traccia del percorso e la scansione delle vulnerabilità.
  2. Nessus: questo è il tradizionale strumento per le vulnerabilità basato sulla rete.
  3. Pass-The-Hash: questo strumento viene utilizzato principalmente per il cracking delle password.

Ruolo e responsabilità dei Penetration Testers:

Il compito dei Penetration Testers è:

  • I tester dovrebbero raccogliere le informazioni richieste dall'organizzazione per consentire i test di penetrazione
  • Trova i difetti che potrebbero consentire agli hacker di attaccare una macchina bersaglio
  • I Pen Testers dovrebbero pensare e agire come veri hacker, anche se eticamente.
  • Il lavoro svolto dai Penetration tester 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 per qualsiasi perdita nel sistema o nelle informazioni durante il test del software
  • Un tester dovrebbe mantenere riservati dati e informazioni

Penetrazione manuale vs. test di penetrazione automatizzato:

Test di penetrazione manuale Penetration test automatizzato
Il 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 tenerne traccia Automation Testing dispone di strumenti centralizzati e standard
Nel test manuale, i risultati dei campioni variano da test a test Nel caso dei test automatici, i risultati non variano da test a test
La pulizia della memoria dovrebbe essere ricordata dagli utenti Il test automatizzato avrà pulizie complete.

Svantaggi del Penetration Test

Il Penetration Testing non riesce a trovare tutte le vulnerabilità nel sistema. Ci sono limitazioni di tempo, budget, scopo, abilità dei Penetration Testers

Di seguito saranno riportati gli effetti collaterali durante i test di penetrazione:

  • Perdita e danneggiamento dei dati
  • Tempo di inattività
  • Aumenta i costi

Conclusione:

I tester dovrebbero agire come un vero hacker e testare l'applicazione o il sistema e devono 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 per i Penetration Test.

Controlla il nostro progetto di Penetration Testing in tempo reale