Docker Forensics
Reading time: 4 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
Container modification
Bazı docker konteynerlerinin tehlikeye atıldığına dair şüpheler var:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
Bu konteynerde görüntü ile ilgili yapılan değişiklikleri kolayca bulabilirsiniz:
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
...
Önceki komutta C Değiştirildi ve A, Eklendi anlamına gelir.
Eğer /etc/shadow
gibi ilginç bir dosyanın değiştirildiğini bulursanız, kötü niyetli etkinlikleri kontrol etmek için dosyayı konteynerden indirmek için:
docker cp wordpress:/etc/shadow.
Aynı zamanda orijinal olanla karşılaştırabilirsiniz yeni bir konteyner çalıştırarak ve ondan dosyayı çıkararak:
docker run -d lamp-wordpress
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
diff original_shadow shadow
Eğer şüpheli bir dosyanın eklendiğini bulursanız, konteynıra erişip kontrol edebilirsiniz:
docker exec -it wordpress bash
Görüntü değişiklikleri
Bir dışa aktarılmış docker görüntüsü (muhtemelen .tar
formatında) verildiğinde, değişikliklerin bir özetini çıkarmak için container-diff kullanabilirsiniz:
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
Ardından, görüntüyü açabilir ve blob'lara erişebilirsiniz; böylece değişiklik geçmişinde bulmuş olabileceğiniz şüpheli dosyaları arayabilirsiniz:
tar -xf image.tar
Temel Analiz
Görüntüden temel bilgiler alabilirsiniz:
docker inspect <image>
Ayrıca değişiklikler tarihi özeti alabilirsiniz:
docker history --no-trunc <image>
Bir görüntüden dockerfile oluşturabilirsiniz:
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
Docker görüntülerinde eklenmiş/değiştirilmiş dosyaları bulmak için dive (bunu releases üzerinden indirin) aracını da kullanabilirsiniz:
#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
Bu, docker görüntülerinin farklı blob'ları arasında gezinmenizi ve hangi dosyaların değiştirildiğini/eklendiğini kontrol etmenizi sağlar. Kırmızı eklenmiş anlamına gelir ve sarı değiştirilmiş anlamına gelir. Diğer görünüme geçmek için tab tuşunu kullanın ve klasörleri açmak/kapatmak için space tuşunu kullanın.
Die ile görüntünün farklı aşamalarının içeriğine erişemeyeceksiniz. Bunu yapmak için her katmanı sıkıştırmanız ve erişmeniz gerekecek.
Bir görüntüden tüm katmanları, görüntünün sıkıştırıldığı dizinden şu komutu çalıştırarak sıkıştırabilirsiniz:
tar -xf image.tar
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
Bellekten Kimlik Bilgileri
Bir docker konteynerini bir ana bilgisayar içinde çalıştırdığınızda ana bilgisayardan konteynerde çalışan süreçleri görebileceğinizi unutmayın, sadece ps -ef
komutunu çalıştırarak.
Bu nedenle (root olarak) ana bilgisayardan süreçlerin belleğini dökebilir ve kimlik bilgilerini arayabilirsiniz, aşağıdaki örnekteki gibi.
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.