Docker Forensics
Last updated
Last updated
Вивчайте та практикуйте взлом AWS: Навчання HackTricks AWS Red Team Expert (ARTE) Вивчайте та практикуйте взлом GCP: Навчання HackTricks GCP Red Team Expert (GRTE)
Є підозри, що деякий контейнер Docker був скомпрометований:
Ви легко можете знайти модифікації, внесені до цього контейнера щодо зображення, за допомогою:
У попередній команді C означає Змінено, а A, Додано. Якщо ви виявите, що який-небудь цікавий файл, наприклад /etc/shadow
, був змінений, ви можете завантажити його з контейнера, щоб перевірити наявність зловмисної діяльності за допомогою:
Ви також можете порівняти його з оригіналом, запустивши новий контейнер і витягнувши файл з нього:
Якщо ви виявите, що додано підозрілий файл, ви можете отримати доступ до контейнера та перевірити його:
Коли вам надають експортоване зображення Docker (найімовірніше у форматі .tar
), ви можете використовувати container-diff, щоб витягти підсумок змін:
Після цього ви можете розпакувати зображення та отримати доступ до кульок, щоб шукати підозрілі файли, які ви могли знайти в історії змін:
Ви можете отримати базову інформацію з образу, що працює:
Ви також можете отримати історію змін за допомогою:
Ви також можете створити dockerfile з образу за допомогою:
Для пошуку доданих/змінених файлів в образах Docker ви також можете використовувати dive (завантажте його з релізів):
Це дозволяє вам переміщатися між різними блоками образів Docker та перевіряти, які файли були змінені/додані. Червоний означає додано, а жовтий - змінено. Використовуйте Tab, щоб перейти до іншого виду, та Пробіл, щоб згорнути/розгорнути папки.
За допомогою die ви не зможете отримати доступ до вмісту різних етапів зображення. Для цього вам потрібно розпакувати кожен шар та отримати до нього доступ. Ви можете розпакувати всі шари зображення з каталогу, де було розпаковано зображення, виконавши:
Зверніть увагу, що коли ви запускаєте контейнер Docker всередині хоста ви можете бачити процеси, що працюють в контейнері з хоста, просто запустивши ps -ef
Отже (як root) ви можете вивантажити пам'ять процесів з хоста та шукати облікові дані просто як у наступному прикладі.