X-MAS CTF 2019: Exploatare & Reverse Engineering de binare (Write-Ups)

  • mai puțin de 1 minute de citit
  • 2 exemple de cod
  • 5 imagini

Disponibil și în English

Pe această pagină

Salut,

Iată write-up-urile mele pentru X-MAS CTF 2019 organizat de .

Reversing: Santa’s crackme

Santa’s crackme se rezolvă ușor cu Ghidra. Tot ce trebuie să faci este să deschizi binarul, să citești codul și să folosești scriptul XOR Memory din Ghidra.

Flag-ul este extras din flag_matrix și aplicat XOR cu 3. Selectează datele flag-ului, fă clic dreapta pe Script Manager și rulează scriptul XorMemory Obținem flag-ul, cu excepția primului caracter

Reversing: X-MAS: Lapland Mission

Deoarece acesta este un joc Unity, îl putem modifica cu ușurință folosind dnSpy.

Deschide X-MAS Lapland MissionX-MAS_DataManagedAssembly-CSharp.dll, navighează la clasa PlayerControl și înlocuiește metoda Die() cu un simplu return: fă clic pe edit method și compilează.

Joacă jocul, ucide toți robotii și obține flag-ul.

Exploitation: SN0WVERFL0W

Pentru a obține flag-ul trebuie să suprascriem adresa de return a funcției main în timpul buffer overflow-ului.

Dimensiunea buffer-ului este de 10 bytes, adresa frame-ului are 8 bytes, iar adresa de return are tot 8 bytes. Putem folosi Python pentru a crea un fișier cu input-ul pe care trebuie să-l transmitem binarului:

python -c “print(‘a’10+’a’8+’x56x11x40x00x00x00x00x00’)” > in.txt

Am suprascris adresa de return a lui main cu adresa funcției care afișează flag-ul. Poți găsi această adresă inspectând binarul în Ghidra.