hacktricks/forensics/basic-forensic-methodology/docker-forensics.md
2024-02-10 13:11:20 +00:00

6.4 KiB
Raw Blame History

Forenzika Docker-a

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Modifikacija kontejnera

Postoje sumnje da je neki docker kontejner kompromitovan:

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

Lako možete pronaći izmene koje su napravljene na ovom kontejneru u vezi sa slikom pomoću:

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
...

U prethodnoj komandi C znači Promenjeno i A, Dodato.
Ako primetite da je neka zanimljiva datoteka poput /etc/shadow izmenjena, možete je preuzeti iz kontejnera kako biste proverili da li postoji zlonamerna aktivnost pomoću:

docker cp wordpress:/etc/shadow.

Možete ga takođe uporediti sa originalnim pokretanjem nove kontejnera i izvlačenjem datoteke iz njega:

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

Ako primetite da je dodat sumnjiv fajl, možete pristupiti kontejneru i proveriti ga:

docker exec -it wordpress bash

Modifikacije slika

Kada vam je dat izvezena Docker slika (verovatno u .tar formatu), možete koristiti container-diff da izvučete sažetak modifikacija:

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

Zatim možete dekompresovati sliku i pristupiti blobovima kako biste pretražili sumnjive datoteke koje ste možda pronašli u istoriji promena:

tar -xf image.tar

Osnovna analiza

Možete dobiti osnovne informacije o pokrenutoj slici:

docker inspect <image>

Takođe možete dobiti sažetak istorije promena sa:

docker history --no-trunc <image>

Takođe možete generisati dockerfile iz slike pomoću:

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>

Dive

Da biste pronašli dodate/izmenjene datoteke u Docker slikama, možete koristiti i dive (preuzmite ga sa releases) alat:

#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

Ovo vam omogućava da navigirate kroz različite blobove Docker slika i proverite koje su datoteke izmenjene/dodate. Crvena boja označava dodate datoteke, a žuta boja označava izmenjene datoteke. Koristite tab za prelazak na drugi prikaz i razmaknicu za skupljanje/otvaranje foldera.

Sa die-om nećete moći da pristupite sadržaju različitih faza slike. Da biste to uradili, moraćete dekompresovati svaki sloj i pristupiti mu.
Možete dekompresovati sve slojeve slike iz direktorijuma gde je slika dekompresovana izvršavanjem:

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

Poverenijalni podaci iz memorije

Imajte na umu da kada pokrenete Docker kontejner unutar hosta, možete videti procese koji se izvršavaju na kontejneru sa hosta tako što ćete pokrenuti ps -ef.

Stoga (kao root) možete izvući memoriju procesa sa hosta i pretraživati je u potrazi za poverenijalnim podacima, baš kao u sledećem primeru.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: