Hoppa yfir í efnið

Næstu skref: bakhönnun

Bakhönnun verður auðveldari þegar við æfum okkur á mörgum litlum forritum. Byrjum á forritum sem eru sérstaklega búin til fyrir kennslu og færum okkur svo yfir í keppnisverkefni.

Mælt námsferli

  1. Fáum grunn í C, ELF og smalamáli.
  2. Notum strings, file, objdump og Ghidra á einföld forrit.
  3. Lærum GDB og skoðum keyrslu skref fyrir skref.
  4. Leysum smá crackme-verkefni og skrifum lausnina.

Kennsluefni og verkfæri

Efni Hentar fyrir Aðgangur
OpenSecurityTraining2 Djúpt ókeypis nám í tölvukerfum og bakhönnun Ókeypis lesefni og fyrirlestrar
Reverse Engineering for Beginners Bók um smalamál og bakhönnun Ókeypis lesefni
Ghidra documentation Uppfletting fyrir Ghidra Ókeypis og opinn hugbúnaður
crackmes.one Lítil æfingaforrit með mismunandi erfiðleika Ókeypis verkefnavettvangur
microcorruption Bakhönnun í vafra með smalamáli Ókeypis æfingavettvangur

Vinnulag

Fyrir hvert forrit skulum við gera þrjár skoðanir:

  1. Skráagreining: Hvaða snið er þetta? Er það keyranlegt? Hvaða tákn og strengir sjást?
  2. Kyrrstæð greining: Hvaða föll, stökk og samanburðir finnast?
  3. Kvik greining: Hvað gerist þegar við keyrum forritið undir kembiforriti?

Forðumst að keyra ótraust forrit á aðalvélinni

Keyrum æfingaforrit í sýndarvél eða öðrum einangruðum umbúðum þegar uppruni þess er óviss. Setjum ekki persónuleg gögn í æfingaumhverfið.

Sjálfsmat

Við erum tilbúin að halda áfram þegar við getum:

  • greint ELF-skrá með grunnverkfærum,
  • fundið áhugaverðan samanburð eða inngangspunkt,
  • sett rofstað í GDB og skoðað gildi,
  • útskýrt lausn án þess að treysta bara á eitt tól.