Durante i test di penetrazione (pentest) e l'hacking etico, è fondamentale nascondere il proprio indirizzo IP reale — non solo per simulare attacchi da diverse posizioni, ma anche per proteggere la propria infrastruttura. I sistemi di protezione come WAF, IDS e IPS bloccano rapidamente attività sospette da un singolo IP, rendendo impossibile ulteriori test. In questo articolo, analizzeremo quali proxy utilizzare per il pentest, come configurare la rotazione degli IP e come bypassare i moderni sistemi di protezione.
Perché utilizzare i proxy durante il pentest
Il test di penetrazione è un'attività legale condotta con il consenso del proprietario del sistema. Tuttavia, tecnicamente appare come un attacco, e i sistemi di protezione reagiscono di conseguenza. I proxy risolvono diverse questioni critiche durante il pentest:
1. Protezione dell'indirizzo IP reale. Anche durante un test legale, è importante non rivelare la propria posizione e infrastruttura reali. Se si sta testando il perimetro esterno, il proprio IP potrebbe finire nelle blacklist di vari sistemi di sicurezza, creando problemi in futuro. Inoltre, quando si lavora con programmi di bug bounty, è importante mantenere l'anonimato fino al momento della divulgazione della vulnerabilità.
2. Bypassare il rate limiting e i blocchi IP. I moderni WAF (Web Application Firewall) e IDS (Intrusion Detection System) monitorano il numero di richieste da un singolo IP. Durante la scansione delle porte, il brute forcing o il fuzzing, si supereranno rapidamente i limiti e si otterrà un ban. La rotazione degli IP tramite proxy consente di distribuire il carico e continuare i test.
3. Simulazione di attacchi da diverse posizioni geografiche. Alcuni sistemi di protezione applicano geo-blocking o hanno regole diverse per diverse regioni. Per un test completo, è necessario verificare come il sistema reagisce alle richieste provenienti da Stati Uniti, Europa, Asia. I proxy con IP di diversi paesi consentono di effettuare tali test senza spostamenti fisici.
4. Testare attacchi distribuiti (simulazione DDoS). Durante il test della resilienza agli attacchi DDoS, è necessario simulare il traffico da molti indirizzi IP. I pool di proxy consentono di creare un carico realistico e verificare come i sistemi di mitigazione affrontano un attacco distribuito.
5. Bypassare il fingerprinting e l'analisi TLS. I sistemi di protezione avanzati analizzano non solo l'IP, ma anche le impronte TLS, l'User-Agent, le intestazioni HTTP. L'uso dei proxy insieme a una corretta configurazione del client aiuta a bypassare tale analisi e a testare più a fondo.
Quali tipi di proxy sono adatti per l'hacking etico
Per il pentest si utilizzano diversi tipi di proxy a seconda del compito. Esaminiamo le principali opzioni e il loro utilizzo:
| Tipo di proxy | Vantaggi | Svantaggi | Utilizzo |
|---|---|---|---|
| HTTP/HTTPS | Configurazione semplice, funzionamento a livello applicativo | Solo traffico web, intestazioni visibili | Test di applicazioni web, scansione di siti |
| SOCKS5 | Qualsiasi protocollo, supporto UDP, autenticazione | Configurazione leggermente più complessa | Scansione delle porte, lavoro con qualsiasi protocollo |
| Residenziali | IP reali dei provider, basso trust score | Più costosi, velocità variabile | Bypass di WAF rigorosi, test di restrizioni geografiche |
| Data center | Alta velocità, stabilità, basso costo | Facilmente identificabili come proxy | Scansione massiva, brute force, fuzzing |
| Mobile | Il più alto trust score, IP dinamici | I più costosi, velocità inferiore | Test di applicazioni mobili, bypass di blocchi rigorosi |
Protocollo SOCKS5 vs HTTP/HTTPS. Per il pentest, è preferibile SOCKS5, poiché funziona a un livello più basso e consente qualsiasi tipo di traffico — TCP, UDP, richieste DNS. Questo è critico quando si utilizzano strumenti come Nmap, Metasploit, sqlmap, che possono funzionare non solo con HTTP. I proxy HTTP sono adatti solo per test web tramite browser o scanner specializzati per applicazioni web (Burp Suite, OWASP ZAP).
Tunnel SSH e VPN. Alcuni pentester utilizzano tunnel SSH (dynamic port forwarding) o VPN al posto dei proxy. Un tunnel SSH funziona come un proxy SOCKS ed è adatto per la maggior parte dei compiti, ma richiede un server SSH. La VPN cripta tutto il traffico e cambia l'IP, ma è meno flessibile per la rotazione degli indirizzi: quando si cambia server VPN, tutte le connessioni vengono interrotte.
Proxy residenziali vs data center: cosa scegliere
La scelta tra proxy residenziali e proxy data center dipende dal sistema target e dal suo livello di protezione.
Quando utilizzare proxy residenziali:
- Test di sistemi con rilevamento bot avanzato (Cloudflare, Akamai, PerimeterX)
- Verifica delle restrizioni geografiche e delle versioni regionali delle applicazioni
- Test di applicazioni mobili e API che bloccano i data center
- Programmi di bug bounty, dove è importante la massima invisibilità
- Ingegneria sociale e raccolta OSINT tramite social media
I proxy residenziali hanno indirizzi IP di veri provider internet, utilizzati da utenti normali. I sistemi di protezione non possono semplicemente bloccare l'intero range di un provider, poiché ciò bloccherebbe anche gli utenti legittimi. Il trust score di questi IP è significativamente più alto, il che consente di superare i controlli di rilevamento bot.
Quando utilizzare proxy data center:
- Scansione massiva di porte e servizi (Nmap, Masscan)
- Brute forcing di password e directory (Hydra, Gobuster, ffuf)
- Fuzzing di applicazioni web (Burp Intruder, wfuzz)
- Test di sistemi interni senza protezione rigorosa
- Compiti in cui la velocità e il volume del traffico sono importanti
I proxy data center funzionano da 5 a 10 volte più velocemente rispetto ai proxy residenziali e costano significativamente meno. Per la maggior parte dei compiti di pentest, dove non è necessario bypassare sistemi di protezione complessi, sono la scelta ottimale. La velocità è critica quando si scansionano migliaia di porte o si provano migliaia di percorsi su un server web.
Approccio combinato. I pentester esperti utilizzano entrambi i tipi di proxy: data center per la ricognizione iniziale e la scansione massiva, e residenziali per il test mirato di vulnerabilità specifiche e per bypassare la protezione. Ad esempio, è possibile eseguire la scansione delle porte tramite proxy data center veloci e poi sfruttare le vulnerabilità trovate tramite IP residenziali per minimizzare i rischi di rilevamento.
Configurazione delle catene di proxy (proxy chains)
Le catene di proxy sono una tecnica di instradamento del traffico attraverso più server proxy in sequenza. Ogni server nella catena vede solo l'IP del proxy precedente, il che complica notevolmente il tracciamento della vera origine delle richieste.
Installazione e configurazione di proxychains in Linux:
# Installazione
sudo apt-get install proxychains4
# Modifica della configurazione
sudo nano /etc/proxychains4.conf
Esempio di configurazione proxychains4.conf:
# Modalità di funzionamento: dynamic (salta i proxy non disponibili)
dynamic_chain
# Modalità silenziosa (non visualizza informazioni sui proxy)
quiet_mode
# Richieste DNS tramite proxy (importante per l'anonimato)
proxy_dns
# Elenco dei proxy (aggiunti in sequenza)
[ProxyList]
socks5 192.168.1.100 1080 username password
socks5 45.67.89.123 1080
http 34.56.78.90 8080 user pass
Modalità di funzionamento di proxychains:
- dynamic_chain — utilizza tutti i proxy disponibili in ordine, saltando quelli non disponibili. Ottimale per il pentest.
- strict_chain — utilizza tutti i proxy rigorosamente in ordine, interrompendo la connessione se uno è non disponibile.
- random_chain — seleziona un numero casuale di proxy dall'elenco per ogni connessione.
Utilizzo con strumenti di pentest:
# Nmap attraverso la catena di proxy
proxychains4 nmap -sT -Pn target.com
# Metasploit
proxychains4 msfconsole
# Sqlmap
proxychains4 sqlmap -u "http://target.com/page?id=1" --dbs
# Gobuster (brute forcing delle directory)
proxychains4 gobuster dir -u http://target.com -w wordlist.txt
# Curl
proxychains4 curl https://target.com
Elementi importanti nell'uso delle proxy chains:
- Ogni proxy nella catena aggiunge latenza — una catena di 3 proxy può aumentare il ping da 50ms a 500ms
- Le richieste DNS devono passare attraverso il proxy (proxy_dns), altrimenti il tuo IP reale potrebbe trapelare attraverso DNS
- Non tutti gli strumenti funzionano correttamente attraverso proxychains — alcuni utilizzano socket raw
- Per Nmap, utilizza solo la scansione TCP (-sT), la scansione SYN (-sS) non funziona attraverso il proxy
Alternativa: Tor + proxychains. È possibile combinare Tor con proxy aggiuntivi per aumentare l'anonimato. Tor utilizza già una catena di 3 nodi, l'aggiunta di proxy prima di entrare in Tor o dopo l'uscita crea un ulteriore livello di protezione:
# Configurazione: Proxy → Tor → Obiettivo
[ProxyList]
socks5 45.67.89.123 1080 # Proxy esterno
socks5 127.0.0.1 9050 # Tor locale
Rotazione IP: come evitare i blocchi
La rotazione degli indirizzi IP è una tecnica chiave per bypassare il rate limiting e i blocchi basati su IP. I moderni WAF monitorano il numero di richieste da un singolo IP in un determinato periodo (ad esempio, 100 richieste al minuto). Superare il limite porta a un blocco temporaneo o permanente.
Tipi di rotazione dei proxy:
1. Rotazione a livello del fornitore di proxy (Rotating proxies). Alcuni fornitori offrono un unico endpoint (IP:porta), che cambia automaticamente l'IP in uscita ad ogni richiesta o dopo un certo intervallo. Questa è l'opzione più semplice — non richiede modifiche al codice, basta specificare un indirizzo proxy.
# Esempio con rotating proxy (Python + requests)
import requests
proxies = {
'http': 'http://user:pass@rotating.proxy.com:8080',
'https': 'http://user:pass@rotating.proxy.com:8080'
}
# Ogni richiesta avviene con un nuovo IP
for i in range(100):
response = requests.get('https://api.ipify.org', proxies=proxies)
print(f"Richiesta {i}: IP = {response.text}")
2. Rotazione a livello dell'applicazione (Proxy pool). Ricevi un elenco di proxy e implementi la logica di commutazione nel tuo codice. Questo offre maggiore controllo: puoi gestire la frequenza di cambio, escludere proxy non funzionanti, distribuire il carico.
# Esempio di proxy pool con rotazione (Python)
import requests
import random
from itertools import cycle
# Elenco di proxy
proxy_list = [
'http://user:pass@45.67.89.1:8080',
'http://user:pass@45.67.89.2:8080',
'http://user:pass@45.67.89.3:8080',
'http://user:pass@45.67.89.4:8080',
]
# Iteratore ciclico per la rotazione sequenziale
proxy_cycle = cycle(proxy_list)
def get_with_rotation(url):
proxy = next(proxy_cycle)
proxies = {'http': proxy, 'https': proxy}
try:
response = requests.get(url, proxies=proxies, timeout=10)
return response
except requests.exceptions.RequestException as e:
print(f"Errore con il proxy {proxy}: {e}")
return None
# Utilizzo
for i in range(20):
response = get_with_rotation('https://httpbin.org/ip')
if response:
print(f"Richiesta {i}: {response.json()}")
3. Rotazione basata su sessioni (Session-based). Per compiti in cui è necessario mantenere lo stato (cookie, sessioni), si utilizza l'associazione del proxy alla sessione. Un proxy viene utilizzato per tutte le richieste all'interno di una sessione, poi cambia per una nuova sessione.
# Rotazione basata su sessioni
import requests
class ProxySession:
def __init__(self, proxy_list):
self.proxy_list = proxy_list
self.current_proxy_index = 0
def new_session(self):
session = requests.Session()
proxy = self.proxy_list[self.current_proxy_index]
session.proxies = {'http': proxy, 'https': proxy}
# Passa al prossimo proxy per la prossima sessione
self.current_proxy_index = (self.current_proxy_index + 1) % len(self.proxy_list)
return session
# Utilizzo
proxy_manager = ProxySession(proxy_list)
# Sessione 1 con proxy 1
session1 = proxy_manager.new_session()
session1.get('https://target.com/login')
session1.post('https://target.com/api', data={'key': 'value'})
# Sessione 2 con proxy 2
session2 = proxy_manager.new_session()
session2.get('https://target.com/login')
Strategie di rotazione a seconda del compito:
- Brute forcing delle password — cambia IP ogni 5-10 tentativi, per non superare il limite di login non riusciti
- Scansione delle porte — cambia IP ogni 100-500 porte, per evitare che l'IDS noti la scansione da una sola fonte
- Fuzzing di moduli web — rotazione ogni 20-50 richieste, simulando diversi utenti
- Raccolta di dati OSINT — rotazione ad ogni richiesta API ai social media o ai motori di ricerca
Monitoraggio della funzionalità dei proxy. Durante la rotazione, alcuni proxy possono smettere di funzionare. È importante implementare un controllo e escludere i proxy non funzionanti:
# Controllo e filtraggio dei proxy
def check_proxy(proxy):
try:
response = requests.get(
'https://httpbin.org/ip',
proxies={'http': proxy, 'https': proxy},
timeout=5
)
return response.status_code == 200
except:
return False
# Filtraggio dell'elenco
working_proxies = [p for p in proxy_list if check_proxy(p)]
print(f"Proxy funzionanti: {len(working_proxies)}/{len(proxy_list)}")
Integrazione dei proxy con gli strumenti di pentest
La maggior parte degli strumenti di pentest supporta il funzionamento tramite proxy. Esaminiamo la configurazione per strumenti popolari:
Burp Suite. Uno degli strumenti principali per il test delle applicazioni web. Configurazione del proxy:
- User options → Connections → Upstream Proxy Servers
- Add → specificare l'indirizzo del proxy, la porta, il tipo (HTTP/SOCKS)
- Per la rotazione, è possibile utilizzare estensioni come "Proxy Rotator"
OWASP ZAP. Alternativa a Burp Suite con codice sorgente aperto:
- Tools → Options → Connection → Use outgoing proxy server
- Specificare indirizzo, porta, autenticazione
- Supporta i proxy SOCKS per tutti i tipi di traffico
Nmap. Scanner di porte e servizi. Non c'è supporto diretto per i proxy (eccetto HTTP CONNECT per alcuni script NSE), si utilizza tramite proxychains:
# Solo la scansione TCP funziona tramite proxy
proxychains4 nmap -sT -Pn -p 80,443,8080 target.com
# La scansione SYN richiede socket raw e non funziona tramite proxy
# nmap -sS target.com # NON FUNZIONA tramite proxychains
Sqlmap. Strumento per la ricerca automatica e lo sfruttamento delle SQL injection:
# Proxy singolo
sqlmap -u "http://target.com/page?id=1" --proxy="socks5://user:pass@45.67.89.1:1080"
# File con l'elenco dei proxy (rotazione)
sqlmap -u "http://target.com/page?id=1" --proxy-file=proxies.txt
# Tramite Tor
sqlmap -u "http://target.com/page?id=1" --tor --tor-type=SOCKS5
Metasploit Framework. Piattaforma per lo sviluppo e l'esecuzione di exploit:
# Avvio tramite proxychains
proxychains4 msfconsole
# Oppure configurazione all'interno di Metasploit
msf6 > setg Proxies socks5:45.67.89.1:1080
msf6 > setg ReverseAllowProxy true
# Per un modulo specifico
msf6 exploit(windows/smb/ms17_010_eternalblue) > set Proxies socks5:45.67.89.1:1080
Gobuster / ffuf. Strumenti per il brute forcing di directory e parametri:
# Gobuster
gobuster dir -u http://target.com -w wordlist.txt -p socks5://45.67.89.1:1080
# ffuf con proxy
ffuf -u http://target.com/FUZZ -w wordlist.txt -x socks5://45.67.89.1:1080
# ffuf con rotazione tramite replay-proxy
ffuf -u http://target.com/FUZZ -w wordlist.txt -replay-proxy http://rotating.proxy.com:8080
Hydra. Brute forcing delle password per vari protocolli:
# Tramite proxychains (per tutti i protocolli)
proxychains4 hydra -l admin -P passwords.txt ssh://target.com
# Supporto nativo per HTTP (limitato)
hydra -l admin -P passwords.txt target.com http-get -s 8080 -m /admin
Nuclei. Scanner di vulnerabilità moderno basato su modelli:
# Proxy HTTP
nuclei -u https://target.com -proxy-url http://user:pass@45.67.89.1:8080
# SOCKS5
nuclei -u https://target.com -proxy-url socks5://user:pass@45.67.89.1:1080
# Più proxy (rotazione)
nuclei -list targets.txt -proxy-url http://proxy1.com:8080,http://proxy2.com:8080
Bypassare WAF, IDS e altri sistemi di protezione
I moderni sistemi di protezione utilizzano molteplici metodi di rilevamento degli attacchi. I proxy sono solo una parte della strategia di bypass. Esaminiamo un approccio complessivo:
1. Bypassare i blocchi basati su IP. Il livello di protezione più semplice è il blocco per IP. Si risolve con la rotazione dei proxy rispettando i limiti di rate:
- Utilizzare ritardi tra le richieste (time.sleep in Python)
- Cambiare IP quando si riceve HTTP 429 (Too Many Requests)
- Simulare il comportamento umano — intervalli casuali tra le richieste
2. Bypassare il geo-blocking. Alcuni sistemi bloccano interi paesi o regioni. Utilizzare proxy residenziali del paese desiderato:
# Esempio: testare da diversi paesi
countries = ['US', 'GB', 'DE', 'FR']
for country in countries:
proxy = f'http://user-country-{country}:pass@proxy.com:8080'
response = requests.get('https://target.com', proxies={'http': proxy, 'https': proxy})
print(f"{country}: Stato {response.status_code}")
3. Bypassare il fingerprinting (impronte del browser). I WAF avanzati analizzano le impronte TLS, le intestazioni HTTP, l'ordine delle intestazioni. Utilizzare librerie che simulano veri browser:
# curl-impersonate — simulazione delle impronte TLS dei browser
curl_chrome116 --proxy socks5://45.67.89.1:1080 https://target.com
# Python: requests + curl_cffi (bypass di Cloudflare)
from curl_cffi import requests
response = requests.get(
'https://target.com',
proxies={'https': 'socks5://45.67.89.1:1080'},
impersonate='chrome116'
)
4. Bypassare il rilevamento dei bot (Cloudflare, PerimeterX, Akamai). Questi sistemi utilizzano chiamate JavaScript, canvas fingerprinting, WebGL, analisi del movimento del mouse. Soluzioni:
- Utilizzare browser headless con impostazioni corrette (Playwright, Puppeteer)
- Applicare tecniche anti-detect: sostituzione di WebGL, Canvas, AudioContext
- Combinare proxy residenziali con User-Agent realistici
- Utilizzare soluzioni pronte: undetected-chromedriver, playwright-stealth
# Playwright con proxy e anti-detect
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(
proxy={
'server': 'socks5://45.67.89.1:1080',
'username': 'user',
'password': 'pass'
}
)
context = browser.new_context(
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
viewport={'width': 1920, 'height': 1080},
locale='en-US',
timezone_id='America/New_York'
)
# Mascheramento del webdriver
context.add_init_script("""
Object.defineProperty(navigator, 'webdriver', {get: () => undefined})
""")
page = context.new_page()
page.goto('https://target.com')
# ... ulteriori azioni
5. Bypassare IDS/IPS (Intrusion Detection/Prevention Systems). Questi sistemi analizzano il traffico di rete alla ricerca di firme di attacco:
- Frammentazione dei pacchetti — suddividere il payload in parti più piccole
- Offuscamento — codificare il payload (base64, URL-encoding, Unicode)
- Distribuzione dell'attacco nel tempo — scansione lenta con intervalli ampi
- Rotazione dei proxy — ogni fase dell'attacco da IP diversi
# Nmap: scansione lenta per bypassare IDS
proxychains4 nmap -sT -Pn -T2 --scan-delay 5s -p- target.com
# -T2: modello di temporizzazione lento
# --scan-delay 5s: 5 secondi tra i tentativi di porte
# La combinazione con la rotazione dei proxy rende la scansione quasi invisibile
6. Bypassare CAPTCHA. Durante test aggressivi, potresti incontrare CAPTCHA. Opzioni:
- Ridurre l'aggressività — meno richieste, più ritardi
- Utilizzare servizi di risoluzione CAPTCHA (2captcha, Anti-Captcha) — per bug bounty
- Cercare endpoint alternativi senza CAPTCHA (API, versioni mobili)
Sicurezza operativa (OPSEC) nell'uso dei proxy
Anche utilizzando i proxy, è possibile commettere errori che rivelano la tua identità o posizione. La sicurezza operativa (OPSEC) è un insieme di pratiche per minimizzare tali rischi.
Comuni perdite nell'uso dei proxy:
1. Perdite DNS. Anche utilizzando i proxy, le richieste DNS possono passare direttamente dal tuo provider, rivelando la posizione reale:
# Controllo delle perdite DNS
dig @8.8.8.8 target.com # La richiesta DNS va direttamente a Google DNS
# Soluzione: utilizzare DNS tramite proxy
# In proxychains: proxy_dns
# In Python requests: utilizzare IP invece di domini o configurare DNS over HTTPS
2. Perdite WebRTC (per strumenti browser). WebRTC può rivelare il tuo IP reale anche attraverso proxy:
- Disattivare WebRTC nel browser o utilizzare estensioni (WebRTC Leak Shield)
- Quando si utilizza Playwright/Puppeteer — bloccare WebRTC tramite permessi
3. Perdite di fuso orario e locale. Il tuo fuso orario e le impostazioni linguistiche potrebbero non corrispondere all'IP del proxy:
# Corretta configurazione del fuso orario in Playwright
context = browser.new_context(
proxy={'server': 'socks5://us-proxy.com:1080'},
locale='en-US', # Corrisponde al proxy statunitense
timezone_id='America/New_York', # Fuso orario degli Stati Uniti
geolocation={'latitude': 40.7128, 'longitude': -74.0060} # Coordinate di NY
)
4. Perdite di cookie e sessioni. Non utilizzare gli stessi cookie con proxy diversi — questo collega le tue richieste:
- Ogni proxy = nuova sessione con cookie puliti
- Non accedere con lo stesso account da IP diversi senza necessità
- Utilizzare contenitori del browser o profili separati
5. Coerenza del fingerprinting. L'impronta del browser deve corrispondere all'IP del proxy:
- Proxy statunitensi + lingua russa del browser = sospetto
- Proxy mobile + User-Agent desktop = incoerenza
- Utilizzare strumenti per generare fingerprint coerenti
Raccomandazioni OPSEC per i pentester:
- Utilizzare una VM dedicata per il pentest — isolarla dal sistema principale
- Log e artefatti — conservarli su dischi crittografati, eliminarli dopo il completamento del progetto
- Separazione dei proxy — utilizzare diversi pool di proxy per diversi progetti
- Non mescolare traffico legale e illegale attraverso gli stessi proxy
- Controllare i proxy per perdite — testare regolarmente tramite ipleak.net, browserleaks.com
- Documentazione — tenere traccia dell'uso dei proxy per rapporti ai clienti (quali IP, quando)
Aspetti legali. Anche durante un pentest legale, è importante:
- Avere un permesso scritto (scope of work) dal cliente
- Non superare i limiti dello scope concordato — testare solo i sistemi autorizzati
- Informare il cliente sugli IP dei proxy utilizzati per il whitelist nelle loro sistemi
- Rispettare le leggi del paese in cui si trovano i sistemi testati
Conclusione
I proxy sono uno strumento necessario per il moderno pentester e specialista di sicurezza informatica. Consentono di nascondere l'IP reale, bypassare i sistemi di protezione, simulare attacchi da diverse posizioni e distribuire il carico per evitare blocchi. La scelta del tipo di proxy dipende dal compito: per la scansione massiva sono adatti proxy data center veloci, per bypassare WAF complessi e rilevamento bot — proxy residenziali con alto trust score.
I punti chiave nell'uso dei proxy per il pentest: corretta configurazione della rotazione IP per bypassare il rate limiting, integrazione con strumenti tramite proxychains o supporto nativo, rispetto della sicurezza operativa per prevenire perdite dell'IP reale tramite DNS, WebRTC o fingerprinting. La combinazione di misure tecniche (catene di proxy, tecniche anti-detect, offuscamento) e corretta OPSEC garantisce test efficaci e sicuri.
Per compiti di hacking etico, si consiglia di utilizzare proxy residenziali durante il test di sistemi con protezione avanzata e proxy data center per scansioni massicce e compiti in cui la velocità è importante. La corretta scelta e configurazione dei proxy aumentano significativamente l'efficacia del test e minimizzano i rischi di rilevamento.