Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Le 15 Risposte che ti faranno Assumere ad un Colloquio Tecnico per un Ruolo da Pen Tester

Redazione RHC : 12 Settembre 2024 07:48

Diventare un white hat hacker è il sogno di molti. Ma come superare un colloquio e dimostrare la propria professionalità? Ecco a voi 15 domande che ti aiuteranno a prepararti efficacemente per superare con successo un colloquio di assunzione per una posizione di penetration tester.

1. Cos’è il test di penetrazione e in cosa differisce dalla scansione delle vulnerabilità?

Il penetration test (pentest) è un tentativo ordinato, mirato e autorizzato di attaccare un’infrastruttura IT per testarne la sicurezza. Si differenzia dalla scansione delle vulnerabilità in quanto un pentest implica il tentativo attivo di sfruttare le vulnerabilità rilevate, mentre la scansione delle vulnerabilità è il processo automatizzato di scoperta delle stesse, solitamente per scopi di conformità normativa. Il penetration test permette di concatenare delle vulnerabilità per creare un “vettore di attacco” capace di compromettere un sistema dal punto di vista della Riservatezza, Integrità e Disponibilità (RID).

2. Qual è la differenza tra analisi del rischio e test di penetrazione?

L’analisi del rischio è il processo di identificazione delle potenziali minacce e vulnerabilità che influiscono sulla sicurezza di un sistema. Il penetration test è un tentativo reale ma controllato di sfruttare le vulnerabilità per testare la funzionalità delle attuali misure di sicurezza.

3. Descrivi le fasi di un penetration test

Le fasi di un pentest possono variare a seconda dell’azienda o del professionista che le esegue, ma generalmente seguono la seguente sequenza:

Preparazione al test : durante questa fase vengono discussi i dettagli e le aspettative del test. Questo processo può sembrare noioso, ma è molto importante per stabilire obiettivi chiari e regole di impegno tra committente e penetration tester. Vengono discussi i tempi del test, gli obiettivi e ciò che è accettabile svolgere all’interno del test.

Raccolta delle informazioni : questo è il momento in cui inizia il test vero e proprio. Generalmente si eseguono attività di Open Source Intelligence (OSINT), esaminando gli host, la rete e i servizi disponibili per analizzarli in modo passivo. In questa fase si cercano reti IP insolite, segreti sparsi in qualche repository aperto come su GitHub, attività dei dipendenti sui social network che possono rivelare informazioni sulle tecnologie dell’azienda. Si può abbinare alla fase di information gathering anche attività di Cyber Threat Intelligence mirate ad analizzare tracce del sistema all’interno delle underground, come ad esempio log provenienti da infostealer. Alla fine si crea una una mappa visiva della rete e si definisce una “Metodologia di assessment” che riporta come avverrà il test e cosa ci si aspetta dal test stesso.

Valutazione delle vulnerabilità : dopo aver raccolto le informazioni, si iniziano a valutare se esistono vulnerabilità che possono essere sfruttate. Si cercano vulnerabilità note in base alle versioni del software e del servizio e si isolano le CVE (vulnerabilità ed esposizioni comuni) verificando la presenza di exploit pubblici. Questa attività può essere svolta con scanner automatizzati ma anche attraverso una ricognizione manuale. È importante pianificare attentamente gli attacchi per ridurre al minimo il rischio di disservizio dei sistemi.

Sfruttamento delle vulnerabilità : in questa fase, si inizia ad effettuare attacchi attivi sulle vulnerabilità identificate sfruttando gli exploit rilevati. Se è richiesto il test sia da rete esterna che da quella interna, generalmente si inizia ad hackerare il sistema esterno vulnerabile per comprendere se si riesce ad utilizzare tali falle per accedere all’infrastruttura interna dell’azienda. Si può lavorare anche all’interno della rete del cliente, accedendo da remoto tramite VPN o macchina virtuale fornita per il test.

Post-sfruttamento : una volta entrato nel sistema, si iniziano a controllarne i privilegi. Ad esempio, se si tratta di un sistema Windows, si eseguono dei comandi per raccogliere informazioni, trovare file ed effettuare delle “privilege escalation”.

