Ottieni dati senza rilevamento firewall

0

Stavo sfogliando alcune domande sulla sicurezza informatica e mi sono imbattuto in una domanda che mi è rimasta impressa nella mente, quindi ho pensato che forse dovrei chiedere qui.

La domanda è:

What is a way to get data from a private network you hacked, without being detected. The network has a NAT gateway (including firewall) to the public Internet.

Stavo pensando: dato che c'è un firewall sul posto, la maggior parte delle connessioni in entrata sarà probabilmente registrata o bloccata. Quindi, per ottenere dati, proverei ad avviare la trasmissione dalla rete alla rete pubblica. Inoltre, poiché il sistema è già compromesso, è possibile salvare il registro del firewall prima di trasmettere i dati e ripristinarli al termine della transazione del file di copia.

La mia idea è completa o c'è una risposta chiara a questo? Questo è solo per curiosità, non voglio motivare qualcuno a descrivere le abilità di hacking di dettaglio ora, solo un approccio generale sarebbe fantastico.

    
posta Tom 27.05.2018 - 05:53
fonte

3 risposte

1

A mio parere, quando si tratta di estrarre dati, è necessario affrontare la situazione da due:

  • Rete pubblica (il nostro gateway NAT (incluso il firewall))
  • Rete interna (VLAN interne, rete interna)

In generale il gateway NAT (incluso il firewall) non farà nulla (nada, vuoto, solo IP e porte ... evviva!) per proteggere tutti i dati fino alle porte aperte (inoltrate) con i loro rispettivi servizi o applicazioni. vulnerabili.

Se nella tua rete è presente un'applicazione vulnerabile con Remote Code Execution e la esporti al mondo, allora il lavoro è fatto. È solo una questione di tempo fino a quando un utente malintenzionato con conoscenza all'RCE eseguirà l'espansione dei dati da quel server e da altre risorse dalla rete interna (facendo perno sul primo server Web).

Anche più un gateway NAT (incluso il firewall) non ti proteggerà da Reverse Shells o altri mezzi di estrazione dei dati dalla rete interna.

Inoltre, nel caso di un'applicazione Web, non si desidera nemmeno preoccuparsi dei registri in quanto essi registrerebbero solo l'accesso (vietato o meno). La tua applicazione web esposta al mondo, grazie e so che sembrerò un utente legittimo quando invierò il carico utile, per quanto non invii molte richieste al secondo.

In una risposta breve, a mio parere:

  • Il modo migliore per rilevare un attacco su un'applicazione Web è usare un WAF.
  • Il modo migliore per rilevare un attacco a qualcosa è usare un IPS / IDS.
  • Il modo migliore per proteggere la perdita di dati è di avere un DLP e un IDS a l'lvl della rete con determinati dispositivi host o su server.
  • Il modo migliore per limitare e gestire l'accesso alla rete è utilizzare un firewall.

Alcuni modi complicati per estrarre i dati da una rete interna o da un server di applicazioni interno:

  • Sulla porta 0 (sì, è una porta)
  • Richieste web over (richiedo attacker.ex / data? = this_is_the_victim_data)
  • Richieste DNS (richiedo questo_is_the_victim_data.attacker.ex)
  • su VPN o proxy (dovrebbe essere la tua ultima opzione in quanto può essere facilmente rilevata)
  • Su alcuni servizi pubblici e legittimi (applicazioni Web, ftps, ftp, ecc.)
  • Sostituendo un servizio legittimo (ad esempio, sostituisci il servizio ssh su un server pubblico compromesso ed estrai i dati attraverso il banner ssh generalmente ignorato)
  • Sky è il limite qui ...

Sì, per: "Inoltre, poiché il sistema è già compromesso, potrei salvare il registro del firewall prima di trasmettere i dati e ripristinarli al termine della transazione del file di copia."

"La mia idea è completa o c'è una risposta chiara a questo?" È difficile sostituire un log ma è stato fatto prima, l'ho già fatto prima.

Non aggiungiamo tutti i modi in cui potresti non essere registrato o bloccato da un firewall e tenerlo per un giorno migliore.

    
risposta data 27.05.2018 - 08:14
fonte
1

Senza più contesto per la domanda, è molto difficile suggerire qualcosa di concreto. "hacked" implica che tu abbia una sorta di presenza all'interno della rete e presumibilmente non rientra nella portata della questione del rilevamento - quindi, ad eccezione del caso in cui alcuni malware funzionano autonomamente all'interno della rete, è difficile immaginare quale tipo di compromesso raggiunto che non ti consente di esfiltrare i dati.

Ma lasciandolo da parte per ora - hai bisogno di un mechansim che non sia bloccato dai controlli esistenti, non rilevato dai controlli esistenti e, auspicabilmente, non registrato dai controlli esistenti. Come le altre risposte dicono che "NAT" di per sé non significa nulla - potrebbe significare che solo specifici indirizzi IP hanno mapping a indirizzi esterni. Potrebbe significare che tutto è mascherato. Potrebbe significare che il port forwarding è permesso.

Un approccio che fa tic tac molte scatole sarebbe il DNS. Usa UDP, quindi è facile falsificare un indirizzo. L'infrastruttura esistente potrebbe essere cooptata per facilitare l'operazione. OTOH, la codifica dei dati nelle ricerche DNS non è la soluzione più efficiente in termini di velocità effettiva. I dispositivi edge migliori rileveranno questo tipo di attività a meno che non si riduca veramente la velocità.

Un altro approccio per rendere il tuo traffico simile al traffico previsto consiste nel collegare il tuo malware a Gmail / Hotmail su TLS (controllando il certificato) e inviare semplicemente via email i dati.

    
risposta data 26.06.2018 - 17:27
fonte
0

Quindi la risposta di Lucian è abbastanza dettagliata, ho solo intenzione di aggiungervi qui.

Esistono alcuni modi per estrarre i dati senza essere rilevati da un firewall.

La maggior parte dei firewall presuppongono che i client sulla loro rete necessitino di accesso Web. Ciò significa che potrebbero fare il beaconing sulle porte 80 e 443. Quindi, quando esamini di nuovo il tuo attacco, fallo su quelle porte.

Un altro trucco è usare netcat e non nc . netcat ha un'opzione ssl. In questo modo puoi creare una connessione protetta ed evitare qualsiasi ispezione approfondita dei pacchetti che la rete potrebbe fare.

Se hai una connessione SSH, puoi scavarla in questo modo. Questa sarebbe l'opzione più sicura.

Le dichiarazioni di non responsabilità sono:

  1. Non sono un addetto alla penetrazione professionale, quindi sono sicuro che ci sono molte cose che ho perso.
  2. Il tuo metodo di estrazione sarà molto dipendente dal tuo target e dalla rete.
risposta data 26.06.2018 - 15:50
fonte

Leggi altre domande sui tag