23. 10. 2023

CTF - The Catch 2023 - intro

 Prvý októbrový pondelok, mesiac IT bezpečnosti, začala capture-the-flag súťaž "the Catch". Organizuje ju CESNET, teda akademická a vedecká sieť (ako náš SANET). Doba trvania 3 týždne. Prvý krát prebiehala v r.2017, ide teda už o siedmy ročník.

Registrácia bola jednoduchá, na stránkach thecatch.cz stačilo zadať prezývku, mail a heslo, mail potvrdiť a mohli sme začať.


0. Introduction (0 bodov)

Privítanie na vlajkovej lodi plnej sieťových technológií. Nesie meno Josef Verich na pamiatku kolegu, sieťového guru. Pokiaľ máme záujem stať sa kadetom, stačí prepísať vlajku:
FLAG{fV5C-iTZb-NtNC-E4lw}


1. Treasure Map (1 bod)

Úlohou je, ako každého správneho námorníka, preskúmať mapu a nájsť poklady, resp. skryté tajomstvá. 

mapa, kliknutím zväčšite

Mapa má relatívne vysoké rozlíšenie. Na čiarkovanej čiare, ale až po jej zväčšení, vidieť písmená. Keďže X označuje cieľ, ideme postupne z opačného konca a prepíšeme znaky, ktoré vyskladajú vlajku:
FLAG{WIFI-AHEA-DCAP-TAIN}



2. VPN Access (1 bod)

Veľa lodných systémov je dostupných len cez VPN. Je potrebné nainštalovať OpenVPN, stiahnuť konfiguračný súbor a navštíviť adresu http://vpn-test.cns-jv.tcc

Treba si uvedomiť, že chceme stiahnuť klienta. Po nainštalovaní a spustení je možné konfigurovať ho súborom, teda stiahneme konfig, ten nám nastaví adresu vpn.thecatch.cz [ctfd_ovpn]. VPN klienta zapneme. Na danej VPN adrese nájdeme vlajku:
FLAG{smna-m11d-hhta-ONOs}



3. Captain's coffee (1 bod)

Úloha kadeta je spraviť kapitánovi dobrú kávu. Nemáme prístup do kapitánovej kajuty, preto to musíme vyriešiť na diaľku. Dobrá správa je že kávovar je online a je spravovaný cez API. API je na adrese http://coffee-maker.cns-jv.tcc.

Ak sa pozrieme na adresu, vráti nám v json formáte výstup, že bližší popis API je v podadresári doc, otvoríme teda http://coffee-maker.cns-jv.tcc/docs.

{"status":"Coffemaker ready","msg":"Visit /docs for documentation"}

Vidíme, že API podporuje dve volania. Cez volanie GET funkciu /coffeeMenu. Podľa popisu vráti aké druhy kávy vie kávovar prichystať a ich ID.


Druhé volanie je cez POST funkciu na adresu /makeCoffee, berie ako vstup IDčko kávy z predchádzajúcej funkcie.

Zavoláme teda najskôr http://coffee-maker.cns-jv.tcc/coffeeMenu, vráti nám json:

swagger - šikovné rozhranie,
umožňuje okrem popisu aj testovanie API


{
 "Menu": [
   {
     "drink_name": "Espresso",
     "drink_id": 456597044
   },
   {
     "drink_name": "Lungo",
     "drink_id": 354005463
    }
....
  ]
}

Následne zavoláme (dá sa šikovne použiť priamo DOCS stránka) POST na http://coffee-maker.cns-jv.tcc/makeCoffee, kde ako vstup zadáme:

{
   "drink_id": 354005463
}

Výstup nám vráti:

{
   "message": "Your Lungo is ready for pickup",
   "validation code": "Use this validation code
FLAG{ccLH-dsaz-4kFA-P7GC}"
}



4. Ship Web server  (1 bod)

Kolujú reči, že hlavný Web server na lodi neobsahuje len oficiálnu stránku. Je potrebné ich potvrdiť alebo vyvrátiť. Adresa je http://www.cns-jv.tcc.