Movimenti laterale : utilizzando le informazioni raccolte, si prova a muoversi all’interno della rete, passando da un sistema all’altro. Ciò potrebbe includere l’utilizzo di credenziali rubate o l’elusione della sicurezza di altri sistemi interni.

Reportistica : una volta completati tutti i test, e compresi gli impatti che il sistema potrebbe avere a seguito di un attacco da parte di un malintenzionato, viene preparato un rapporto con una descrizione dettagliata delle vulnerabilità e proposte per eliminarle. Vengono quindi discussi i risultati con il cliente per garantire che comprenda tutte le minacce identificate e sappia come eliminarle.

4. Quali fattori rendono un sistema vulnerabile?

I sistemi possono essere vulnerabili per diversi motivi, solitamente legati alla gestione delle patch, alla gestione delle vulnerabilità e alla configurazione. Ecco alcuni esempi:

  • Utilizzo di versioni obsolete di servizi o applicazioni con vulnerabilità note per le quali esistono già exploit pubblici.
  • Configurazione errata dei servizi, come l’utilizzo di password standard o deboli, mancanza di diritti di accesso adeguati, mancanza di autenticazione.
  • Applicazioni Web vulnerabili ad attacchi comuni come quelli descritti nella OWASP Top 10.
  • Sistemi che fanno parte di domini Active Directory vulnerabili ad attacchi alle credenziali o ad altri attacchi mirati all’infrastruttura AD.

5. Come gestisci i dati sensibili che incontri durante i penetration test?

Ogni vulnerabilità scoperta nella rete di un cliente può tecnicamente essere considerata un’informazione sensibile. Il lavoro di pentester è aiutare i clienti a migliorare la loro sicurezza. Occorre essere responsabili lavorando con i dati dei clienti e documentare tutti i risultati. Ad esempio, se si sta conducendo un test per un’azienda sanitaria, l’obiettivo non è esaminare un database di informazioni mediche sensibili, ma trovare una vulnerabilità che possa essere sfruttata per accedere a tali dati. È importante documentare la vulnerabilità e valutarne l’impatto senza violare i diritti dei clienti. Se ci si imbatte in contenuti illegali, si interrompe immediatamente i test e si segnala il tutto al management. Successivamente i decide assieme come proseguire adeguatamente i lavori, eventualmente con il coinvolgimento dei legali.

6. Spiegare la differenza tra crittografia simmetrica e asimmetrica.

La crittografia simmetrica utilizza una singola chiave per crittografare e decrittografare i dati, mentre la crittografia asimmetrica utilizza una coppia di chiavi pubblica e privata. Il primo è più veloce e il secondo viene utilizzato per trasferire in modo sicuro chiavi e firme digitali. Nella crittografia asimmetrica, la chiave pubblica può essere distribuita a tutti per cifrare i dati mentre la chiave privata deve essere conservata gelosamente in quanto sarà quella che permetterà di decifrarli.

7. Come mantieni le tue conoscenze sulla sicurezza informatica?

Utilizzo sia metodi di apprendimento passivo (leggendo notizie su redhotcyber.com, iscrivendomi a blog e podcast) che attivi (praticando attività di Capture The Flag o svolgendo percorsi formativi tramite Hack The Box ed esperimenti nel mio laboratorio di casa).

8. Qual è la differenza tra Windows e Linux nelle attività di pentest?

I sistemi operativi Windows e Linux presentano i propri vantaggi e svantaggi nel contesto del test delle applicazioni web. Windows è considerato più amichevole per gli utenti inesperti, mentre Linux è più affidabile e sicuro. La maggior parte degli strumenti di test vengono eseguiti su Linux in quanto questo sistema operativo offre più opzioni di personalizzazione. Tuttavia, Windows è più comune negli ambienti aziendali, quindi i test su questa piattaforma possono simulare più da vicino le condizioni del mondo reale che incontrerai durante il test delle applicazioni aziendali. Preferisco combinare entrambi i sistemi, il che mi consente di sfruttare i vantaggi di ciascuno.

9. Quali tre strumenti utilizzi per svolgere pentest di Active Directory e perché?

I miei 3 strumenti principali per testare Active Directory sono:

