20
Aprende a compilar y ejecutar exploits! Recuerdo que un tiempo no sabia bien como usar exploits, solo me ponia a mirar el source en los exploits en milw0rm y me preguntaba, como Xuuuxa ejecuto esta wea! Para empezar un exploit, traducido ingles es explotar, en informatica decimos exploit a la ejecuccion de algun dato, o comando con el fin de "explotar" un fallo o vulnerabilidad, hay muchos scanners de vulnerabilidades, como un scanner web y este puede que encuentre una vulnerabilidad en tal web, vez el fallo y buscas un exploit para aquel, anose que el mismo programa te facilite el exploit, en fin, obtienes el codigo del exploit, lo compilas y ejecutas! asi como usar para saber el user ass del admin o la base de datos de los users, etc Resulta que hay distintos tipos de lenguajes para interpretar estos exploits, tales como perl, python, php, c, etc Por ejemplo escaniamos una web, ponte con SSS (shadow security scanner) que te muestra los mismos exploits para la web, vas a link y ves el source del exploit (Source = fuente , mejor dicho codigo fuente) Ahora para identificar en que tipo de lenguaje esta escrito nuestro exploit, se ase de la siguiente forma: Perl comienza con: #!/usr/bin/perl Phyton comienza con: #!/usr/bin/env python php comienza con: #!/usr/bin/php aveces <?php C Puede incluir onda como "incluide modulo.h" Ahora veamos que herramientas necesitamos: Para C:

Aprende a Compilar y Ejecutar Exploits

Embed Size (px)

Citation preview

Page 1: Aprende a Compilar y Ejecutar Exploits

Aprende a compilar y ejecutar exploits!

Recuerdo que un tiempo no sabia bien como usar exploits, solo me ponia a mirar el source en los exploits en milw0rm y me preguntaba, como Xuuuxa ejecuto esta wea!

Para empezar un exploit, traducido ingles es explotar, en informatica decimos exploit a la ejecuccion de algun dato, o comando con el fin de "explotar" un fallo o vulnerabilidad, hay muchos scanners de vulnerabilidades, como un scanner web y este puede que encuentre una vulnerabilidad en tal web, vez el fallo y buscas un exploit para aquel, anose que el mismo programa te facilite el exploit, en fin, obtienes el codigo del exploit, lo compilas y ejecutas! asi como usar para saber el user ass del admin o la base de datos de los users, etc

Resulta que hay distintos tipos de lenguajes para interpretar estos exploits, tales como perl, python, php, c, etcPor ejemplo escaniamos una web, ponte con SSS (shadow security scanner) que te muestra los mismos exploits para la web, vas a link y ves el source del exploit (Source = fuente , mejor dicho codigo fuente)

Ahora para identificar en que tipo de lenguaje esta escrito nuestro exploit, se ase de la siguiente forma:

Perl comienza con: #!/usr/bin/perlPhyton comienza con: #!/usr/bin/env pythonphp comienza con: #!/usr/bin/php aveces <?phpC Puede incluir onda como "incluide modulo.h"

Ahora veamos que herramientas necesitamos:

Para C:

Para compilar los programas en C utilizaremos un compilador llamadogcc que es conocido en windows por venir con cygwin, pero aqui nobajaremos el cygwin porque pesa mucho, sino que nos bajaremos unadistribucion menos pesada, de unos 40mb, en la que tambien vieneel gcc. Esa distribucion se llama MinGW (MinimalistGNU for Windows),aqui esta el link para bajarlo:

Browse MinGW - Minimalist GNU for Windows Files on SourceForge.net

Ahi les aparecera la barra para descargar el archivo, le hacen click yle ponen para sacarla para poder descargar el archivo.

Page 2: Aprende a Compilar y Ejecutar Exploits

Una vez que lo hayan bajado lo ejecutan.Hay dejan la primera opcion en la casilla que estaba y presionan:Next> I Agree> Next>...Y aqui, si quieren pueden agregar otros componentes, como elg++ compiler, ada compiler, etc etc...

No es nesesario agregar ningun otro componente. Pero si les interesaagregarlo haganlo :-)

Ahora le das a Next>, hay escoges el directorio de instalacion, pordefecto trae "C:\MinGW". Le damos a Next>, y ahora Install. Hay veranque va descargando e instalando el MinGW con los componentes quesolicitamos...

