Blootstelling van het containernetwerk

Blootstelling van het containernetwerk

Eén gepubliceerde poort en de database staat op internet.

Wat is Blootstelling van het containernetwerk?

Door een containerpoort te publiceren, wordt deze standaard aan elke interface op de host gekoppeld, zodat een voor lokaal gemak toegevoegde mapping een database op het openbare internet kan plaatsen zonder enige wijziging aan de cloudfirewall. U kiest eerst de kant van de aanvaller: scan de host, maak rechtstreeks verbinding met de database met een oud gestolen wachtwoord en lees klantgegevens zonder toepassing in het pad. Vervolgens koppelt u de toewijzing aan 127.0.0.1, verifieert u van buitenaf en roteert u de weergegeven referentie.

Wat je leert in Blootstelling van het containernetwerk

Blootstelling van het containernetwerk — Trainingsstappen

  1. Een database op het open internet

    Bob bevindt zich nergens binnenin. Weken geleden kocht hij een dump met daarin een read-only databasecredential voor Halvexis, maar een credential is nutteloos als je de database niet kunt bereiken. Dus scant hij de data-store-hosts van het bedrijf om te zien of een ervan van buitenaf reageert.

  2. Rechtstreeks naar binnen, geen applicatie

    Er is geen inlogpagina, geen API, geen rate limit. Een gepubliceerde databasepoort spreekt het onbewerkte Postgres-protocol tegen iedereen die haar kan bereiken. Bob richt een databaseclient rechtstreeks erop en authenticeert met de credential die hij al had.

  3. Lees de residents-tabel

    De credential is read-only, en dat is alles wat Bob nodig heeft. Hij bevraagt de tabel met de huurders van het platform en hun gegevens, rechtstreeks uit productie.

  4. Wat er is veranderd

    Bob heeft deze exacte credential al maanden en heeft hem nooit gebruikt.

  5. Monitoring signaleert het verkeer

    Halvexis draait cloudmonitoring op zijn productiehosts. Het weet niet waar de database voor dient; het rapporteert wat het heeft gezien.

  6. Zoek de open poort

    Als de security groups niet zijn veranderd, is de blootstelling ontstaan op de host zelf, door de manier waarop een container zijn poort publiceerde. Alice toont de databasecontainer en leest de ene kolom die aangeeft aan welke interfaces de poort gebonden is.

  7. Waar de poort wordt gepubliceerd

    De poortmapping komt uit het Compose-bestand dat de stack definieert. Alice opent het om de regel te zien die 5432 publiceerde.

  8. De regel die het deed

    Eén mapping, geschreven zoals een developer die op zijn laptop schrijft, is wat de database op het internet zette toen deze stack werd uitgeleverd naar productie.

  9. Bind het aan localhost

    De API bereikt de database via het Compose-netwerk met de servicenaam, niet via een gepubliceerde hostpoort. De hostmapping hoeft dus helemaal niet publiek te zijn. Alice bindt hem aan de loopback-interface, zodat alleen de host zelf en de containers op zijn netwerk hem kunnen bereiken.

  10. Lees de herstelde binding

    De wijziging is één interface-prefix, maar het is de hele fix. Alice loopt de gebonden mapping door voordat ze opnieuw deployt, om precies te zien wat nu bereikbaar is en van waaruit.

Dekking van beveiligingsframeworks

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