Bugs y Exploits‎ > ‎Introducción‎ > ‎

Interpretar y compilar exploits


Manual Como Compilar Exploit en C con CYGWIN



-*Actualizado -* Manual Para Windows
La version anterior era muy precaria, me motive e hice uno mucho mas explicativo¡¡¡

Se Agregro "Problemas Frecuentes" , Si tienen algun problema ver al final.

¿Cómo compilar exploit en C, con CYGWIN

Pero primero ¿que es la compilación?

Según Wikipedia…
            “Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente independiente, que puede ejecutarse tantas veces como se quiera. Este proceso de traducción se conoce como compilación.”

Y ¿Como sabemos si nuestro código esta programado en C, o en algún otro lenguaje?
Por medio de las librerías. (Extensión .h)



Todos los Exploit programados en C, al inicio de sus códigos tienen que llamar a unas librerías, para poder ser compilados.
Si nuestro compilador no posee, alguna de estas librerías, no podemos compilar nuestro Exploit.

Ahora teniendo Claro esto, podemos proseguir.

Copiamos todo el código del exploit

IMPORTANTE: si dejamos que nos escape aunque sea un solo carácter, es posible que el exploit no funcione.

Unas ves copiadas, procederemos a pegarlo en el bloc de notas,  lo guardamos como exploit.c, porque es importante que tenga la extensión C, porque es la extensión del lenguaje C, ¿lógico no?


Es importante que  en “Tipos” este “Todos los archivos”
Porque sino, crearemos un archivo con extensión txt por defecto, y no nos serviría. (exploit.c.txt)

Es así como tienes que quedar.



Una vez que tengamos nuestro Exploit guardado Procederemos a instalar nuestro compilador.
(Es importante que sepamos donde guardamos nuestro, exploit, porque luego lo tendremos que cambiar de lugar).

2.) El Programa CYGWIN (Compilador)

Primero que nada debemos descargar nuestro Compilador CYGWIN

http://www.cygwin.com/setup.exe

Una ves descargado, renombrar el archivo setup.exe a cygwin_setup.exe, porque si lo volvemos a ocupar, no nos sea tan difícil encontrarlo.

Pero que es CYGWIN?

