Skip to main content

Setarea Mediului de Lucru

Sistem de Operare Linux

Asigurați-vă că aveți la îndemână un sistem de operare bazat pe Linux pe care să lucrați laboratoarele. Acesta poate fi sistemul dumneavoastră de bază sau o mașină virtuală.

Pentru acest set de laboratoare, recomandăm distribuțiile următoare, recomandări ce sunt acompaniate de link-uri de descărcare:

Asamblorul NASM

NASM este un asamblor pe care îl folosim la translatarea codului de asamblare în limbaj mașină. Instalarea lui poate fi efectuată cu comanda de mai jos.

sudo apt-get install nasm

Python 3 și Pachetul pwntools

Python 3 este un limbaj interpretat, de uz generic. Va fi util pentru a automatiza anumite sarcini ce, în mod uzual, ar fi fost efectuate cu ajutorul utilitarelor dedicate (care, de multe ori, nu oferă API-uri).

Suplimentar, vom folosi și pachetul pwntools pentru a ușura scrierea și rularea de exploit-uri.

$ sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

Ghidra

Ghidra este un program pe care îl vom folosi la ingineria inversă a programelor cu ajutorul unor metode pur statice. Pentru a-l instala pe sistemul de operare Linux, urmați pașii de mai jos:

sudo apt-get install default-jdk
wget -O /tmp/ghidra.zip https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_10.2_build/ghidra_10.2_PUBLIC_20221101.zip
unzip /tmp/ghidra.zip -d /opt
mv /opt/ghidra_10.2_PUBLIC /opt/ghidra

Programul poate fi rulat cu ajutorul comenzilor:

cd /opt/ghidra
./ghidraRun

PEDA

PEDA este un wrapper pentru gdb. Vom folosi combinația celor două pentru a analiza dinamic executabile.

Instalarea este efectuată prin rularea comenzilor de mai jos:

git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit

AFL++ cu Suport QEMU

AFL++ este un fuzzer de tip blackbox, cu suport de testare a executabilelor (fără a avea acces la codul sursă) prin intermediul QEMU.

Pentru rularea comenzilor de mai jos, asigurați-vă că Docker este instalat.

docker pull aflplusplus/aflplusplus
docker run -ti -v <source_folder>:/src aflplusplus/aflplusplus

După rularea ultimei comenzi, o sesiune de terminal se va deschide. Ea permite rularea următoarelor comenzi înăuntrul container-ului:

make
cd qemu_mode
./build_qemu_support.sh