Penetration Testing di Python - Introduzione

Pen test o penetration test, può essere definito come un tentativo di valutare la sicurezza di un'infrastruttura IT simulando un attacco informatico contro il sistema informatico per sfruttare le vulnerabilità.

Qual è la differenza tra la scansione delle vulnerabilità e il test di penetrazione? La scansione delle vulnerabilità identifica semplicemente le vulnerabilità annotate e il test di penetrazione, come detto in precedenza, è un tentativo di sfruttare le vulnerabilità. Il test di penetrazione aiuta a determinare se nel sistema è possibile l'accesso non autorizzato o qualsiasi altra attività dannosa.

Possiamo eseguire test di penetrazione per server, applicazioni web, reti wireless, dispositivi mobili e qualsiasi altro potenziale punto di esposizione utilizzando tecnologie manuali o automatizzate. A causa dei test di penetrazione, se sfruttiamo qualsiasi tipo di vulnerabilità, la stessa deve essere inoltrata all'IT e al gestore del sistema di rete per raggiungere una conclusione strategica.

Significato del test di penetrazione (penna)

In questa sezione, impareremo il significato dei test di penetrazione. Considera i seguenti punti per conoscere il significato:

Sicurezza dell'organizzazione

Il significato dei test di penetrazione può essere compreso dal punto in cui fornisce garanzia all'organizzazione con una valutazione dettagliata della sicurezza di tale organizzazione.

Protezione della riservatezza dell'organizzazione

Con l'aiuto dei test di penetrazione, possiamo individuare potenziali minacce prima di affrontare qualsiasi danno e proteggere la riservatezza di tale organizzazione.

Attuazione delle politiche di sicurezza

I test di penetrazione possono garantirci l'implementazione della politica di sicurezza in un'organizzazione.

Gestire l'efficienza della rete

Con l'aiuto dei test di penetrazione, è possibile gestire l'efficienza della rete. Può controllare la sicurezza di dispositivi come firewall, router, ecc.

Garantire la sicurezza dell'organizzazione

Supponiamo di voler implementare qualsiasi modifica nella progettazione della rete o aggiornare il software, l'hardware, ecc., I test di penetrazione garantiscono la sicurezza dell'organizzazione contro qualsiasi tipo di vulnerabilità.

Chi è un buon tester della penna?

I penetration tester sono professionisti del software che aiutano le organizzazioni a rafforzare le proprie difese contro gli attacchi informatici identificando le vulnerabilità. Un penetration tester può utilizzare tecniche manuali o strumenti automatizzati per i test.

Consideriamo ora le seguenti importanti caratteristiche di un buon penetration tester:

Conoscenza di networking e sviluppo di applicazioni

Un buon pentester deve avere conoscenza dello sviluppo di applicazioni, dell'amministrazione del database e della rete perché ci si aspetta che si occupi delle impostazioni di configurazione e della codifica.

Eccezionale pensatore

Pentester deve essere un pensatore eccezionale e non esiterà ad applicare diversi strumenti e metodologie su un particolare compito per ottenere il miglior risultato.

Conoscenza della procedura

Un buon pentester deve avere le conoscenze per stabilire l'ambito di ogni penetration test come i suoi obiettivi, i limiti e la giustificazione delle procedure.

Up-to-date nella tecnologia

Un pentester deve essere aggiornato nelle sue capacità tecnologiche perché ci può essere qualsiasi cambiamento nella tecnologia in qualsiasi momento.

Abile nella redazione di rapporti

Dopo aver implementato con successo i test di penetrazione, un tester di penna deve menzionare tutti i risultati e i potenziali rischi nel rapporto finale. Quindi, lui / lei deve avere buone capacità di redazione di rapporti.

Appassionato di sicurezza informatica

Una persona appassionata può raggiungere il successo nella vita. Allo stesso modo, se una persona è appassionata di cyber security, può diventare un buon tester di penna.

Ambito del test di penetrazione

Ora impareremo l'ambito dei test di penetrazione. I seguenti due tipi di test possono definire l'ambito dei test di penetrazione:

Test non distruttivi (NDT)

I test non distruttivi non mettono il sistema in alcun tipo di rischio. NDT viene utilizzato per trovare i difetti, prima che diventino pericolosi, senza danneggiare il sistema, l'oggetto, ecc. Durante i test di penetrazione, NDT esegue le seguenti azioni:

Scansione di sistemi remoti

Questo test analizza e identifica il sistema remoto per possibili vulnerabilità.

Verifica

Dopo aver individuato le vulnerabilità, esegue anche la verifica di tutto ciò che viene trovato.

Utilizzo corretto del sistema remoto

In NDT, un tester a penna utilizzerebbe correttamente il sistema remoto. Questo aiuta a evitare interruzioni.

Note - D'altra parte, durante i test di penetrazione, l'NDT non esegue Denial-of-Service (DoS) attack.

Test distruttivi

I test distruttivi possono mettere a rischio il sistema. È più costoso e richiede più competenze rispetto ai test non distruttivi. Durante i test di penetrazione, i test distruttivi eseguono le seguenti azioni:

  • Denial-of-Service (DoS) attack - I test distruttivi eseguono attacchi DoS.

  • Buffer overflow attack - Esegue anche un attacco di overflow del buffer che può portare al crash del sistema.

Cosa installare per il test di penetrazione pratico?

Le tecniche e gli strumenti di test di penetrazione devono essere eseguiti solo in ambienti di cui si è proprietari o in cui si dispone dell'autorizzazione per eseguire questi strumenti. Non dobbiamo mai mettere in pratica queste tecniche in ambienti in cui non siamo autorizzati a farlo perché i test di penetrazione senza autorizzazione sono illegali.

  • Possiamo anche esercitarci nei test di penetrazione installando una suite di virtualizzazione VMware Player( www.vmware.com/products/player ) oOracle VirtualBox -

    www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html

  • Possiamo anche creare macchine virtuali (VM) dalla versione corrente di:

    • Kali Linux ( www.kali.org/downloads/ )

    • Samurai Web Testing Framework (http://samurai.inguardians.com/)

    • Metasploitable ( www.offensivesecurity.com/metasploit-unleashed/Requirements )