Docker Forensics
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Deepen your expertise in Mobile Security with 8kSec Academy. Master iOS and Android security through our self-paced courses and get certified:
Istnieją podejrzenia, że niektóry kontener dockerowy został skompromitowany:
Możesz łatwo znaleźć modyfikacje wprowadzone do tego kontenera w odniesieniu do obrazu za pomocą:
W poprzedniej komendzie C oznacza Zmienione, a A oznacza Dodane.
Jeśli znajdziesz, że jakiś interesujący plik, taki jak /etc/shadow
, został zmodyfikowany, możesz go pobrać z kontenera, aby sprawdzić aktywność złośliwą za pomocą:
Możesz również porównać to z oryginałem, uruchamiając nowy kontener i wyodrębniając z niego plik:
Jeśli stwierdzisz, że dodano jakiś podejrzany plik, możesz uzyskać dostęp do kontenera i go sprawdzić:
Gdy otrzymasz wyeksportowany obraz dockera (prawdopodobnie w formacie .tar
), możesz użyć container-diff, aby wyodrębnić podsumowanie modyfikacji:
Następnie możesz rozpakować obraz i uzyskać dostęp do blobów, aby przeszukać podejrzane pliki, które mogłeś znaleźć w historii zmian:
Możesz uzyskać podstawowe informacje z obrazu, uruchamiając:
Możesz również uzyskać podsumowanie historii zmian za pomocą:
Możesz również wygenerować dockerfile z obrazu za pomocą:
Aby znaleźć dodane/zmodyfikowane pliki w obrazach docker, możesz również użyć narzędzia dive (pobierz je z releases):
To pozwala na nawigację przez różne bloby obrazów dockera i sprawdzenie, które pliki zostały zmodyfikowane/dodane. Czerwony oznacza dodane, a żółty oznacza zmodyfikowane. Użyj tab aby przejść do innego widoku i spacja aby zwinąć/otworzyć foldery.
Z die nie będziesz w stanie uzyskać dostępu do zawartości różnych etapów obrazu. Aby to zrobić, musisz dekompresować każdą warstwę i uzyskać do niej dostęp. Możesz dekompresować wszystkie warstwy z obrazu z katalogu, w którym obraz został dekompresowany, wykonując:
Zauważ, że gdy uruchamiasz kontener docker na hoście, możesz zobaczyć procesy działające w kontenerze z poziomu hosta po prostu uruchamiając ps -ef
.
Dlatego (jako root) możesz zrzucić pamięć procesów z hosta i wyszukiwać credentials tak jak w poniższym przykładzie.
Pogłęb swoją wiedzę w Mobile Security z 8kSec Academy. Opanuj bezpieczeństwo iOS i Androida dzięki naszym kursom w trybie samodzielnym i zdobądź certyfikat:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)