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
- Fáum grunn í C, ELF og smalamáli.
- Notum
strings,file,objdumpog Ghidra á einföld forrit. - Lærum GDB og skoðum keyrslu skref fyrir skref.
- 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:
- Skráagreining: Hvaða snið er þetta? Er það keyranlegt? Hvaða tákn og strengir sjást?
- Kyrrstæð greining: Hvaða föll, stökk og samanburðir finnast?
- 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.