Party Cat0%

12/09/24

ExplotacideversionsdebucketS3

BucketWars | CSAW CTF 2024

Thanks for sharing!

亘賽爻賿賲賽 丕賱賱賻賾賴賽 丕賱乇賻賾丨賿賲賻賳賽 丕賱乇賻賾丨賽賷賲賽

Explotaci贸 de versions de bucket S3
I know your browser history

BucketWars - CSAW CTF 2024 Quals

Benvinguts al meu primer escrit en aquest nou bloc! En aquesta publicaci贸, ens endinsarem en el repte BucketWars dels CSAW CTF 2024 Quals. Aquest repte consisteix a explorar les versions del cub S3 i la recuperaci贸 d'objectes.
Per als interessats, podeu trobar el repositori de reptes a GitHub aqu铆.
Espero que gaudiu d'aquesta immersi贸 profunda a BucketWars. Comencem!

Primers passos

El repte es titulava BucketWars, de manera que es va suposar immediatament que implicava S3 Buckets.
Main page
Naturalment, el meu primer moviment va ser comprovar la imatge src amb l'esperan莽a d'obtenir l'URL del cub S3 immediatament. Malauradament, no hi ha sort: la imatge es va allotjar externament aqu铆.
Tanmateix, la descripci贸 del repte a la p脿gina principal va proporcionar una pista important:
"Mirar m茅s a fons la galleda robada nom茅s revela versions passades de nosaltres mateixos que es podrien reflexionar".
Evidentment, la clau estava en la versi贸. Vaig dirigir-me a la pestanya Versions.

Explorant versions

En comprovar la pestanya Versions, vaig trobar diverses versions amb l'etiqueta V1, V2, V3, V4, and V5.
Versions page
Explorant V1, no he trobat res 煤til, ni a la p脿gina ni al codi font.
V1 page
Vaig continuar investigant les altres versions, per貌 totes contenien nom茅s imatges sense cap pista aparent.
V3 page

Aprofundint

Mentre navegava per les versions, vaig notar un patr贸 d'URL consistent: index_v1.html, index_v2.html, etc. Vaig decidir superar els l铆mits i provar index_v6.html.
Not found page
Bingo! Tot i que va retornar un 404 Not Found, la resposta va revelar alguna cosa m茅s valuosa: l'URL del cub S3: https://s3.us-east-2.amazonaws.com/bucketwars.ctf.csaw.io/.
Intrigat, tamb茅 vaig veure un fitxer anomenat 404.jpg. Pensant que podria amagar alguna cosa, vaig provar d'utilitzar steghide per extreure els fitxers amagats:
Malauradament, no s'han trobat dades. Per貌 encara no havia acabat.

Tocant un mur: Acc茅s denegat

A continuaci贸, vaig visitar l'URL S3 per veure si era accessible p煤blicament.
S3 access denied
Negat! La galleda era privada.
Amb l'enfocament del repte en el control de versions encara en ment, vaig comen莽ar a investigar el control de versions S3 i vaig trobar aquesta documentaci贸 d'AWS.
Resulta que els cubs versioning-enabled emmagatzemen diverses versions d'objectes. Tamb茅 vaig descobrir un m猫tode per llistar objectes en un cub versionat mitjan莽ant l'S3 REST API.

Aven莽: llista de versions

En afegir /?versions a l'URL del cub S3, podria enumerar els objectes juntament amb els seus VersionIds.
Listing bucket versions
脠xit! Ara tenia els noms dels fitxers (AWS els anomena "objectes") i les seves versions associades. Aix貌 va obrir la porta a la recuperaci贸 de versions anteriors dels fitxers al lloc web principal.

Recuperaci贸 d'objectes d'un cub versionat

Seguint les instruccions dels AWS docs, vaig construir URL per recuperar els objectes mitjan莽ant els par脿metres VersionId.
En lloc de construir manualment aquests URL, vaig utilitzar ChatGPT per generar-los.
ChatGPT-generated links
En visitar els URL generats, finalment vaig descobrir contingut interessant a les versions anteriors de index_v1.html.
Past version of index_v1.html
S'ha revelat la inspecci贸 del codi font...
Source code from past version
Una imatge allotjada a la galleda S3! Vaig baixar la imatge i vaig tornar a intentar extreure dades ocultes amb steghide, per貌 tot i aix铆, sense sort.
Continuant la meva investigaci贸 a trav茅s de les diferents versions, em vaig trobar amb una altra versi贸 de index_v1.html.
Another past version
El codi font d'aquesta p脿gina va revelar alguna cosa encara millor: una contrasenya:
Password found
versions_leaks_buckets_oh_my

Extraient la bandera

Amb aquesta contrasenya, vaig tornar a visitar la imatge que havia baixat anteriorment i vaig provar d'extreure les dades ocultes una vegada m茅s:
Aquesta vegada, ha funcionat! He extret la bandera correctament:
Extracting the flag
csawctf{lEaKY_Bu4K3tz_oH_m3_04_mY!}

Conclusi贸

Aix貌 tanca el repte BucketWars! Va ser una immersi贸 agradable en el control de versions del cub S3 i la recuperaci贸 d'objectes. Espero que us hagi estat 煤til aquest escrit.
No us oblideu de consultar la meva X (anteriorment Twitter) per obtenir m茅s actualitzacions. Ens veiem la propera vegada!
Pau.
Etiquetes:

Tamb茅 et pot interessar