BloodHound : questo è un potente strumento per visualizzare le relazioni tra oggetti Active Directory come domini, trust, policy e autorizzazioni. Aiuta a identificare visivamente i possibili vettori di attacco.

PowerShell : questo è uno strumento integrato in Windows che può essere utilizzato per eseguire comandi relativi ad AD. Se si riesce ad accedere a un account amministratore utilizzando PowerShell, è possibile usarlo per ottenere l’accesso remoto al controller di dominio.

PowerView.ps1 : fa parte del progetto PowerSploit e fornisce una varietà di funzionalità per la raccolta di dati sugli oggetti AD, la ricerca di risorse di rete e il furto di ticket TGS per eseguire un attacco Kerberoasting.

10. Quali vulnerabilità potrebbe avere lo scambio di chiavi Diffie-Hellman?

Lo scambio di chiavi Diffie-Hellman (DH) può essere vulnerabile a diversi tipi di attacchi se non configurato correttamente. Tra i più comuni ci sono:

Attacco Man-in-the-middle (MitM) : se le parti non si autenticano a vicenda, un utente malintenzionato può inserirsi tra di loro e acquisire la capacità di decrittografare e modificare i dati.

Attacco Logjam : questo attacco utilizza parametri chiave deboli per forzare un downgrade della sicurezza della sessione.

Attacchi di forza bruta e canali laterali : se i parametri chiave sono deboli, sono possibili tentativi di forza bruta o attacchi che utilizzano dati di terze parti (ad esempio, il tempo di esecuzione dell’operazione).

11. Cos’è l’SQL injection basata sull’operatore UNION?

L’SQL injection basata su UNION è un tipo di SQL injection in cui un utente malintenzionato utilizza l’operatore UNION per combinare i risultati di più query, ottenendo così l’accesso a dati che non avrebbero dovuto essere esposti. Ad esempio, un utente malintenzionato potrebbe aggiungere una query UNION SELECT alla query originale per ottenere l’accesso a un’altra tabella di database che non faceva originariamente parte della query.

12. Che cos’è l’escalation dei privilegi e come affrontarla?

L’escalation dei privilegi è il processo che consente di ottenere l’accesso non autorizzato alle risorse di sistema con diritti più elevati. Una volta che un utente malintenzionato ottiene l’accesso a un sistema, inizia a cercare le vulnerabilità che gli consentiranno di aumentare i privilegi al livello di amministratore o ottenere l’accesso a dati sensibili. Ad esempio, se un sistema utilizza un componente software obsoleto, un utente malintenzionato potrebbe tentare di sfruttarlo per aumentare i diritti di accesso.

13. Qual è la vulnerabilità XXE?

XXE (XML External Entity) è una vulnerabilità che si verifica quando il server elabora input XML non sicuri. Un utente malintenzionato potrebbe inserire entità esterne nell’input XML che verrebbe elaborato dal server, il che potrebbe comportare la divulgazione di informazioni sensibili, l’esecuzione di codice arbitrario o l’invio di richieste dannose a risorse esterne per conto del server.

14. Cos’è l’intercettazione dei pacchetti di rete?

Lo sniffing dei pacchetti di rete è il processo di acquisizione dei dati trasmessi su una rete. Viene utilizzato per diagnosticare, monitorare e analizzare il traffico e può anche essere utilizzato per identificare vulnerabilità e ottenere informazioni sensibili.

15. Come spieghi la vulnerabilità XSS a qualcuno senza conoscenze tecniche?

XSS è una vulnerabilità in cui un utente malintenzionato può inserire codice dannoso in un sito Web. Questo codice verrà eseguito nel browser dell’utente, il che può portare al furto di dati, al dirottamento della sessione o alla modifica delle impostazioni dell’utente a sua insaputa.

Il ruolo di un hacker white hat richiede un costante sviluppo personale e un adattamento al panorama delle minacce informatiche in rapida evoluzione.

Un colloquio di successo dipende non solo dalle competenze tecniche, ma anche dalla capacità del candidato di dimostrare passione per l’apprendimento di nuove tecnologie, volontà di risolvere problemi complessi e capacità di lavorare in gruppo.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.