Penetration Test - lente Piergiorgio Venuti

Comprendere gli approcci di Penetration Testing: Gray Box, Black Box e White Box

Estimated reading time: 5 minuti

Il Penetration Testing, noto anche come pen testing o ethical hacking, è un processo utilizzato per testare la sicurezza di un sistema, di una rete o di un’applicazione. Esistono diversi approcci che possono essere utilizzati per condurre un pen test, tra cui Gray Box, Black Box e White Box. In questo articolo, esploreremo ciascuno di questi approcci in dettaglio e capiremo perché il Penetration Testing è fondamentale per assicurare la sicurezza dei sistemi informatici.

Cos’è il Penetration Testing

Il Penetration Testing è un processo utilizzato per testare la sicurezza di un sistema, di una rete o di un’applicazione simulando un attacco malintenzionato. Questo permette di identificare le vulnerabilità presenti nel sistema e di valutare l’efficacia delle contro-misure in atto.

Approcci di Penetration Testing

Gray Box Testing

L’approccio Gray Box combina elementi dell’approccio Black Box e White Box. Durante un test Gray Box, il tester ha accesso parziale alle informazioni del sistema, come la documentazione o le configurazioni, ma non ha accesso completo al codice sorgente o all’architettura del sistema. Questo approccio è utile quando si vuole testare la sicurezza di un sistema senza causare danni irreparabili.

Black Box Testing

L’approccio Black Box simula l’approccio utilizzato da un attaccante malintenzionato. Durante un test Black Box, il tester non ha alcuna informazione sul sistema che sta testando, a parte l’indirizzo IP o l’URL. Il tester utilizza quindi strumenti automatici e manuali per identificare le vulnerabilità del sistema. Questo approccio è utile per identificare vulnerabilità sconosciute del sistema.

White Box Testing

L’approccio White Box è il più invasivo di tutti gli approcci. Durante un test White Box, il tester ha accesso completo al codice sorgente e all’architettura del sistema. Il tester utilizza queste informazioni per identificare le vulnerabilità del sistema e per valutare la robustezza della sicurezza del sistema. Questo approccio è utile per le organizzazioni che vogliono assicurarsi che il loro sistema sia sicuro al 100%.

Importanza del Penetration Testing per la sicurezza informatica

Il Penetration Testing è fondamentale per assicurare che i sistemi, le reti e le applicazioni siano sicuri e protetti da minacce esterne.

Fasi di un Penetration Test

hacking
  1. Pianificazione: In questa fase si definiscono gli obiettivi del test, si identificano i sistemi e le applicazioni da testare, si selezionano gli strumenti e le tecniche da utilizzare e si stabiliscono i limiti del test (ad esempio, quali sistemi non devono essere testati).
  2. Recon: In questa fase si raccolgono informazioni sui sistemi e le applicazioni da testare, utilizzando tecniche di ricognizione come la scansione di porte, la raccolta di informazioni sulle vulnerabilità note, la raccolta di informazioni sulle configurazioni e la raccolta di informazioni sulle persone e le organizzazioni coinvolte.
  3. Scansione: In questa fase si utilizzano strumenti automatici per identificare le vulnerabilità del sistema, come ad esempio la scansione di vulnerabilità, la scansione di vulnerabilità delle applicazioni web e la scansione delle vulnerabilità delle reti.
  4. Exploit: In questa fase si utilizzano tecniche manuali per sfruttare le vulnerabilità identificate durante la scansione, al fine di verificare l’effettiva esistenza delle vulnerabilità e valutare l’impatto potenziale sulla sicurezza del sistema.
  5. Post Exploit: Una volta che è stato sfruttato una vulnerabilità, in questa fase si cerca di ottenere il controllo del sistema compromesso per verificare quanto a lungo è possibile mantenere l’accesso e quali azioni si possono compiere all’interno del sistema compromesso.
  6. Report: In questa fase si crea un report dettagliato delle vulnerabilità identificate, delle tecniche utilizzate per sfruttarle, delle raccomandazioni per la correzione delle vulnerabilità e dell’impatto potenziale sulla sicurezza del sistema.