Cygwin es un entorno UNIX emulado que se ejecuta bajo Windows, y viene acompañado de un valioso set de herramientas GNU (que hasta ahora sólo podían ser utilizadas bajo Linux y Unix), entre las cuáles se destacan el compilador gcc. ( http://es.wikipedia.org/wiki/Cygwin)
(Si NO es un usuario avanzado, elija las opciones que sale en cada imagen por defecto)
Una vez renombrado, hacemos click en el aparecerá la siguiente imagen:


Esta es solo una bienvenida
Damos click en
Siguiente>…


El archivo que estamos descargando - no es el producto completo sino sólo el instalador. El mismo nos permitirá elegir los componentes que vamos a descargar, de forma muy parecida al menú de instalación de cualquier distribución de Linux.
 
En la segunda pantalla nos ofrece tres opciones:
•   "Install from Internet": descargar e instalar el producto.
•   "Download from Internet": sólo descargarlo para instalarlo en otra oportunidad.
•   "Install from Local Directory": instalarlo a partir de los archivos que ya habíamos bajado.
Recomiendo usar la opción "Install from Internet", que resume todos los dos pasos a un solo proceso.
Siguiente>…


En la tercera pantalla podremos elegir el directorio en el cuál trabajará el programa. Es recomendable no modificar lo que el programa nos propone, debido a que algunos archivos de configuración prevén que la instalación se llevará a cabo en "C:\cygwin".

Instalaremos para todos los usuarios, de otro modo sólo podría utilizar el entorno un usuario con privilegios de administración. Aunque no hay ningún virus que se aproveche de la instalación de Cygwin en un sistema Windows debemos tener en cuenta que utilizar un programa con privilegios de administrador es siempre un problema de seguridad.
Seleccionaremos el tipo de archivo UNIX si instalamos Cygwin como un entorno UNIX puro; usaremos el tipo de archivos DOS si queremos comunicar Cygwin con Windows muy a menudo.
Siguiente>…


La cuarta pantalla sirve para determinar el directorio donde se guardarán los paquetes de instalación de Cygwin. Es útil prestar atención a esto para saber qué directorio borrar en caso de que queramos ahorrar espacio al finalizar la instalación. También es útil si queremos grabar un CD con Cygwin para instalarlo en otra máquina más tarde.
Siguiente>…


La quinta pantalla nos permite definir el tipo de conexión que se usará para bajar los archivos.
Por defecto
“Direct Connection”
Siguiente>…


A continuación se nos ofrecen una larga lista de sitios Web y FTP. En cada uno de ellos hay una copia de los archivos que queremos bajar. Intentaremos elegir un servidor eficiente para que la descarga sea más rápida. Por desgracia no tenemos suficientes datos como para elegir realmente el servidor que más nos conviene, pero el nombre de dominio nos dará un pequeño indicio: Los sitios cuyo dominio termina en ".ar" probablemente estén físicamente alojados en Argentina, los que terminan en ".cl", en Chile, y los ".br" en Brasil. Por regla general, es conveniente elegir un servidor geográficamente cercano.
Es probable que algunos de los paquetes que necesitemos no estén en algún servidor.  En dicho caso y al final de la instalación, setup.exe nos pedirá que escojamos otro servidor donde sí pueda que se encuentren los paquetes.
Siguiente>…


Una vez elegido el servidor, el programa buscará la lista de paquetes que hay en él y nos ofrecerá el menú para que indiquemos cuáles queremos bajar. Podemos marcar los paquetes de a uno o en forma grupal clickeando sobre la palabra "Default" al lado del nombre de la categoría.
Pero a nosotros nos interesa el paquete gcc que esta en la categoría Devel

Originalmente GCC significaba GNU C Compiler (compilador GNU para C), porque sólo compilaba el lenguaje C. Posteriormente se extendió para compilar C++, Fortran, Ada y otros. http://es.wikipedia.org/wiki/Gcc



Cuando encontremos los dos paquetes

“gcc-core C compiler”
“gcc-g++ C++ compiler”

Hacemos click en Skip, automáticamente nos cambiara a la versión mas reciente de los paquetes.
Las opciones para cada paquete son:
•   El número de la versión del paquete que se va a instalar - En algunos casos hay más de una versión disponible.
•   Keep - Esta opción aparecerá en aquellos paquetes que ya teníamos instalados, indica que quedarán sin modificaciones.
•   Reinstall - Idem a la anterior, sirve para reinstalar un paquete. No es muy útil a menos que el paquete se encuentre dañado y requiera reparación.
•   Source - Esta opción incluirá en la descarga el código fuente del programa elegido.
•   Uninstall - Sirve para eliminar un paquete previamente instalado.


La siguiente pantalla nos mostrará 3 barras de progreso azules. La primera indicará el progreso de la descarga de cada paquete en forma individual. La segunda representa el progreso total de la instalación. La tercera informa el porcentaje de espacio ocupado/libre que hay en nuestro disco rígido. En caso de que la conexión sufra alguna interrupción el programa nos lo informará con el siguiente mensaje:

En caso de que esto ocurra deberemos repetir el proceso de instalación desde el principio, con la ventaja de que los paquetes que ya se hayan descargado no tendrán que volver a hacerlo.


Una vez completada la instalación el programa nos preguntará si deseamos agregar automáticamente los íconos de Cygwin al escritorio y al menú inicio

Ahora que tenemos instalado EL Cygwin Procederemos a Compilar el Exploit, que anteriormente teníamos guardado.

Vamos donde teníamos guardado el exploit.c y lo copiamos en la carpeta
C:\cygwin>bin

Es importante que copiemos el exploit.c en esa carpeta



Ahora vamos a la Shell de Windows, vamos a Inicio – Ejecutar – CMD


Nos aparecerá Esto. (El nombre ozx_vians, varia según que nombre pusieron como administrador)


Ahora vamos a la Carpeta, donde esta nuestro exploit

Recordemos que nosotros guardamos nuestro exploit en la Carpeta
C:\cygwin\bin
Y Para poder llegar a la nombrada carpeta debemos hacer lo siguiente
Por defecto, nuestra Shell estará en esta carpeta
C:\documents and setting\*******>
Donde ***** es el nombre del administrador, en este caso será ozx_vians
Tipiamos lo siguiente
   CD..
   CD..
   CD CYGWIN
   CD BIN
También ejemplificado en esta imagen.

Luego que encontramos la carpeta, pasamos a la tan anhelada compilación

Tipiamos… en Cygwin\bin>gcc exploit.c –o exploit.exe
Luego si todo sale bien nos volverá a salir
C:\cygwin\bin>
Eso significa que se a creado exitosamente nuestro exploit
Ahora solo nos falta ejecutarlo
C:\cygwin\bin> exploit.exe
Y Listo, cada exploit tiene su guía de cómo ser usada, por eso no se podría hacer una guía paso a paso de cada exploit.

Este es una exploit de una impresora Hp en entorno Unix.

LA MEJOR MANERA DE APRENDER ES POR LOS OJOS¡¡¡¡




Problemas Frecuentes

1.) Mal Nombramiento de la extensión del exploit, exploit.c.txt


