Not able to retrieve metadata from AWS EC2 instance
Author: ilija-lazoroskiCreated Aug 14, 2024Updated Aug 14, 2024
LabelsBug
Describe the bug
When running an Monkey Island on AWS EC2 instance we are not able to retrieve the metadata. In order to read the AWS Instance metadata we need to send a token along with the request to receive the metadata. The related code is in aws_metadata.py
More info: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
To Reproduce
Steps to reproduce the behavior:
- Create AWS EC2 instance
- Run the Monkey Island on the instance
- See that the Run on AWS button is not showing
- Check the logs and see the following log:
2024-08-06 09:31:52,356 - DEBUG - connectionpool.py:473 - _make_request() - [http://ip:80](http://ip/) "GET /latest/meta-data/instance-id HTTP/1.1" 401 343
2024-08-06 09:31:52,358 - DEBUG - aws_metadata.py:31 - fetch_aws_instance_metadata() - Failed init of AWSInstance while getting metadata: 401 Client Error: Unauthorized for url: http://ip/latest/meta-data/instance-idExpected behavior
Add a function to retrieve the token before requesting the aws metadata
Source: guardicore/monkey