2375, 2376 Pentesting Docker
WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksies bied om te kontroleer of 'n maatskappy of sy kliënte gekompromiteer is deur stealer-malware.
Hul primêre doel van WhiteIntel is om rekening-oorneeminge en lospryse-aanvalle te beveg wat voortspruit uit inligtingsteel-malware.
Jy kan hul webwerf besoek en hul enjin gratis probeer by:
Docker Basics
Wat is
Docker is die voorste platform in die kontaineriseringsbedryf, wat deurlopende innovasie aanvoer. Dit fasiliteer die moeitelose skepping en verspreiding van aansoeke, wat strek van tradisioneel tot futuristies, en verseker hul veilige implementering oor diverse omgewings.
Basiese docker-argitektuur
containerd: Dit is 'n kern-hardloopomgewing vir kontainers, belas met die omvattende bestuur van 'n kontainer se lewensiklus. Dit behels die hanteer van beeldoorplasing en -berg, sowel as die toesig oor die uitvoering, monitering, en netwerking van kontainers. Meer gedetailleerde insigte oor containerd word verder ondersoek.
Die kontainer-skim speel 'n kritieke rol as 'n tussenganger in die hantering van koplose kontainers, wat naadloos oorneem van runc nadat die kontainers geïnisialiseer is.
runc: Geag vir sy ligte en universele kontainer-hardloopvermoëns, is runc belyn met die OCI-standaard. Dit word deur containerd gebruik om kontainers te begin en bestuur volgens die OCI-riglyne, wat ontwikkel het uit die oorspronklike libcontainer.
grpc is noodsaaklik vir die fasilitering van kommunikasie tussen containerd en die docker-enjin, wat doeltreffende interaksie verseker.
Die OCI is deurslaggewend om die OCI-spesifikasies vir hardloopomgewing en beelde te handhaaf, met die nuutste Docker-weergawes wat voldoen aan beide die OCI-beeld en -hardloopomgewing standaarde.
Basiese bevele
Containerd
Containerd is spesifiek ontwikkel om te voldoen aan die behoeftes van houerplatforms soos Docker en Kubernetes, onder andere. Dit streef daarna om die uitvoering van houers te vereenvoudig oor verskeie bedryfstelsels, insluitend Linux, Windows, Solaris, en meer, deur bedryfstelsel-spesifieke funksionaliteit en stelseloproepe te abstraheer. Die doel van Containerd is om slegs die noodsaaklike kenmerke wat deur sy gebruikers vereis word, in te sluit, en poog om onnodige komponente uit te sluit. Die bereiking van hierdie doel word egter erken as 'n uitdaging.
'n Sleutelontwerpbepaling is dat Containerd nie netwerkhantering hanteer nie. Netwerk is 'n kritieke element in verspreide stelsels, met kompleksiteite soos sagteware-gedefinieerde netwerke (SDN) en diensontdekking wat aansienlik van die een platform tot die ander verskil. Daarom laat Containerd die netwerkaspekte oor aan die platforms wat dit ondersteun.
Terwyl Docker Containerd benut om houers uit te voer, is dit belangrik om te let dat Containerd slegs 'n subset van Docker se funksionaliteite ondersteun. Spesifiek ontbreek Containerd die netwerkbestuursmoontlikhede wat teenwoordig is in Docker en ondersteun nie die direkte skepping van Docker-swerm nie. Hierdie onderskeid beklemtoon Containerd se gefokusde rol as 'n houer-uitvoeringsomgewing, wat meer gespesialiseerde funksionaliteite aan die platforms wat dit meeintegreer, oorlaat.
Podman
Podman is 'n oopbronkontainer-enjin wat voldoen aan die Open Container Initiative (OCI) standaarde, ontwikkel en onderhou deur Red Hat. Dit steek uit bo Docker met verskeie kenmerkende eienskappe, veral sy daemonless-argitektuur en ondersteuning vir rootless-containers, wat gebruikers in staat stel om houers sonder wortelpriviliges uit te voer.
Podman is ontwerp om verenigbaar te wees met Docker se API, wat die gebruik van Docker CLI-opdragte moontlik maak. Hierdie verenigbaarheid strek tot sy ekosisteem, wat gereedskap soos Buildah vir die bou van kontainerbeelde en Skopeo vir beeldoperasies soos stoot, trek en inspekteer, insluit. Meer besonderhede oor hierdie gereedskap kan gevind word op hul GitHub-bladsy.
Belangrike Verskille
Argitektuur: Anders as Docker se kliënt-bedienermodel met 'n agtergronddaemon, werk Podman sonder 'n daemon. Hierdie ontwerp beteken dat houers met die voorregte van die gebruiker wat hulle begin, hardloop, wat die sekuriteit verbeter deur die behoefte aan worteltoegang te elimineer.
Systemd-integrasie: Podman integreer met systemd om houers te bestuur, wat houerbestuur deur systemd-eenhede moontlik maak. Dit verskil van Docker se gebruik van systemd hoofsaaklik vir die bestuur van die Docker-daemonproses.
Rootless-houers: 'n Kernfunksie van Podman is sy vermoë om houers onder die voorregte van die inisieerende gebruiker uit te voer. Hierdie benadering minimaliseer die risiko's wat gepaard gaan met kontainer-oortredings deur te verseker dat aanvallers slegs die voorregte van die gekompromitteerde gebruiker verkry, nie worteltoegang nie.
Podman se benadering bied 'n veilige en buigsame alternatief vir Docker, wat klem lê op gebruikersprivilige-bestuur en verenigbaarheid met bestaande Docker-werkvloeie.
Let daarop dat aangesien podman daarop gemik is om dieselfde API as docker te ondersteun, kan jy dieselfde opdragte met podman gebruik as met docker soos:
Basiese Inligting
Die afgeleë API word standaard op poort 2375 uitgevoer wanneer dit geaktiveer is. Die diens vereis standaard nie verifikasie nie, wat 'n aanvaller in staat stel om 'n bevoorregte docker-houer te begin. Deur die Afgeleë API te gebruik, kan 'n persoon gasheer / (roetegids) aan die houer heg en lêers van die gasheer se omgewing lees/skryf.
Verstekpoort: 2375
Opsomming
Handleiding
Merk op dat om die docker API op te som, kan jy die docker
bevel of curl
gebruik soos in die volgende voorbeeld:
Indien jy die afgeleë docker API kan kontak met die docker
bevel, kan jy enige van die docker bevele wat voorheen gekommentaar is uitvoer om met die diens te skakel.
Jy kan export DOCKER_HOST="tcp://localhost:2375"
en vermy die gebruik van die -H
parameter met die docker bevel
Vinnige bevoorregte eskalasie
Curl
Soms sien jy 2376 op vir die TLS eindpunt. Ek was nie in staat om daarmee te verbind met die docker-klient nie, maar dit is moontlik om dit met curl te doen.
Indien jy meer inligting wil hê oor hierdie, is meer inligting beskikbaar waar ek die opdragte gekopieer het: https://securityboulevard.com/2019/02/abusing-docker-api-socket/
Outomaties
Kompromittering
Op die volgende bladsy kan jy maniere vind om uit 'n Docker-houer te ontsnap:
pageDocker SecurityDeur hiervan misbruik te maak, is dit moontlik om uit 'n houer te ontsnap, jy kan 'n swak houer op die afgeleë masjien hardloop, daaruit ontsnap, en die masjien kompromitteer:
Bevoorregte Eskalasie
Indien jy binne 'n gasheer is wat Docker gebruik, kan jy hierdie inligting lees om te probeer om voorregte te verhoog.
Ontdekking van geheime inligting in hardloop Docker-houers
Kyk na env (omgewingsveranderlike afdeling) vir geheime en jy mag dalk vind:
Wagwoorde.
IP-adresse.
Poorte.
Paaie.
Ander... .
As jy 'n lêer wil onttrek:
Die beveiliging van jou Docker
Die beveiliging van Docker installasie en gebruik
Jy kan die instrument https://github.com/docker/docker-bench-security gebruik om jou huidige docker installasie te ondersoek.
./docker-bench-security.sh
Jy kan die instrument https://github.com/kost/dockscan gebruik om jou huidige docker installasie te ondersoek.
dockscan -v unix:///var/run/docker.sock
Jy kan die instrument https://github.com/genuinetools/amicontained gebruik om die voorregte te sien wat 'n houer sal hê wanneer dit met verskillende sekuriteitsopsies uitgevoer word. Dit is nuttig om die implikasies van die gebruik van sekuriteitsopsies vir die uitvoer van 'n houer te ken:
docker run --rm -it r.j3ss.co/amicontained
docker run --rm -it --pid host r.j3ss.co/amicontained
docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained
Die beveiliging van Docker Beelde
Jy kan 'n docker beeld van https://github.com/quay/clair gebruik om dit jou ander docker beelde te laat skandeer en kwesbaarhede te vind.
docker run --rm -v /root/clair_config/:/config -p 6060-6061:6060-6061 -d clair -config="/config/config.yaml"
clair-scanner -c http://172.17.0.3:6060 --ip 172.17.0.1 ubuntu-image
Die beveiliging van Docker lêers
Jy kan die instrument https://github.com/buddy-works/dockerfile-linter gebruik om jou Docker-lêer te ondersoek en allerhande verkeerde konfigurasies te vind. Elke verkeerde konfigurasie sal 'n ID kry, jy kan hier vind https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md hoe om elkeen van hulle reg te stel.
dockerfilelinter -f Dockerfile
Jy kan die instrument https://github.com/replicatedhq/dockerfilelint gebruik om jou Docker-lêer te ondersoek en allerhande verkeerde konfigurasies te vind.
dockerfilelint Dockerfile
Jy kan die instrument https://github.com/RedCoolBeans/dockerlint gebruik om jou Docker-lêer te ondersoek en allerhande verkeerde konfigurasies te vind.
dockerlint Dockerfile
Jy kan die instrument https://github.com/hadolint/hadolint gebruik om jou Docker-lêer te ondersoek en allerhande verkeerde konfigurasies te vind.
hadolint Dockerfile
Log van Verdagte aktiwiteit
Jy kan die instrument https://github.com/falcosecurity/falco gebruik om verdagte gedrag in lopende houers op te spoor.
Merk op in die volgende blok hoe Falco 'n kernel module saamstel en dit invoeg. Daarna laai dit die reëls en begin dit met die log van verdagte aktiwiteite. In hierdie geval het dit 2 bevoorregte houers opgespoor wat begin is, een met 'n sensitiewe berg, en na 'n paar sekondes het dit opgespoor hoe 'n skul in een van die houers oopgemaak is.
Monitering Docker
Jy kan auditd gebruik om docker te monitor.
Verwysings
WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksionaliteite bied om te kontroleer of 'n maatskappy of sy kliënte gekompromiteer is deur stealer malware.
Hul primêre doel van WhiteIntel is om rekening-oorneemings en lospryse aanvalle te beveg wat voortspruit uit inligtingsteel-malware.
Jy kan hul webwerf besoek en hul enjin gratis probeer by:
Last updated