sábado, marzo 15, 2008

Compilando C desde windows de forma nativa 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.”
Image

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)

Image

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?

Image
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.

Image

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:

Image
Esta es solo una bienvenida
Damos click en
Siguiente>…

Image
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>…

Image
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>…

Image
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>…

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

Image
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>…

Image
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

Image

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.

Image
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:
Image
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.

Image
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

Image

Ahora vamos a la Shell de Windows, vamos a Inicio – Ejecutar – CMD
Image
Image
Nos aparecerá Esto. (El nombre ozx_vians, varia según que nombre pusieron como administrador)
Image

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.
Image
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.
Image
Este es una exploit de una impresora Hp en entorno Unix.

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




[size=10pt]Problemas Frecuentes

1.) Mal Nombramiento de la extencion del exploit, exploit.c.txt


Error:
Image

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 CarpetaImage

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

Y Luego La desactivamos...
Image

Ahora le damos Click a Aplicar y Aceptar...
Image

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)
Image


Damos un Click en el exploit y presionamos el boton [b]DERECHO Y vamos a la opcion CAMBIAR NOMBRE, le borramos la extencion .TXT [/b]
Image

Despues que borramos la extencion TXT , Nos dira si estamos seguros, y presionamos [b]"SI"[/b]
Image


ahora vamos denuevo a compilar el exploit , y pasaremos de

ESTO
Image
A ESTO:
Image

y tendriamos listo nuestro exploit..

IMPORTANTE:

¿ Porque pasa esto, porque windows , tiene por default, esconder las extenciones de archivos conocidos, como txt, word, excel, etc, haciendo que cuando nosotros guardemos algun archivo este agregue la extencion del programa que estemos ocupando en este caso , como ocupamos el Notepad, nos agregara la extencion 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"


-*LIBRE DISTRIBUCION, DEJANDO EL NOMBRE DEL AUTOR-*


BY OZX [NuKe]

No hay comentarios: