Skip to main content

2023



Februarie 2026

După absolvire, ți s-a schimbat identitatea. Lucrezi într-o locație obscură, pe Calea Victoriei. De fiecare dată când intri pe ușa ruginită a clădirii cu numărul 31337, te asiguri că nu te-a urmărit nimeni. Singurul lucru pe care îl știi cu siguranță despre tine e ce profesezi: găsești vulnerabilități în orice cod a fost scris vreodată de un programator inamic, de la aplicații web și până la programe executabile.

Astăzi e o zi obișnuită. Managerul tău tehnic ți-a adus trei fișiere pe un stick USB, împreună cu câteva instrucțiuni. E vorba de codul sursă al unui KMS (kms-query.c), folosit de un stat inamic. El e acompaniat de un Makefile și un executabil (kms-query.elf). Colegii tăi operativi au menționat că n-au putut obține și un al doilea fișier sursă (libkms.c), pentru că au fost detectați și le-a fost tăiată conexiunea de la server-ul compromis.

Instrucțiunile, pe de altă parte, sunt următoarele:

  1. Efectuează o analiză asupra librăriei pentru a afla:
    • Compilatorul folosit;
    • Șiruri de caractere printabile, posibil cuvinte (cu lungime mai mare decât 5); și
    • Simboluri;
  2. Identifică toate vulnerabilitățile în fișierul sursă și în cel executabil.
  3. Pentru fiecare vulnerabilitate, specifică de ce apare această problemă.
  4. Precizează, pentru fiecare vulnerabilitate, care poate fi impactul pe care îl poate avea exploatarea vulnerabilității.
  5. Dovedește că vulnerabilitățile sunt exploatabile.
  6. Propune mitigări. Ele vor fi trimise către dezvoltatorii departamentului de dezvoltare, pentru a se proteja ei înșiși împotriva unor astfel de probleme.

Pentru a efectua sarcinile, ai nevoie să dezactivezi ASLR folosind comanda echo 0 | sudo tee /proc/sys/kernel/randomize_va_space.

Managerul tău a menționat că ai timp până la finalul zilei pentru a finaliza sarcinile. Va trebui să îi trimiți un document tehnic detaliat, cu toate explicațiile necesare lui pentru a înțelege. Documentul va fi acompaniat de toate fișierele (script-uri de exploatare, payloads etc.) pe care le-ai folosit pe decursul analizei.