Error:

Este error sucede por no tener desactivada una opcion que en windows xp viene por defecto, ahora veremos como solucionarlos.

Primero devemos ir a Cualquier carpeta de nuestro computador, y Luego Seguimos Las Imagenes... , .

Primero Vamos a Cualquier Carpeta de Nuestro Computador, y vamos a Herrameintas, Opciones de Carpeta

Segundo, Vamos a la Pestaña "Ver" y buscamos la opcion  "Ocultar las extensiones de archivo para tipo  de archivos conocidos"

Y Luego La desactivamos...

Ahora le damos Click a Aplicar y Aceptar...

Ahora buscamos donde descargamos el Exploit, talves en el caso si descargamos el exploit le devemos renombrar a un nombre que recordemos por en el caso del manual exploit, tenemos que recordar que es importante dejar el exploit en la Carpeta X:\cywgin>bin> (X: nombre de la particion ej C:D: etc)


Damos un Click en el exploit y presionamos el boton DERECHO Y vamos a la opcion CAMBIAR NOMBRE, le borramos la extensión .TXT


Despues que borramos la extensión TXT , Nos dira si estamos seguros, y presionamos "SI"


ahora vamos denuevo a compilar el exploit , y pasaremos de

ESTO

A ESTO:


y tendriamos listo nuestro exploit..

IMPORTANTE:

¿ Porque pasa esto, porque windows , tiene por default, esconder las extensiones de archivos conocidos, como txt, word, excel, etc, haciendo que cuando nosotros guardemos algun archivo este agregue la extensión del programa que estemos ocupando en este caso , como ocupamos el Notepad, nos agregara la extensión TXT.



"Antes de nada, tenemos que tener unos conocimientos mínimos, mas que nada por propia ética, de decir he hecho un deface y nose programar en html (por ejemplo). Por eso necesitaremos unos conocimientos básicos opcionales para poder cumplir nuestras espectativas en este tema.

Si no sabes como se enciende el ordenador y te lo acabas de comprar, te aconsejo que no sigas leyendo, que sigas con tu pc durante mas o menos 1 año y te vayas acostumbrando al manejo de Windows y sobretodo al de Internet.

Si ya te sientes experto y sabes encender tu ordenador, crear usuarios en tu sistema, formatear, enviar emails , visitar páginas webs, etc... podemos intentar adentrarnos en el mundo de los Hackers, para conocer de que va este mundillo, así que empezemos.."
"