È importante notare che ci possono essere variazioni nella metodologia utilizzata a seconda del contesto e delle esigenze specifiche del test, ma queste sono le fasi generali di un Penetration Testing.

Inoltre, è importante menzionare che il Penetration Testing deve essere condotto da professionisti qualificati, che utilizzano strumenti e metodologie appropriate e che seguono una metodologia ben definita per assicurare che i test siano efficienti e che forniscano risultati affidabili. Inoltre, è importante che il Penetration Testing sia ripetuto regolarmente per garantire che i sistemi siano sempre protetti da minacce esterne. È anche importante assicurarsi di avere il consenso del proprietario del sistema o dell’applicazione prima di iniziare il test e di rispettare le leggi e la deontologia durante il processo di Penetration Testing, evitando di causare danni al sistema o alla rete testata e rispettando la privacy degli utenti.

In generale, il Penetration Testing è un processo fondamentale per assicurare la sicurezza dei sistemi informatici. Utilizzando uno dei tre approcci descritti (Gray Box, Black Box, White Box) e seguendo una metodologia ben definita, le organizzazioni possono identificare e correggere le vulnerabilità del sistema prima che possano essere sfruttate da attaccanti malintenzionati. Inoltre, il Penetration Testing fornisce una valutazione della robustezza della sicurezza del sistema e aiuta a identificare eventuali vulnerabilità future.

Conclusioni

In conclusione, il Penetration Testing è un processo essenziale per assicurare la sicurezza dei sistemi informatici. Utilizzando uno dei tre approcci descritti (Gray Box, Black Box, White Box) e seguendo una metodologia ben definita, le organizzazioni possono identificare e correggere le vulnerabilità del sistema prima che possano essere sfruttate da attaccanti malintenzionati. Inoltre, il Penetration Testing fornisce una valutazione della robustezza della sicurezza del sistema e aiuta a identificare eventuali vulnerabilità future.

Inoltre, è importante che il Penetration Testing sia condotto da professionisti qualificati, che utilizzano strumenti e metodologie appropriate e che seguono una metodologia ben definita per assicurare che i test siano efficienti e che forniscano risultati affidabili. Inoltre, è importante che il Penetration Testing sia ripetuto regolarmente per garantire che i sistemi siano sempre protetti da minacce esterne.

In generale, il Penetration Testing è un’attività importante per garantire la sicurezza dei sistemi informatici e per proteggere i dati sensibili delle organizzazioni. È fondamentale che le organizzazioni comprendano gli approcci di Penetration Testing e che li utilizzino regolarmente per garantire la sicurezza dei propri sistemi e proteggere i propri dati. Inoltre, è importante che le organizzazioni investano in professionisti qualificati e in strumenti adeguati per condurre i test in modo efficace e per ottenere risultati affidabili. In questo modo, le organizzazioni possono essere sicure di proteggere i propri dati e i propri sistemi da minacce esterne.

Useful links:

Condividi


RSS

Piu’ articoli…

Categorie …

Tags

Feed RSS: Feed sconosciuto Feed sconosciuto

Feed RSS: Feed sconosciuto Feed sconosciuto