Una vez que haya terminado la instalacion, nos vamos al prompt (linea de comandos).Y nos situamos en la carpeta donde se instalo el MinGW y nos vamos a la carpeta delcompilador gcc:

Page 3: Aprende a Compilar y Ejecutar Exploits

Ahi pueden ver que liste los archivos dentro de la carpeta biny que hay se encuentra el compilador gcc.exe

Por ahora dejaremos esa ventanita de lado, y nos vamos a ver unejemplo de programa en C, el mitico "Hola Mundo".

#include<stdio.h>main() {printf("Hola mundo!");}

Linea1: Incluimos la libreria stdio.h en nuestro programa para tenerlas funciones estandar como printf.Linea2: Comenzamos la funcion principal que siempre sera main.Linea3: Utilizamos la funcion printf para imprimir "Hola Mundo" en pantalla.Linea4: Bueno, con esa llave cerramos la funcion que se comenzo en linea 2.Linea5: Debe ir un 'enter' si no nos tirara un error al momento de compilar.

Ya vimos el ejemplo, ahora vamos a compilarlo para poder probarlo.Entonses copiamos el codigo anterior en el bloc de notas y lo guardamosen el directorio bin de la carpeta donde instalamos el MinGW, o sea en"C:\MinGW\bin", y ademas lo guardamos con la extencion .c para quepueda ser reconocido por el compilador (recuerden que tiene que tenerel 'enter', una linea mas abajo del cierre de llave en este codigo).

Page 4: Aprende a Compilar y Ejecutar Exploits

Ahora si nos vamos a la ventana del prompt que dejamos abierta, yejecutamos el comando que ven en la imagen:

En mi caso, yo guarde el codigo con el nombre de codigo.c en la carpeta bin,de MinGW, y entonses ejecute el comando

gcc codigo.c -o codigo.exe

para compilar el codigo dentro del archivo codigo.c y guardar el archivo compiladocomo codigo.exe. Si no nos dice nada como en la imagen, es porque el programase compilo bien.

Ahora, para ejecutarlo, como sabemos que el archivo compilado (codigo.exe) quedoen la misma carpeta en la que estamos situados con la linea de comandos, basta conque hagamos lo siguiente:

Page 5: Aprende a Compilar y Ejecutar Exploits

Y listo, compilamos un programita en C, y lo hemos acabado de ejecutar.

Al momento de compilar algun programa o exploit es probable que si lestira un error, sea porque no tienen ciertas librerias, esas librerias que lesfaltan se las pueden bajar, y si usan el MinGW, las guardan en la carpetainclude del mingw.

Para Perl:

Ese es el caso de PERL, requiere tener un programainstalado en el pc para que podamos correr el script. Ese programalo podemos descargar del siguiente sitio y se llama ActivePERL:

ActivePerl Downloads

les aparecera un pequeño formulario que si quieren responden, yapretan continue y entonses les aparecera el link para descargarla distribucion de perl (hay para distintos SO), que pesa al rededorde unos 15mb para windows.

Bueno, una vez que ya lo descargaron, lo instalan y suponiendo

Page 6: Aprende a Compilar y Ejecutar Exploits

que usan windows, lo unico que hacen es apretar siguiente,siguiente, siguiente ,finalizar :-).

Listos ya con la instalacion pasamos a ver un pequeño ejemplode PERL, el clasico Hola Mundo! para que se hagan un idea decomo funciona .

#!/usr/bin/perl

my $variable;$variable = "Hola ";print $variable."Mundo\n";

