Esposizione della rete dei container
Un porto pubblicato e il database è su Internet.
Cos’è Esposizione della rete dei container?
La pubblicazione di una porta del contenitore la collega a ogni interfaccia sull'host per impostazione predefinita, quindi una mappatura aggiunta per comodità locale può mettere un database su Internet pubblico senza alcuna modifica al firewall del cloud. Per prima cosa ti schiererai dalla parte dell'aggressore: esegui la scansione dell'host, ti connetti direttamente al database con una vecchia password rubata e leggi i record dei clienti senza alcuna applicazione nel percorso. Quindi collegherai la mappatura a 127.0.0.1, verificherai dall'esterno e ruoterai la credenziale esposta.
Cosa imparerai in Esposizione della rete dei container
- Tieni presente che la pubblicazione di una porta del contenitore con -p la lega a ogni interfaccia sull'host, comprese quelle pubbliche
- Traccia un database esposto alla sua mappatura della porta Compose leggendo la colonna PORTS del contenitore in esecuzione
- Spiegare perché un firewall cloud o una revisione del gruppo di sicurezza non riflette mai una porta pubblicata dal runtime del contenitore sull'host
- Applicare un collegamento 127.0.0.1 alla mappatura delle porte e verificare dall'esterno che il database non sia più raggiungibile
- Ruota qualsiasi credenziale raggiungibile mentre la porta era aperta, perché chiuderla non invalida quella rubata
Esposizione della rete dei container — Fasi della formazione
-
Un database su internet aperto
Bob non è dentro a nulla. Settimane fa ha acquistato un dump che includeva una credenziale di sola lettura per un database di Halvexis, ma una credenziale è inutile se non si può raggiungere il database. Quindi scansiona gli host dei data store dell'azienda per vedere se qualcuno risponde dall'esterno.
-
Dritto dentro, nessuna applicazione
Non c'è nessuna pagina di login, nessuna API, nessun rate limit. Una porta di database pubblicata parla il protocollo Postgres grezzo a chiunque riesca a raggiungerla. Bob punta un client per database direttamente su di essa e si autentica con la credenziale che aveva già.
-
Leggi la tabella residents
La credenziale è di sola lettura, ed è tutto ciò di cui Bob ha bisogno. Interroga la tabella che contiene gli inquilini della piattaforma e i loro dettagli, direttamente dalla produzione.
-
Cosa è cambiato
Bob ha questa esatta credenziale da mesi e non l'ha mai usata.
-
Il monitoraggio segnala il traffico
Halvexis esegue il monitoraggio cloud sui suoi host di produzione. Non sa a cosa serva il database; riporta ciò che ha visto.
-
Trova la porta aperta
Se i security group non sono cambiati, l'esposizione è stata creata sull'host stesso, dal modo in cui un container ha pubblicato la sua porta. Alice elenca il container del database e legge la colonna che indica a quali interfacce è associata la porta.
-
Dove viene pubblicata la porta
Il mapping della porta proviene dal file Compose che definisce lo stack. Alice lo apre per vedere la riga che ha pubblicato la 5432.
-
La riga responsabile
Un unico mapping, scritto nel modo in cui uno sviluppatore lo scrive sul proprio laptop, è ciò che ha messo il database su internet quando questo stack è stato distribuito in produzione.
-
Associalo a localhost
L'API raggiunge il database attraverso la rete Compose tramite il suo nome di servizio, non attraverso una porta host pubblicata. Quindi il mapping dell'host non ha alcun bisogno di essere pubblico. Alice lo fissa all'interfaccia di loopback, così solo l'host stesso, e i container sulla sua rete, possono raggiungerlo.
-
Leggi il binding corretto
La modifica è un solo prefisso di interfaccia, ma è l'intera correzione. Alice esamina il mapping associato prima di ridistribuire, per vedere esattamente cosa è ora raggiungibile e da dove.
Copertura dei framework di sicurezza
CWE
- CWE-668 Exposure of Resource to Wrong Sphere
- CWE-306 Missing Authentication for Critical Function
MITRE ATT&CK
- T1046 Network Service Discovery
- T1210 Exploitation of Remote Services
CIS Controls
- CIS 12 Network Infrastructure Management
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.IR Technology Infrastructure Resilience