Comenzamos un nuevo curso, el cual estará enfocado en la explotación y el reversing en Windows utilizando herramientas gratuitas y que se pueden conseguir fácilmente. (IDA Free,Radare, Windbg, X64dbg, Ghidra, etc). No utilizaremos ninguna herramienta pago, y la idea no es competir entre las diferentes herramientas, sino aprender a usarlas, en mi caso aprender a usar Radare y Ghidra que son herramientas que no uso en el día a día, por lo que trataré de usarlas lo mejor que pueda, con la salvedad que no soy un experto ni mucho menos en estas dos, así que si alguien ve algún error o mejor forma de usarlas, seria bueno que me avise (Con algún comentario), así voy corrigiendo y aprendiendo también.
Este curso empezara con la instalación de las herramientas, luego un poco de teoría sobre vulnerabilidades y posteriormente ejemplos ultra sencillos de explotación que se ira incrementando poco a poco en dificultad, lo que no habrá en este curso será la introducción a las instrucciones en ensamblado.
Para armar mi entorno de trabajo lo primero será instalar las herramientas.
Cómo instalar IDA Free
Para descargarse el IDA Free lo pueden hacer desde aquí.
Aqui podreis bajos el archivo idafree70_windows y la instalación es muy sencilla, solo seguir las instrucciones del instalador y tendremos IDA Free funcionando en nuestra máquina rápidamente.
Cómo instalar RADARE
Lo siguiente será instalar radare2. Yendo a la página de radare , allí entramos en el último reléase.
En este momento es el 3.9.0, más adelante será una versión mas nueva, no importa entramos en la web y nos bajamos el instalador de la versión más nueva para Windows.
Instalarlo también es muy sencillo una vez terminado solo hay que agregar el path donde se instaló en las environment variables.
Y allí en la environment variable Path agregar
C:\Users\<nombre_de_usuario>\AppData\Local\Programs\radare2
C:\Users\<nombre_de_usuario>\AppData\Local\Programs\radare2\bin
La idea es que desde un command prompt (CMD) podamos tipear radare2 y lo reconozca:
Cómo instalar GHIDRA
Instalar GHIDRA es muy sencillo también. Accedemos a su web:
Aquí podemos descargar el zip, en mi caso se llamaba ghidra_9.1-BETA_DEV_20190923.zip y lo descomprimo en algún lugar, yo cree una maquina virtual de VMWARE, sin conexión a Internet, la cual uso solo para GHIDRA, no es que desconfíe de la NSA pero mejor, que trabaje aislada.
Una vez descomprimido hay que instalar un java compatible, en la pagina de Oracle se puede bajar o de otros sitios, en mi caso baje este instalador , tras terminar de instalarlo, se agrega el path a donde esta el bin de java a las environment variables.
La versión 11, en la página de Ghidra dice que es la más compatible. También dicen los que lo usaron que la versión 11 de OpenJDK es la que mejor va para GHIDRA.
Una vez descargado el instalador tiene la opción para agregar a la environment variable Path, la ruta al binario java.exe
Una vez terminada la instalación de Java, ya se puede ejecutar.
Ejecutamos ese .bat y arrancamos GHIDRA
Cómo instalar X64DBG
De este programa salen nuevos snapshots casi a diario, por supuesto bajen el mas nuevo que haya en ese momento.
En mi caso es snapshot_2019-10-14_00-57.zip. Al unzipearlo vamos dentro de la carpeta reléase.
Al ejecutar como administrador, nos aparece un launcher para que elijamos la versión para 32 o 64 bits según necesitemos.
Podemos bajar el plugin SNOWMAN para decompilar, ya que el IDA Free no trae el decompilador y agregárselos a la carpeta plugins.
El de 32 bits lo copiamos dentro de la carpeta plugins de la versión de 32 bits y el de 64 bits en la correspondiente.
Cómo instalar X64DBG
Si tienen Windows 10 instalar Windbg es ir a Microsoft STORE y buscar WINDBG e instalarlo desde allí.
Desde allí se instala automáticamente WINDBG Preview que es la versión más nueva, si tienen Windows 7 tendrán que instalar una versión anterior de Windbg.
La más nueva para Windows 7 que tengo es esa, si no les va hay en OLD VERSIONS algunas anteriores que seguro irán.
Lo siguiente es configurar los símbolos para Windbg, crear la carpeta llamada symbols en C:/ y luego ir a las environment variables y agregar la variable _NT_SYMBOL_PATH.
Colocarle como valor SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Con eso ya tendríamos instalado Windbg Preview.
Despues podremos instalar algún editor hexadecimal como el HxD que es gratuito.
Cómo instalar PYTHON
Instalaremos Python 3 que es el más nuevo, para poder armar los exploits para cada ejercicio, y lo podremos descargar de la propia página de Python
Sera la última versión que exista en el momento que la bajen, en mi caso es esta ( python-3.8.0-amd64.exe )
Para agregar en la environment variable PATH la ruta al ejecutable Python.exe, el instalador tiene una pestaña para poder hacerlo automáticamente.
Normalmente el path está en:
C:\Users\XXXXX\AppData\Local\Programs\Python\Python38
Cambiando Python38 por la versión actual que te descargues. El tema es que al tipear en la command prompt podamos ejecutar Python y lo reconozca.
Cómo instalar PYCHARM Community
En mi caso es pycharm-community-2019.2.3.exe será la última versión que exista la que ustedes bajen en su momento.
Creamos un proyecto una vez instalado:
En RUN-DEBUG configuration mirar que este el interprete allí.
También en SETTINGS buscar PROJECT INTERPRETER y ver que este detectado Python 3.8 o el que sea en nuestro caso.
La cuestión es que si hago un pepe.txt lo renombro a pepe.py y lo arrastro aquí:
Si escribimos un pedazo de código al ejecutarlo con RUN debería imprimir.
Y además debe autocompletar, y si pasamos el mouse por ejemplo sobre la palabra os, al apretar CTRL y hacer clic allí, nos debería abrir la librería correspondiente os.
Con eso terminamos la primera parte, con la instalación de las herramientas que vamos a utilizar. La parte 2 comenzara con buffer overflow, un poco de teoría y los primeros ejercicios sencillos, algunos hare yo, otros les dejare para que hagan ustedes.