Si no sabemos sobre lo basico de nuestro computador se nos ara un lio poder seguir adelante, este problema recien comentando, para un user que domina su pc y su S.O, lo solucionaria de inmediato, esto solamente demuestra su nivel de experiencia dentro del PC, no es un reto ni nada parecido, pero suena muy lindo "hackear" y compilar exploit, pero lamentablemente, para poder tener conocimiento antes que tener un conocimiento antes aprendido"






2.) Agregando Librerias


  ATENCION¡¡¡¡
hay LIBRERIAS QUE SON EXCLUSIVAS PARA LINUX, AUNQUE CUANDO SALGA LINUX/xxx.h ESAS SON SOLO PARA LINUX Y deben SER COMPILADOS EN ESE SISTEMA OPERATIVO.


PARA ESTA CONSTINUACION DE PREGUNTAS FRECUENTES, PUSE COMO EJEMPLO LA LIBRERIA LINUX/TCP.H
PERO EL METODO DE BUSCA ES ESACTAMENTE IGUAL A TODAS LAS DEMAS LIBRERIAS, REPITO LO DE LINUX /TCP.H ES UN EJEMPLO PARA DESMOSTRAR DOS COSAS QUE CUANDO SALE LINUX SON LIBRERIAS PARA LINUX Y deben SER COMPILADOS EN ESE S.O , Y SI NO SALE "LINUX" PUEDE SER COMPILADO EN WINDOWS.




EL PATRON DE BUSQUEDA PARA AGREGAR LIBRERIAS ES IGUAL PARA TODAS, MANTENIENDO LO ANTERIORMENTE EXPLICADO

En muchos exploits a la hora de compilar nos produce el siguiente error


Pero mejor ocuparemos este... para este manual...




Si nos fijamos , nos dice que nos falta la Libreria TCP.H, entonces nosostros debemos incluir esta libreria en la carpeta de Cygwin... Pero como?

Una ves encontrada la libreria que nececitamos, vamos a :http://www.cygwin.com/packages/

1.) Una ves en la pag, ponemos el nombre de la libreria.


2.) Nos mandara a un pag en donde saldra una lista de "pack" en la cual , dentro de ella contiene la libreria tcp.h, es comun que una libreria en mas de un "pack" porque estos pack se utlizan para distintas cosas, irc,emulacion de consola linux etc...



y eligimos al azar, (porque todas contienen la libreria que deseamos) el pack. en este caso (ver imagen) , si keremos ver si esta hacemos click, PERO ES IMPORTANTE RECORDAR EL NOMBRE DEL PACK



3.) Ahora devemos ir al Setup de CYGWIN, este paso es importante para que luego no tengamos que instalar las librerias cada vez que formatiemos, o incluso sirve para pasarselo a alguien para que este listo para ocupar. con todas las librerias

3.1) Vamos al instalados... recordemos el link de ¿Como compilar un exploit?
http://foro.censurada.com/index.php/topic,63749.0.html
es importante que cuando instalemos , recordemos donde lo instalamos... preferentemente en C:\cygwin


Seguimos los mismos pasos que el otro manual de ¿Como compilar un exploit? pero en este paso hacemos algo distintos


3.2) Vamos a ir donde dice View y hacemos un click, para que nos salga Full (1)


3.3) Movemos la barra (2) Hacia la derecha para que nos muestre el nombre de cada "pack".
Como estan por orden de abecedario, es mas facil... recordemos el nombre del "pack"

y lo encontramos, y damos un click en SKIP, para que este se agregue y nos muestre la version

si se fijan al lado sale un cuadrado , les va a salir un X dentro si este esta marcado


4) Luego le damos a siguiente... y seguimos la instalacion normal



