Esta pagina se ve mejor con JavaScript habilitado

Habilitar ASLRs en FreeBSD

 ·  🎃 kr0m

La aleatoriedad en la disposición del espacio de direcciones (conocida por las siglas en inglés ASLR) es una técnica de seguridad informática que hace mas complicada la explotación de binarios vulnerables, gracias al ASLR la pila de las funciones de los binarios serán cargadas en direcciones aleatorias de RAM, por lo tanto un desbordamiento de pila no será reproducible en la siguiente ejecución ya que la dirección del payload habrá cambiado.

Si no sabéis de lo que os hablo podéis consultar el siguiente artículo:
Inicio al arte del exploiting sobre Linux-x86

El parámetro permite habilitarlo tanto para la ejecución de binarios de 32 bits como de 64, para habilitar esta medida de seguridad en FreeBSD es tan sencillo como modificar el parámetro kern.elf32/64.aslr.enable de sysctl.

Comprobamos si está habilitado, por defecto no debería estarlo:

sysctl kern.elf64.aslr.enable
kern.elf64.aslr.enable: 0
sysctl kern.elf32.aslr.enable
kern.elf32.aslr.enable: 0

Lo habilitamos:

sysctl kern.elf64.aslr.enable=1
kern.elf64.aslr.enable: 0 -> 1
sysctl kern.elf32.aslr.enable=1
kern.elf32.aslr.enable: 0 -> 1

Para que quede habilitado tras un reinicio debemos configurarlo en el fichero loader.conf:

vi /boot/loader.conf

kern.elf64.aslr.enable=1
kern.elf32.aslr.enable=1

Hay algunos programas que no funcionarán correctamente si tenemos el ASLR habilitado, podemos deshabilitarlo específicamente para estos:

elfctl -e +noaslr /usr/bin/wine64.bin

Si te ha gustado el artículo puedes invitarme a un RedBull aquí