8.5 KiB
Dockerフォレンジック
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ会社で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
-
ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。
コンテナの変更
あるDockerコンテナが侵害された疑いがあります:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
このコンテナに関してイメージに対して行われた変更を簡単に見つけることができます。以下のコマンドを使用します:
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
...
前のコマンドで、Cは変更を意味し、Aは追加を意味します。
もし、/etc/shadow
のような興味深いファイルが変更されていることがわかった場合、以下のコマンドを使用してコンテナからダウンロードし、悪意のある活動をチェックすることができます。
docker cp wordpress:/etc/shadow.
新しいコンテナを実行し、そこからファイルを抽出して元のファイルと比較することもできます。
docker run -d lamp-wordpress
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
diff original_shadow shadow
もし何らかの不審なファイルが追加されたことがわかった場合、コンテナにアクセスして確認することができます。
docker exec -it wordpress bash
画像の変更
エクスポートされたDockerイメージ(おそらく.tar
形式)が与えられた場合、container-diffを使用して、変更の概要を抽出することができます。
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
次に、イメージを解凍し、変更履歴で見つけた疑わしいファイルを検索するためにブロブにアクセスできます。
tar -xf image.tar
基本的な分析
実行中のイメージから基本情報を取得できます:
docker inspect <image>
次のコマンドを使用して、変更の要約履歴を取得することもできます:
git log --oneline
docker history --no-trunc <image>
イメージからdockerfileを生成することもできます。以下のコマンドを使用します:
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イメージ内の追加/変更されたファイルを見つけるために、dive(リリースからダウンロード)ユーティリティを使用することもできます。
#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
これにより、Dockerイメージの異なるブロブをナビゲートし、変更/追加されたファイルを確認することができます。赤色は追加されたことを意味し、黄色は変更されたことを意味します。Tabキーを使用して他のビューに移動し、スペースキーを使用してフォルダを折りたたむ/展開することができます。
dieを使用すると、イメージの異なるステージの内容にアクセスすることはできません。そのため、各レイヤーを解凍してアクセスする必要があります。
イメージのすべてのレイヤーを解凍するには、イメージが解凍されたディレクトリで次のコマンドを実行します:
tar -xf image.tar
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
メモリからの資格情報
注意してください、ホスト内でDockerコンテナを実行すると、ホストからコンテナで実行されているプロセスをps -ef
コマンドで確認できます。
したがって(rootとして)ホストからプロセスのメモリをダンプし、以下の例のように、資格情報を検索することができます。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見しましょう。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
-
ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。