Anular es una exploración del desmontaje, la explotación binaria y la ingeniería inversa a través de 10 pequeños desafíos.
En la carpeta de cada nivel encontrarás:
- bandera – Contraseña para el venidero nivel
- README.md – cómo encontrar una contraseña
- fuente.c – el binario de ingeniería inversa
- dissasembly_notes.md – Notas sobre asm
Consulte el tema para obtener más información.
Empezado
Primera descarga desde 42 OverRide.iso.
Configurando la máquina potencial
Instale VirtualBox en Mac OSX.
Cree una nueva máquina potencial en VirtualBox (haga clic en Nuevo).
- Nombre y sistema activo – Tipo: Linux, Lectura: (Oracle 64-Bit)
Con la configuración predeterminada, continúe con todos los siguientes pasos:
- Tamaño de la memoria: 4 MB
- Disco duro: ahora cree un disco duro
- Tipo de archivo de disco: VDI (VirtualBox Disk Image)
- Almacenamiento en disco físico: asignado dinámicamente
- Tamaño de archivo: 12,00 GB
Luego haga clic en Configuración> Red> Adaptador 1> Conectado a: Adaptador en puente.
En la configuración, haga clic en Almacenamiento> a la derecha de «Regulador: IDE». Hay un icono de CD con un signo + (asociar pelotón óptica). Haga clic en Asociar imagen de disco y seleccione OverRide.iso.
Haga clic en Iniciar para iniciar la VM. Luego de la ejecución, se debe mostrar la dirección IP de la VM y se debe solicitar al sucesor que inicie sesión.
Conectar SSH
Inicie sesión como sucesor desde un shell independiente level00 con contraseña level00.
ssh level00 @ VM_IP -p 4242
Elevar a mismo nivel
Como sucesor level00 El objetivo es descifrar la contraseña del sucesor. level01, antitético en /home/users/level01/.pass. Sin confiscación, los usuarios level00 no tiene permiso para descifrar este archivo.
En la carpeta de inicio para usuarios level00 es un archivo binario level00 con SUID set y propietario level01.
Esto significa que cuando ejecutamos el binario level00Hacemos esto con los permisos del sucesor. level01.
Necesitamos encontrar una vulnerabilidad en el binario. level00 con gdb. Entonces aprovechas la vulnerabilidad para ser ejecutado Sistema («/ bin / sh»), Anconada un shell como sucesor level01 donde tenemos permiso para descifrar la contraseña.
cat /home/users/level01/.pass
Entonces inicie sesión como sucesor level01.
su level01
Repita para cada nivel.
Binario de ingeniería inversa
Realizamos ingeniería inversa del flamante para cada nivel. fuente.c examinando el desmontaje de GDB del binario.
Breviario de niveles
- 0 – contraseña codificada
- 1 – Ataque Ret2Libc
- 2 – Ataque de esclavitud en el formato printf ()
- 3 – Contraseña de fuerza bruta
- 4 – desbordamiento de pila gets () + ataque de retorno a libc
- 5 – shellcode en ataque de esclavitud en el formato env variable + printf ()
- 6 – Valencia hash reconocible con gdb
- 7 – Ataque Ret2Libc en tabla de datos desprotegidos
- 8 – Contraseña de respaldo binaria a través de enlace simbólico
- 9 – errores uno tras otro