esto sirve para cualquier libreria que nececitemos... y un consejo
SIGAN LEYENDO, LEAN LEAN LEAN.. ES LA UNICA FORMA DE APRENDER,¡ NADIE LES ARA EL TRABAJO A USTEDES,SOLOS SE VAN A DAR CUENTA . CUANTO HAN PROGRESADO, Y CUANDO SEPAN ALGO NUEVO, HAGAN UN MANUAL LES SERVIDA PARA RECORDAR Y REPASAR LA MATERIA Y PARA QUE OTROS TB PUEDAN APRENDER :d






Autor: OzX
Fuente Original: http://foro.elhacker.net/bugs_y_exploits/manual_iquestcomo_compilar_exploit_en_c_con_cygwin_by_ozx-t142242.0.html


















Manual Como Compilar un Exploit en Php Con Bamcompile




Para poder compilar El codigo de Php Tenemos que tener en claro Ciertas Cosas:

1.) Algunos Exploit Nececitan de una configuracion especial en su Codigo Fuente.
2.) Los Exploit en Php se sabe por las primeras Lineas "#!/usr/bin/php "
3.) Cada Exploit es Distinto de Otro, hay que leer sobre cada tipo de exploit para evitar preguntas como ¿Que Puedo hacer luego? ¿Que hace este exploit? Etc.
4.) No se Lanza un Exploit Como Una piedra, Luego de Ser compilado este deve ser ejecutado.



1.) Nos descargamos el Bamcompile desde AQUI

2.) Una ves Descargado lo descomprimimos en una Carpeta, en mi caso mi carpeta esta en escritorio. Buscamos la ruta, y ejecutamos el programa "BamCompile", Aqui nos muestra todas las opciones que tiene.




3.) Buscamos el Exploit que Deseamos Compilar.

Para este Ejemplo Ocupare ESTE Exploit

4.) Copiamos el Codigo del Exploit y lo Guardarmos en el Notepad, Luego Cambiamos la extensión de Txt a Php , dejando en el notepad en "Tipo" Todos los archivos.
Importante : Guardar el Exploit en la Misma carpeta que esta El Bamcompile.





5.) Una ves Copiado vamos A Compilar Nuestro Exploit.

Nos situamos en la Carpeta mediante MSDOS, y tecleamos.

Bamcompile exploit.php exploit.exe



Nos muestra la Imagen que Fue compilado Satisfactoriamente.

6.) Ejecutamos Nuestro Exploit y procedimos acorde las instrucciones.



Es Aconsejable que aprendan algo de los Lenguajes de Programacion, Php, Perl, C/C++, Python .


Autor: OzX
Fuente Original:
http://foro.elhacker.net/tutoriales_documentacion/manual_iquestcomo_compilar_un_exploit_en_php_con_bamcompile_by_ozx-t150428.0.html;msg706073#msg706073






















 Manual Como Interpretar Exploit en Python








Python



Python es un lenguaje de programación habitualmente comparado a TCL, Perl, Scheme, Java y Ruby. Actualmente, Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation. La última versión estable del lenguaje es actualmente (Septiembre de 2006) la 2.5 .Guido van Rossum, más conocido como Guido, creó Python, un lenguaje de programación de scripting, la "oposición leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y elegante para programar.


 Hay un par de cosas que cabe mencionar pues distinguen a Python de otros lenguajes de programación orientados a objetos: Por un lado no hay necesidad de compilar código en Python antes de ejecutarlo, razón que lo convierte en un lenguaje de script y segundo es que el lenguaje busca ser concreto para dar paso a un código más reusable y fácil de utilizar.



Descargar el Active Python desde AQUI

Una ves que lo descarguemos, iniciamos la instalacion, no es mas que otra instalacion comun y corriente.



Una ves instalado, vamos a inicio, Ejecutar , Cmd .
y tecleamos python -V

Aqui nos tiene que salir al version del Active Perl, tiene que salir una imagen igual a esta.


Una ves que ya sabemos que el Active Python fue instalado en nuestra Pc, vamos a copiar nuestro codigo del exploit en un BLock de Notas, y lo guardamos Con la extensión .py