Analizemos el pequeño ejemplo:Linea1: Con esta linea indicamos que empezamos a escribir PERLLinea3: Aqui declaramos la variable $variable. No es nesesario declararlas variables en PERL si al principio no dice "use strict;". Tambien puedesdeclararlas colocando su valor en la misma linea, ej: my $variable = "Hola ";Linea4: Aqui le damos a la variable $variable el valor de "Hola "Linea5: Utilizamos la funcion print de PERL para imprimir el resultado queseria Hola Mundo, si se fijan bien, unimos la variable $variable a la cadena"Mundo" con un punto (.), tambien se puede hacer asi: print "$variable Mundo";Y "\n" es un operador de PERL que indica pasar a una nueva linea.Fijense que en PERL, las lineas se finalizan con punto y coma ( .

Nota: Los comentarios dentro del codigo van despues de #. Al colocar el #,todo lo que sigue despues en esa linea es un comentario.

Debido a que en PERL se programan muchos exploits, es recomendable aprenderlo site interesa esto, asi que al final de este tutorial deje unos links que te puede ayudar .

Y ahora que hago con ese texto?Pues lo guardas, fijate que quede con extension .pl, cuando lo hayas guardadoabres la linea de comandos y lo ejecutas desde ahi arrastrando el archivo haciala ventanita de simbolo de sistema y apretas enter, como en el ejemplo quemuestro a continuacion:

Page 7: Aprende a Compilar y Ejecutar Exploits

Ahi ya vimos lo mas basico acerca de PERL, ahora veamos un ejemplo con unexploit, y todo mas detalladamente...

Ahora simple, buscas el exploit, y luego lo guardas en la carpeta 'Bin' como viste vas al CMD o consola de comandos, recuerda estar ya en la carpeta bin cuando abras cmd o dirijite con comandos a la carpeta bin, si tienes problemas pues crea un acceso directo a cmd desde 'bin' mediante un batch:

start cmd.exe

lo copias en block de texto, guardas como cmd.bat dentro de la carpeta bin y abres!

ahora siguiendo con el exploit, arrastras el exploit al cmd ya en la ruta de la carpeta Bin y enter! ay saldran las instrucciones como por ejemplo:

Page 8: Aprende a Compilar y Ejecutar Exploits

y como resultado:

Para PHP

Page 9: Aprende a Compilar y Ejecutar Exploits

Una caracteristica de este lenguaje no muy conocida es que estecodigo PHP se puede compilar y dejar como ejecutable (.exe)para entonses ejecutarlo desde nuestro propio pc sin requerirde un servidor web.

En este tutorial se mostrara como compilar un programa escritoen PHP, y un pequeño ejemplo de como utilizarlo.

Lo primero, obviamente, sera descargarnos el compilador. Usaremosuno llamado BamCompile, que es de facil uso, y lo podemos bajarde aqui:

Bambalam PHP EXE Compiler/Embedder 1.21 - Free php to exe converter!

Veran dos links, clickan en el primero que es el compilador para windows.Ahora que ya lo bajaron, descomprimen el zip, y lo dejan en cualquier parte.

Para poder usarlo tenemos que ejecutarlo desde la linea de comandos.Entonses se van a Inicio, click en Ejecutar, escriben cmd en la caja de textode la ventanita y presionan enter, ahi se les abre la linea de comandos osimbolo de sistema.

Utilizamos los comandos de windows para movernos a la carpeta dondese encuentra el compilador:

Page 10: Aprende a Compilar y Ejecutar Exploits

En mi caso, el programa lo tengo en Escritorio\programas\bamcompile1.21.Si no conoces los comandos de windows buscalos en el san google, que estanpor todos lados. Hay ven que use cd para cambiar al directorio que especifiquedespues basandome en la ruta desde que hice el comando, y use dir para verlas carpetas y archivos dentro del directorio en el que me encuentro.

Por ahora dejaremos esa ventana ahi donde esta y haremos el "Hola Mundo"en PHP.Veamos el siguiente codigo:

<?$variable = "Hola ";printf ($variable."Mundo\n");?>

Linea1: Le decimos al compilador que lo que sigue es codigo PHP. Siempre debe serusado este tag para todo el codigo PHP.Linea2: Le damos el valor "Hola " a la variable $variable (no es nesesario declarar variables en PHP).Linea3: Utilizamos la funcion printf de PHP para imprimir el resultado en pantalla queseria "Hola Mundo", y un salto de linea con el operador \n.Linea4: Con esto le decimos al compilador que hemos terminado de escribir codigoPHP. Notese que las lineas terminan en ";":

Si conocen PERL, o se leyeron el tutorial anterior que hice de PERL, podran ver queestos dos lenguajes se parecen mucho.

Ahora, antes de ejecutarlo, primero hay que compilarlo, para eso copiamos el codigo

Page 11: Aprende a Compilar y Ejecutar Exploits

PHP anterior, y lo guardamos en la carpeta donde se encuentra el compilador (bamcompile.exe).El archivo lo guardamos con extension .php. Y lo compilamos ejecutando el siguiente comando:(nos vamos a la ventana que dejamos abierta, hay donde estabamos en la carpetadel compilador)

Ejecute el comando:

bamcompile holamundo.php holamundo.exe

y con eso le indique al compilador que compile el codigo que seencuentra en el archivo holamundo.php (que se encontraba enla misma carpeta que el compilador) y que el archivo de salida fueseholamundo.exe. Si la compilacion sale bien, les mostrara un resultadocomo el de la imagen.

Ahora nos vamos a la carpeta del compilador pero no con la lineade comandos :-) y vemos que se ha creado el archivo holamundo.exe.Ese archivo lo agarramos y lo soltamos dentro de la linea de comandos,vemos que nos aparece la ruta completa del archivo, y le damos a enter.

