EC2インスタンスメタデータv2からワンライナーでクレデンシャルを取得してみた

EC2インスタンスメタデータv2からワンライナーでクレデンシャルを取得してみた

EC2のクレデンシャルを漏洩させるためのワンライナーをIMDSv2ように作りました。GuardDutyの検証が捗りますね。
Clock Icon2024.10.29

こんにちは、臼田です。

みなさん、EC2のクレデンシャル漏洩してますか?(挨拶

今回は、下記の以前書いたEC2インスタンスメタデータからワンライナーでクレデンシャルを取得するブログのIMDSv2版です。

https://dev.classmethod.jp/articles/ec2-credentials-exfiltration-oneliner/

クレデンシャルを漏洩させてGuardDutyの検出をシミュレーションしましょう。

ワンライナー

IMDSv2環境でのワンライナーはこちらです。

mu=http://169.254.169.254/latest/meta-data/iam/security-credentials/;TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` && curl -H "X-aws-ec2-metadata-token: $TOKEN" -s $mu | echo $mu$(cat) | xargs -n1 curl -H "X-aws-ec2-metadata-token: $TOKEN"

一応の解説

この趣旨は前回の記事で書いているのですが、ちょこっと書いておきます。

IMDSv2を利用するとEC2の脆弱性を利用されてインスタンスメタデータが流出することを抑止することが可能です。しかしそれで完全に防止することができるわけではありません。あくまで攻撃の難易度が上がるだけです。

というわけで引き続きインスタンスメタデータの漏洩に留意してアプリケーションを構築する必要があります。

今回のワンライナーを利用することで漏洩時のシミュレーションをしてGuardDutyで検出させることができるので、実際にどのような検出をするのか、どう対処すべきか検討できます。是非活用してください。

まとめ

EC2のクレデンシャルを漏洩して、いっぱい検証しよう!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.