Grandmaster rank emblem

Lvl 99

Level XP3,807/5,718

3807 of 5718
Grandmaster dreadnaught
Machine
Bucket
OS
Linux
Difficulty
Medium
Steps
4
Added
23 Mar 2023

An unauthenticated DynamoDB and a writable S3 bucket give a shell; a PDF renderer SSRF reads root's SSH key.

0Reconnmap1FootholdS3 DynamoDB2FootholdS3 upload3Lateralroy4Priv escpd4ml SSRF
1Recon2Foothold3Lateral4Priv escnmap1S3 DynamoDB2S3 upload3roy4pd4ml SSRF5

How it went

  1. 0
    nmap

    An nmap scan reveals bucket.htb and an s3.bucket.htb subdomain.

  2. 1
    S3 DynamoDB

    The S3 endpoint exposes an unauthenticated DynamoDB; the AWS CLI dumps a users table full of credentials.

  3. 2
    S3 upload

    The adserver bucket is writable and backs the webroot, so an uploaded PHP shell runs as www-data.

  4. 3
    roy

    A reused Sysadm password gives SSH access as roy and the user flag.

  5. 4
    pd4ml SSRF

    An internal bucket-app renders DynamoDB rows to PDF with pd4ml; a crafted attachment row reads root's SSH key for a root login.