En éste tutorial, explicaré la técnica de Fuerza bruta (brute force), la cuál es utilizada en el área del hacking para probar , que tan fuerte es una contraseña y en el área del cracking para decifrar la contraseña con fines maliciosos.
Breve explicación de la técnica fuerza bruta:
En criptografía, se denomina ataque de fuerza bruta a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso.
Los ataques por fuerza bruta, dado que utilizan el método de prueba y error, son muy costosos en tiempo computacional.
Para realizar ataques de fuerza bruta, existen muchas aplicaciones como el famoso john the ripper, brutus , hydra etc…
Nosotros utilizaremos hydra, lo puedes descargar desde aquí para GNU/Linux, también les dejo un diccionario que posteriormente lo utilizaremos, Diccionario latin (click derecho, guardar como…)
La compilación e instalación es sencilla:
1.- Descomprimimos el archivo .tar.gz
2.- Nos situamos dentro de la carpeta y tecleamos:
$ ./configure $ make # make install
Cabe mencionar, que ésta técnica es utilizada para decifrar passwords de servidores FTP, POP, HTTP, SSH, entre algunos otros. En éste ejemplo, intentaremos decifrar la contraseña de un servidor FTP.
Para comenzar, basta con abrir una consola y teclear lo siguiente:
$ hydra 192.168.1.74 ftp -s 21 -L latin.txt -P latin.txt
-s : Especifica el puerto.
-L : Toma del archivo latin.txt el posible nombre de usuario.
-P : Toma del archivo latin.txt el posible password.
Se se conociera el nombre de usuario que la verdad sería fantástico, se pone de la siguiente manera:
$ hydra 192.168.1.74 ftp -s 21 -l antonio -P latin.txt
Digo que sería fantástico conocer el nombre de usuario ya que nos ahorraríamos muchísimo tiempo, lo más recomendable es saber el nombre de usuario utilizando otra técnica.
Dependiendo de la contraseña, esperamos a que la decifra y listo! :

Si eres de los que les tiene miedo a la consola, pues existe una aplicación en GTK para hydra, cuando hayas instalado hydra, teclea en consola:
xhydra

No hace falta explicar su funcionamiento, es bastante intuitiva.
Esto sería todo, se aceptan comentarios, sugerencias, criticas.
June 13, 2009 | Etiquetado en: | 20 Comments Se ha descubierto una vulnerabilidad en el servidor web de microsoft IIS. Al parecer, el fallo está disparando el número de “desfiguraciones” (defaces) en servidores web con IIS en los últimos días.
Se descubrió un error relacionado con el protocolo estándar de Internet WebDAV (Web Distributed Authoring and Versioning) mayoritariamente usado por Microsoft en IIS (venía activado por defecto). WebDAV se trata de un conjunto de extensiones de HTTP que proporciona el estándar para editar y manejar ficheros y atributos a través de web (lo que ya de por sí lo convierte en un potencial problema de seguridad).
A raíz de ésta vulnerabilidad, hay salido una serie de exploits para romper dicha vulnerabilidad.
Estos exploits nos permiten entrar al directorio de webdav, pudiendo obtener información valiosa ó subir algún archivo malicioso si tuviera permisos para escritura.
Aquí una imágen de un servidor IIS que me econtré vulnerable a éste error:
Como la información es libre, aquí estan las ligas de los exploits.
Microsoft IIS 6.0 WebDav Autentificación remota
Microsoft IIS 6.0 WebDav Autentificación remota (perl)
Conclusiones:
May 30, 2009 | Etiquetado en: | 1 Comment Usualmente la seguridad de los Mikrotik está basada por restricciones de mac address, y una de las desventajas es que nos permite conectarnos a la red, sin embargo nos denegará el servicio de internet si no está registrada nuestra mac.
El permitir conectarnos a la red, nos permite scanear a los host que se encuentra conectados, ésto lo podemos realizar con la ayuda de ettercap ó nmap, permitiendonos ver la IP y la dirección mac.

Pues fácil, basta con cambiar nuestra mac address por alguna de las que se encuentren conectadas, en linux existe en comando macchanger y en windows se realiza desde las propiedades de la tarjeta de red.
Dar de baja la tarjeta inalámbrica en linux:
# ifconfig wlan0 down # macchanger -m 00:11:22:33:44:56 wlan0 # ifconfig wlan0 up
En windows:

May 29, 2009 | Etiquetado en: | 17 Comments 
Al momento de desarrollar una aplicación con base de datos, se debe tomar en cuenta la seguridad del mismo, uno de los ataques más comunes es el sql injection que consta básicamente de introducir código sql en cajas de texto de nuestro sistema con el fin de introducirse ó sacar información.
Un ejemplo de sql injection sería el siguiente:
<?php
// Consultar la base de datos para verificar si hay una coincidencia de usuario
$consulta = "SELECT * FROM usuarios WHERE usuario='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($consulta);
//Supongamos que el usuario tecleó ' OR ''=' en el campo de password:
$_POST['username'] = 'admin';
$_POST['password'] = "' OR ''='";
// Esto quiere decir que la consulta enviada a MySQL seria:
echo $consulta;
?>
La variable $consulta contendría:
SELECT * FROM usuarios WHERE usuario='aidan' AND password='' OR ''=''
Esto permitiría a cualquier usuario ingresar al sistema sin password.
Para realizar una consulta segura, utilizaremos 2 funciones mysql_real_escape_string y sprintf, se pudiera resolver también modificando la configuración del php para no permitir caracteres especiales, pero ésto sería una desventaja, ya que no permitiría la portabilidad del código.
<?php
// Conexion
$enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contraseña')
OR die(mysql_error());
//Consulta segura
$query = sprintf("SELECT * FROM libros WHERE autor='%s'", mysql_real_escape_string($autor_nombre));
mysql_query($query);
?>
Ojo, si no hay una conexión con el servidor, la función mysql_rea_space_string marcará un error.
En caso de una consulta de logeo:
<?php
// Función para eliminar "/" y añadir comillas
function comillas_inteligentes($valor)
{
// Retirar las barras
if (get_magic_quotes_gpc()) {
$valor = stripslashes($valor);
}
// Colocar comillas si no es entero
if (!is_numeric($valor)) {
$valor = "'" . mysql_real_escape_string($valor) . "'";
}
return $valor;
}
// Conexion
$enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contraseña')
OR die(mysql_error());
//consulta segura
$consulta = sprintf("SELECT * FROM usuarios WHERE usuario=%s AND password=%s",
comillas_inteligentes($_POST['username']),
comillas_inteligentes($_POST['password']));
mysql_query($consulta);
?>
May 22, 2009 | Etiquetado en: | 1 Comment
Todos los derechos reservados. Tecnologia.