Feed RSS: Full Disclosure Full Disclosure

  • Apache Struts2 Core Arbitrary Code Execution via OGNL Sandbox Escape Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description Apache Struts2 Core version 7.4.0 and below attempt to prevent arbitrary code execution via Object-Graph Navigation Language (OGNL) through several different mechanisms but only in a cursory fashion -- the libraries only guard against immediate calls evaluated by the OGNL engine via `SecurityMemberAccess`, but an allowed […]
  • Apache Struts2 Core TokenHelper Token Cryptographic Timing Side-Channel Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 Core 7.4.0 and below performs session token comparisons cryptographically insecure early-exit comparison functions (e.g., `!=`, `memcmp`, byte-by-byte loops with `break`) that return as soon as the first mismatched byte is encountered. The execution time of the comparison is therefore proportional to the number […]
  • Apache Struts2 Spring Plugin Uses a Previously Closed Resource Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 Spring Plugin opens a Spring `ApplicationContex` via a try-with-resources block and, outside of said block, then continues to use the closed resource, resulting in an uncaught `IllegalStateException`. This particular issue prevents proper functionality and indicates poor code quality and code review standards and […]
  • Apache Struts2 Core Integer Overflow Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description Apache Struts2 Core version 7.4.0 and below fails to properly prevent integer overflows, causing wrap-arounds and other issues on a downstream forced casting into types smaller than `BigInteger`. Importantly, this finding underscores why all applications using Struts and other such platforms should perform their own input […]
  • Apache Struts2 Core Cross-Origin Protection Exemption Miskeyed to a Deployment-Wide Path Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description Apache Struts2 Core version 7.4.0 and below's `FetchMetadataInterceptor`, `CoepInterceptor`, and `CoopInterceptor` each compare their `exemptedPaths` configuration -- a per-interceptor-reference, administrator-supplied set of paths intended to exempt specific actions from the corresponding cross-origin protection -- against `HttpServletRequest.getContextPath()`. `getContextPath()` is fixed for the entire deployed web...
  • Apache Struts2 REST Plugin Fails to Properly Parse Chunked Requests Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 REST Plugin's (version 7.4.0 and below) `ContentTypeInterceptor.intercept(ActionInvocation)` only deserialises a request body and enforces the `struts.rest.content.maxLength` bound when `HttpServletRequest#getContentLength()` returns a positive value. `getContentLength()` returns `-1` whenever the `Content-Length` header is absent, which normal and appropriate for any Hypertext Transfer Protocol (HTTP)...
  • Apache Struts2 REST Plugin Untrimmed `Accept` Header Tokens Break Content Negation Fallback Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 REST Plugin's `DefaultContentTypeHandlerManager.getHandlerForResponse(HttpServletRequest, HttpServletResponse)` splits the `Accept` header on commas and passes each resulting token directly to `findHandler(String)` without trimming leading or trailing whitespace. `findHandler(String)` only retries a trimmed lookup when a token contains a semicolon (`;`), so a token that merely carries […]
  • Apache Struts2 JSON Plugin Insecure Deserialisation -- Object Deserialisation Element-Count Limit Bypass Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01As of the current versions of the Apache Struts2 JSON Plugin (e.g., version 7.4.0 and the 7.5.0 snapshot dated 28 October 2026), attackers can bypass the element-count limit purported to protect Object deserialisation added to said code as part of the WW-5618 and S2-072 "hardening controls". Please […]
  • [0day-rubbish] NETGEAR RAX120 V1.2.5.18 authenticated SOAP InstallApp OS command injection to root-configured web-stack execution (6.8 Medium; conditionally 7.2 High with management exposure) Ottobre 29, 2026
    Posted by disclosure via Fulldisclosure on Oct 280day Rubbish Research Team is publicly disclosing a vulnerability in NETGEAR RAX120 (Nighthawk AX12) firmware V1.2.5.18, the WiFi 6 consumer router from NETGEAR (United States), built on the Qualcomm IPQ8074 platform. The administrative web plane of this firmware generation is a lighttpd server fronting the vendor's DNI-framework CGI […]
  • [0day-rubbish] Raritan PX3 PDU G4 firmware 4.3.14 command injection in the ping and traceroute diagnostics through an inverted hostname-validation return check (8.8) Ottobre 29, 2026
    Posted by disclosure via Fulldisclosure on Oct 280day Rubbish Research Team is publicly disclosing a vulnerability in the Raritan PX3 PDU G4, firmware version 4.3.14, the intelligent rack power distribution unit from Raritan, a Legrand company (United States). A low-privilege authenticated session converts one diagnostics request into operating-system command execution in the product's web-service context, […]

Customers