Tu sa nachádza jediná stručná stránka vítajúca na lodi. Dole v pätičke je podozrivý reťazec zakódovaný v base64 (kopec znakov a čísel končí dvoma rovná sa), avšak po dekódovaní cez obľúbený cyberChef ide len o prázdnu vlajku.

Podľa 1. pomôcky máme skontrolovať SSL certifikát stránky. V sekcii "alternatívny názov subjektu certifikátu" vidieť zoznam adries:
www.cns-jv.tcc
documentation.cns-jv.tcc
home.cns-jv.tcc
pirates.cns-jv.tcc
structure.cns-jv.tcc

Okrem hlavnej www adresy následné 4 subdomény neprekladá na IP, napíše že adresu nepozná.
Podľa druhej pomôcky sa nemám nechať odradiť neexistujúcimi DNS záznamami.

Keďže web server bežne umožňuje na jednom počítači bežať viaceré webové domény, rozhodol som sa, že upravím hosts súbor vo svojom windowse (C:\Windows\System32\drivers\etc\hosts), pridám riadok s IP adresou www domény (zistená pingom) a aliasmi pre documentation, home, pirates a structure:
10.99.0.64   documentation.cns-jv.tcc home.cns-jv.tcc pirates.cns-jv.tcc structure.cns-jv.tcc

Všetky 4 podstránky začnú fungovať, web server rozlišuje podľa subdomény ktorú zobraziť. Obsahujú rôzny obsah, poďme postupne.

documentation.cns-jv.tcc píše, že nemám oprávnenia, ale dole v pätičke vidieť base64, ten ale nejde skopírovať. Treba pozrieť zdrojový kód a tam vidieť, že je reťazec schovaný v CSSku:    RkxBR3sgICAgLSAgICAtICAgIC1nTXdjfQ==

    po preklade cez cyberchef FLAG{    -    -    -gMwc}

home.cns-jv.tcc obsahuje domáce web-stránky námorníkov, tu vidieť base64 reťazec v pätičke:    RkxBR3tlamlpLSAgICAtICAgIC0gICAgfQ==

    preklad cez cyberchef FLAG{ejii-    -    -    }

pirates.cns-jv.tcc dole pod niečim ako wikipédia o pirátoch obsahuje tiež base64 reťazec:    RkxBR3sgICAgLSAgICAtUTUzQy0gICAgfQ==

    preklad cez cyberchef FLAG{    -    -Q53C-    }

structure.cns-jv.tcc má pekný obrázok organizačnej štruktúry (hierarchie) na lodi, dole bielym písmom je reťazec v base64:
    RkxBR3sgICAgLXBsbVEtICAgIC0gICAgfQ=

    preklad cez cyberchef FLAG{    -plmQ-    -    }


Máme 4 časti vlajky, ktoré už iba pospájame a zadáme vlajku
FLAG{ejii-plmQ-Q53C-gMwc}



5. Promotion  (0 bodov)

Tvoje výsledky sú také pôsobivé, že môžeš byť povýšený priamo na úroveň tretieho dôstojníka aj s umiestnením priamo na lodi CNS Josef Verich. Gratulácia.

Pokiaľ akceptuješ povýšenie, zadaj vlajku
FLAG{AwUy-u1cv-bg6D-Ek0q}

Po akceptovaní nám odkryje štruktúru ďalších úloh, z ktorých možno vyberať, ktoré chcem riešiť ako ďalšie. Tie niektoré, ktoré sa mi vyriešiť podarilo, rozpíšem nabudúce.

Crew drills
Sonar logs[2], Regular cube[2], Web protocols[2], Apha-Zulu quiz[3]

Troubles on the bridge
Captain's password[2], Navigation plan[3], Keyword of the day[4], Signal flags[5]

Below deck troubles
Cat code[3], Component replacement[3], U.S.A.[5], Suspicious traffic[5]

Miscellaneous
Naval chef's recipe[2], Arkanoid[5]


Záver

Vyzerá, že táto súťaž je orientovaná webovo, API pre volanie funkcií, subdomény na web serveri, trochu zo sieťariny. Síce menší počet úloh ale aj kratší čas na riešenie, ako slovenská SK-CERT verzia.

Žiadne komentáre:

Zverejnenie komentára