Vemos que nos tira el siguiente resultado:

Page 12: Aprende a Compilar y Ejecutar Exploits

Ven? Ya hemos visto como compilar un programita en PHP y como ejecutarlo. Esoha sido todo. Seguiria el tutorial pero estaria repitiendo lo mismo que aparece enel tutorial de Interpretar programas en PERL que escribi, eso de probar unexploit, ejecutarlo desde la linea de comandos con ciertosparametros, etc etc. Si algo no les quedo claro, pueden leer ese tutorial,porque hay puse las cosas mucho mas especificadas.

Con Python

Los programas en Python son bastante faciles de usar, ya que solorequieren ser interpretados. Pero para eso nesesitamos el interpretede Python. Podemos descargar la version de ActiveState y la quese encuentra en la web oficial de Python, en este tutorial utilizaremosla ultima nombrada.

Lo primero es bajar el compilador, lo podemos hacer desde estapagina: Python 2.5.2 Release

Actualmente la version 3.0a3 es la ultima, pero es para desarrolladoresal igual que la 2.6a1 por lo que bajaremos la 2.5.2, todas las versiones

Page 13: Aprende a Compilar y Ejecutar Exploits

las pueden encontrar aqui: Download Python

Mas especificamente el link de descarga para Win32 es este:http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi

Pesa tan solo 11mb el instalador...Una vez lo hayamos descargado, lo ejecutamos y: Next> Next> Next> Finish> :-)(a menos que quieran cambiar algo)...

Una vez lo tengamos instalado, nos vamos a nuestro Bloc de notas y copiamosel siguiente codigo de ejemplo escrito en Python:

var1 = 'Hola 'var2 = 'Mundo'print var1+var2

Bastante simple, eh?No ahi que empezar el codigo con alguna linea especial ni terminar las lineascon algun caracter, las cadenas deben ir entre comillas simples ' ', y los enterossin nada.

Ahora nos vamos a la opcion "Archivo" de la parte de arriba de Bloc de notas, yponemos en "Guardar como..." seleccionamos la opcion "Todos los archivos" y

Page 14: Aprende a Compilar y Ejecutar Exploits

cambiamos la extension del archivo de ".txt" a ".py"...

Una vez que ya hayamos guardado nuestro pequeño codigo, veremos que nosaparecera asi:

Ahora abrimos nuestra Linea de comandos presionando "WIN + R" o yendo a "Inicio"y "Ejecutar", en la ventanita que se nos abre introducimos "cmd" (sin comillas), entonsesnos salta la pantalla negra esa xD.

Por ultimo, arrastramos el icono del script dentro de la pantalla negra y presionamosenter, si todo salio bien veremos lo siguiente:

Page 15: Aprende a Compilar y Ejecutar Exploits

Es todo!!

Weno esos son los tutoriales!Gracias a W4rlock por fotos

les deseo suerte encontrando exploits y vulnerabilidades!

Webs donde encuentras Exploits: (Las que yo uso por lo menos)

-Nuestro Gran y fiel amigo Milw0rm *-Exploit-DB-SecurityFocus (Se acopla bien con el software Shadow Security Scanner)

Eso es todo agradescan por la paja!__________________Te gusta aportar al foro? Te gustaria que te paguen por ello? Entonces registrate en LinkBucks y gana Cash! Click me now!