hacktricks/forensics/basic-forensic-methodology/docker-forensics.md
2024-02-11 02:07:06 +00:00

6.4 KiB
Raw Blame History

Docker Forensika

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Houer-wysiging

Daar is vermoedens dat 'n sekere Docker-houer gekompromitteer is:

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
cc03e43a052a        lamp-wordpress      "./run.sh"          2 minutes ago       Up 2 minutes        80/tcp              wordpress

Jy kan maklik die wysigings wat aan hierdie houer gedoen is met betrekking tot die prent vind met:

docker diff wordpress
C /var
C /var/lib
C /var/lib/mysql
A /var/lib/mysql/ib_logfile0
A /var/lib/mysql/ib_logfile1
A /var/lib/mysql/ibdata1
A /var/lib/mysql/mysql
A /var/lib/mysql/mysql/time_zone_leap_second.MYI
A /var/lib/mysql/mysql/general_log.CSV
...

In die vorige opdrag beteken C Veranderd en A, Bygevoeg.
As jy vind dat 'n interessante lêer soos /etc/shadow gewysig is, kan jy dit van die houer aflaai om vir skadelike aktiwiteit te ondersoek met:

docker cp wordpress:/etc/shadow.

Jy kan dit ook vergelyk met die oorspronklike een deur 'n nuwe houer te hardloop en die lêer daaruit te onttrek:

docker run -d lamp-wordpress
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
diff original_shadow shadow

As jy vind dat 'n verdagte lêer bygevoeg is, kan jy toegang verkry tot die houer en dit nagaan:

docker exec -it wordpress bash

Beeldwysigings

Wanneer jy 'n uitgevoerde docker-beeld (waarskynlik in .tar-formaat) ontvang, kan jy container-diff gebruik om 'n opsomming van die wysigings te onttrek:

docker save <image> > image.tar #Export the image to a .tar file
container-diff analyze -t sizelayer image.tar
container-diff analyze -t history image.tar
container-diff analyze -t metadata image.tar

Dan kan jy die prentjie ontplooi en toegang verkry tot die blobs om te soek na verdagte lêers wat jy dalk in die veranderingsgeskiedenis gevind het:

tar -xf image.tar

Basiese Analise

Jy kan basiese inligting kry van die lopende prentjie:

docker inspect <image>

Jy kan ook 'n opsomming van die geskiedenis van veranderinge kry met:

docker history --no-trunc <image>

Jy kan ook 'n dockerfile van 'n prentjie genereer met:

alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
dfimage -sV=1.36 madhuakula/k8s-goat-hidden-in-layers>

Duik

Om bygevoegde/gewysigde lêers in Docker-beelde te vind, kan jy ook die duik (laai dit af vanaf vrystellings) nut gebruik:

#First you need to load the image in your docker repo
sudo docker load < image.tar                                                                                                                                                                                                         1 
Loaded image: flask:latest

#And then open it with dive:
sudo dive flask:latest

Dit stel jou in staat om deur die verskillende blobs van Docker-beelde te blaai en te kyk watter lêers gewysig/toegevoeg is. Rooi beteken toegevoeg en geel beteken gewysig. Gebruik tab om na die ander aansig te skuif en spasie om vouers in/uit te vou.

Met die sal jy nie toegang tot die inhoud van die verskillende fases van die beeld hê nie. Om dit te doen, sal jy elke laag moet dekomprimeer en toegang daartoe hê.
Jy kan al die lae van 'n beeld dekomprimeer vanuit die gids waar die beeld gedekomprimeer is deur die volgende uit te voer:

tar -xf image.tar
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done

Legitieme inligting uit geheue

Let daarop dat wanneer jy 'n docker-houer binne 'n gasheer uitvoer, kan jy die prosesse wat op die houer loop vanaf die gasheer sien deur eenvoudig ps -ef uit te voer.

Daarom kan jy (as root) die geheue van die prosesse uit die gasheer dump en soek na legitieme inligting net soos in die volgende voorbeeld.

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: