Perché il tunneling è così importante nei test delle penne?

6

Sono curioso del perché il tunneling sia così importante nei test delle penne.

Se si ha il controllo di una macchina in una rete, quindi si utilizza quella macchina, si possono eseguire applicazioni nmap e web e cercare di scoprire le vulnerabilità.

Quindi, perché sarebbe necessario utilizzare il tunneling?

    
posta Mark Dioes 03.09.2012 - 07:36
fonte

3 risposte

12

Il tunneling è utile perché consente di connettersi a qualsiasi altra macchina sulla rete. Una volta compromesso una macchina interna, è possibile utilizzarla come piattaforma per altri attacchi. Semplicemente l'installazione di strumenti come nmap sulla macchina compromessa non ti consente molta libertà in termini di esplorazione effettiva della rete, al di là delle scansioni preliminari.

Ottenere una connessione VPN su una rete è praticamente il santo graal del tunneling. È l'equivalente logico di essere collegato direttamente a quella rete direttamente. Pertanto, gli strumenti che non possono essere facilmente eseguiti su un proxy o su un sistema remoto possono essere eseguiti con relativa facilità. La maggior parte dei protocolli VPN funziona come un'astrazione del livello di collegamento, in modo tale che i protocolli di rete arbitrari possano essere tradotti nella rete remota. Ciò è estremamente utile per strumenti come lo spoofing ARP, in cui un normale proxy SOCKS non consentirà l'invio di pacchetti arbitrari. Questo rende molto conveniente semplicemente attivare l'istanza BT5 (o qualsiasi altra pentesting box che stai usando) e saltare direttamente nella rete. Inoltre, il traffico VPN è crittografato e probabilmente sarà completamente ignorato da un firewall.

In alternativa, potresti utilizzare un proxy SOCKS o persino un servizio nascosto di Tor per facilitare le tue esigenze di tunneling. Questi sono più limitati, a causa del livello a cui inoltrano il traffico, ma sono più facili da configurare e più facili da personalizzare al fine di nascondere il traffico da un firewall / IDS.

    
risposta data 03.09.2012 - 08:03
fonte
6

Direi che il tunneling è importante a causa della libertà che consente con specifici tipi di test. Questo vale solo per i test esterni, come se si avvia il test sul tunnel interno. Il tunneling è meno importante (anche se potrebbe essere utile per estrarre i dati dalla rete).

In un test esterno potresti trovare un problema che consente l'esecuzione di comandi (ad esempio SQL Injection o forse un buffer overflow). Quello che puoi fare con quel problema potrebbe essere limitato (eseguendo comandi su una riga e probabilmente sarai in grado di usare solo strumenti già installati sul server vulnerabile). Quindi, se l'obiettivo del test è quello di penetrare ulteriormente nella rete interna, una connessione più flessibile e potente lo rende molto più semplice.

In molti casi non sarai in grado di aprire una porta sul server compromesso e collegarti a questo, quindi in questo caso il tunneling di una connessione verso il tuo server è il modo migliore per ottenere una shell interattiva completa il sistema compromesso.

In genere la maggior parte dei firewall consente l'accesso in uscita sulla porta 443 / TCP come esempio, quindi è probabile che sia possibile creare un tunnel dal sistema compromesso al server su quella porta. Questo può darti una shell interattiva completa e rendere più facile penetrare ulteriormente nella rete. Inoltre, come bonus aggiuntivo, se utilizzi SSL per la connessione, può aiutare a offuscare il tuo traffico da eventuali sistemi di rilevamento delle intrusioni presenti.

    
risposta data 03.09.2012 - 09:54
fonte
2

Questo è ben trattato sopra, ma proverò a riassumere.

Un sistema non può accedere direttamente a tutti gli altri sistemi connessi a Internet. Gli host interni con indirizzi RFC1918 sono spesso accessibili solo tramite tunneling attraverso un host che collega la rete in cui ci si trova attualmente con la rete dell'host di destinazione.

Il tunnelling è una tecnica utile per diversi motivi:

  1. Fornisce l'accesso a sistemi, porte e applicazioni che altrimenti non sarebbero direttamente accessibili per te / il tuo sistema.
  2. Aiuta a evitare dispositivi di sicurezza basati sulla rete (piuttosto che basati su host) come IDS + IPS / WAF / Ispezione dei pacchetti.
  3. Protezione dei dati mentre viaggia attraverso la rete. Tunneling su SSH significa che gli host che stanno sniffando / esaminando il traffico che li attraversa non sono in grado di leggere i dati nella maggior parte dei casi.

Si noti che il "tunneling" è un termine onnicomprensivo - gli altri poster lo hanno trattato bene. Generalmente, significa solo incapsulare il tuo traffico in qualche altra forma. Una VPN, un proxy, un tunnel SSH o semplicemente l'uso di netcat per creare un tunnel TCP tra i sistemi sono tutti degli esempi, anche se sono limitati solo dal set di strumenti su ciascun host. Ptunnel sarebbe un buon esempio da studiare.

    
risposta data 09.09.2012 - 22:41
fonte

Leggi altre domande sui tag