Tenemos que colocar en Tipo Todos los Archivos, Para que no nos deje un Archivo exploit.py.txt


Una ves guardado , nos tiene que salir un Icono como el siguiente.


Para este ejemplo alojamos el codigo en el escritorio.

ahora vamos denuevo al MSDOS de windows, y tecleamos python exploit.py
obviamente cambiar el nombre "exploit" por el nombre que ustedes le pusieron.



Ahora vamos a Interpretar el Codigo.


Para este ejemplo ise un mini programa parecido al "Hola Mundo", pero sigue siendo la misma ciencia para interpretar codigos en python, si tienes algun duda, consultas a los otros dos manual de Interpretacion en perl y Compilacion en C, porque siguen siendo la misma ciencia.

Ahora cada exploit es diferente a otro no hay una manera para todos los exploit, algunos les pedira la Ip, otros el puerto, algunos la direccion de la pagina web, bueno hay muchas formas pero la mayoria tiene instrucciones para su funcionamiento una ves ejecutado.

Porfavaor dejar de preguntar "¿Como lanzo un exploit?" porque cada exploit es diferente de otro y como dije antes algunos les pedira, el host otros, la ip, otros el puerto, etc.

Y si no entienden que quiero decir, lean que significa un exploit, los tipos de exploit, como funcionan etc.

Talves python en un tiempo mas este a la par que c++, pero sigue siendo un lenguaje ideal para principiantes.




Autor: OzX
Fuente Original: http://foro.elhacker.net/bugs_y_exploits/manual_iquestcomo_interpretar_exploit_en_python_by_ozx-t144587.0.html



















Manual Como Interpretar y ejecutar un Exploit en Perl



               

Hola lo primero que nececitares es el exploit  en perl
bueno y se preguntaran como se si es un exploit en C o en perl , o en algun otro lenguaje? ( estos dos son lo mas comunes )

bueno esto lo podemos saber si esta programado en perl, esto lo sabemos  leyendo la primera linea de comando del exploit

si al inicio del exploit , les sale esto:
#!/usr/bin/perl
#

Significa que es un exploit en lenguaje perl.

Ahora devemos descargar el Compilador de este link


http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.817-MSWin32-x86-257965.msi

Luego Clikeamos Sobre El icono


Siguiendo las Imagenes:
NEXT

NEXT

NEXT

NEXT

INSTALL

PROCEDIENDO A LA INSTALACION

FINISH


Luego que ya tenemos instalado llego la hora de compilar el exploit

Donde podemos conseguir los codigos de los exploit?
bueno aqui les dejo algunas paginas:
http://www.milw0rm.com/search.php
http://www.security.nnov.ru/exploits/?tienes
http://www.securityfocus.com/

Luego que tengamos el codigo del exploit, lo copiamos al bock de notas, y lo guardamos con la extension   .pl

en el ejemplo lo llamamos exploit.pl

bueno ahora lo copiamos en algun directorio de nuestro computador
ahora, vamos a
INICIO-EJECUTAR-CMD



Ahora dependiendo de donde nosotros hemos guardado nuestro exploit, depende de donde lo ejecutemos en el ejemplo lo guarde en escritorio:
dato: para poder ir ir una carpeta mas atras ocupamos el CD..
para poder ingresar a un carpeta ocupamos el nombre CD maslacarpetaselecionada
ej: c:\windows\escritorio>cd..
c:\windows>
c:\windows>cd escritorio
c:\windows\escritorio>

bueno prosigamos, ahora en la "shell" de windows (pantalla negra) ponemos lo siguiente



y luego de eso las instrucciones dependen de cada exploit.








Autor: OzX
Fuente Original:
http://foro.elhacker.net/bugs_y_exploits/manual_iquestcomo_interpretar_y_ejecutar_un_exploit_en_perl_by_ozx-t142241.0.html;msg668092#msg668092









Comments