Backup Oficial de SeguridadBlanca.Org

jueves, 3 de diciembre de 2009

40 Vulnerabilidades en SMF por elhacker.net

elhacker.net sino me equivoco es la comunidad de hacking mas grande de habla hispana y elhacker.net usaba smf 1.1.10 pero querían migrar a las versión 2 de smf y decidieron hacer auditoria, el team se llama SimpleAudit 2.0 y pues se encontraron mas de 40 vulnerabilidades, a la par con ellosbusque vulnerabilidades y encontre dos Xss que fueron reportados por ellos, sacaron las versión 1.1.11 para que la puedan parchear de tantos bugs su web con SMF.


Refrencias...


Ref1

Ref2

ref3


para que actualizen sus SMF den click aquí para ir a la web de descargas


Saludos
Dr.White

40 Vulnerabilidades en SMF por elhacker.net

elhacker.net sino me equivoco es la comunidad de hacking mas grande de habla hispana y elhacker.net usaba smf 1.1.10 pero querían migrar a las versión 2 de smf y decidieron hacer auditoria, el team se llama SimpleAudit 2.0 y pues se encontraron mas de 40 vulnerabilidades, a la par con ellosbusque vulnerabilidades y encontre dos Xss que fueron reportados por ellos, sacaron las versión 1.1.11 para que la puedan parchear de tantos bugs su web con SMF.


Refrencias...


Ref1

Ref2

ref3


para que actualizen sus SMF den click aquí para ir a la web de descargas


Saludos
Dr.White

miércoles, 2 de diciembre de 2009

Orientación del PHP al PenTest - curl() [Tuto I]

Hoy voy a hablar de la funcion Curl() de PHP, por el momento lo haremos todo con PHP por el hecho de ser mas comercial que otros lenguajes que contienen esta funcion.


Esta funcion no muchos conocen, se omite muchas veces en el momento de enseñar lenguajes pero con esta se nos facilita mucho lo que es ataque por headers y las descargas que haciamos por headers la podriamos hacer en menos lineas...


Ahora si a la práctica que es lo que nos gusta a todos...

En primera vamos a crear algo simple pero previo les voy a enseñar las funciones mas básicas...


curl_init --> es la funcion que se usa para hacer conexión básica a una direccion web.

curl_opt --> Opt viende de option esta es la funcion que mas trabaja con esto le decimos que opcion de curl queremos que se haga.

curl_exec --> ejecutas el script mejor dicho hace que el curl funcione...(en resumen)

curl_close --> Cierra el Curl, lo termina...


Ahora si miren en primer lugar siempre hay que poner algo como la url que queremos...


<?php

$web = "seguridadblanca.org";

?>


una ves que tenemos eso ya el resto es funciones de curl... les daré el codigo para llamar una web pero despues les explicaré el code...



<?php

$web = "seguridadblanca.org";

$cu = curl_init($web);

curl_setopt($cu, CURLOPT_RETURNTRANSFER, true);

$cu_call = curl_exec($cu);

curl_close($cu);

echo $cu_call;

?>


Listo ahora la primera linea ya vimos para que sirve ahora la segunda...fácil solo empieza la conexion es como si le asignaramos una cookie a la navegación... ahora en el caso de la terceya ya le estamos dando las opciones a hacer, le decimos que a nuestra conexion le haga un returntransfer es decir que devuelva los packetes necesarios y eso que sea 1 es decir que sea true o verdadero.

La cuarta línea pues lo unico que hace es darle un nombre a la ejecución dice ahora ejecuten, es como nuestro F5, ahora si luego ya solo mostramos y cerramos, como se habran dado cuenta es como un socket pero mas fácil de usar nuestro code con sockets necesitaba mas code y eso que ahora hemos hecho un code simple entonces no hay mucha diferencia pero podemos hacer cosas mas utiles...

tenemos para elegir...

CURLOPT_USERAGENT
CURLOPT_COOKIE

Miren como nos asignamos una navegada bien chevere, digamos para tener de referer milw0rm:


$ch = curl_init();
//options
curl_setopt($ch, CURLOPT_URL, "http://www.seguridadblanca.org");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_REFERER, "http://www.milw0rm.com");
curl_setopt($ch, CURLOPT_USERAGENT, "Firefox-beta");

// Se obtiene la URL indicada
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);


Como ven hemos hecho una conexion rápida sin mostrar nada especial y sin usar tantas variables de especificación sin embargo nos hemos ahorrado algo como:


$cabecera = "GET /web/index.php HTTP/1.1\r\n";
$cabecera .= "Host: host.com\r\n";
$cabecera .= "User-Agent: firefox-beta\r\n";
$cabecera .= "Referer: milw0rm.com\r\n";
$cabecera .= "Connection: Close\r\n\r\n";


como ven con el curl todo es mas simple, yo se que el tuto es un poco confuso sin embargo he intentado explicarme de la mejor manera, es solo un tuto muy básico la proxima semana haré otro que será de como hacer post de cosas para explotar bugs de flooding en correos y visitas...


saludos
Dr.White

Orientación del PHP al PenTest - curl() [Tuto I]

Hoy voy a hablar de la funcion Curl() de PHP, por el momento lo haremos todo con PHP por el hecho de ser mas comercial que otros lenguajes que contienen esta funcion.


Esta funcion no muchos conocen, se omite muchas veces en el momento de enseñar lenguajes pero con esta se nos facilita mucho lo que es ataque por headers y las descargas que haciamos por headers la podriamos hacer en menos lineas...


Ahora si a la práctica que es lo que nos gusta a todos...

En primera vamos a crear algo simple pero previo les voy a enseñar las funciones mas básicas...


curl_init --> es la funcion que se usa para hacer conexión básica a una direccion web.

curl_opt --> Opt viende de option esta es la funcion que mas trabaja con esto le decimos que opcion de curl queremos que se haga.

curl_exec --> ejecutas el script mejor dicho hace que el curl funcione...(en resumen)

curl_close --> Cierra el Curl, lo termina...


Ahora si miren en primer lugar siempre hay que poner algo como la url que queremos...


<?php

$web = "seguridadblanca.org";

?>


una ves que tenemos eso ya el resto es funciones de curl... les daré el codigo para llamar una web pero despues les explicaré el code...



<?php

$web = "seguridadblanca.org";

$cu = curl_init($web);

curl_setopt($cu, CURLOPT_RETURNTRANSFER, true);

$cu_call = curl_exec($cu);

curl_close($cu);

echo $cu_call;

?>


Listo ahora la primera linea ya vimos para que sirve ahora la segunda...fácil solo empieza la conexion es como si le asignaramos una cookie a la navegación... ahora en el caso de la terceya ya le estamos dando las opciones a hacer, le decimos que a nuestra conexion le haga un returntransfer es decir que devuelva los packetes necesarios y eso que sea 1 es decir que sea true o verdadero.

La cuarta línea pues lo unico que hace es darle un nombre a la ejecución dice ahora ejecuten, es como nuestro F5, ahora si luego ya solo mostramos y cerramos, como se habran dado cuenta es como un socket pero mas fácil de usar nuestro code con sockets necesitaba mas code y eso que ahora hemos hecho un code simple entonces no hay mucha diferencia pero podemos hacer cosas mas utiles...

tenemos para elegir...

CURLOPT_USERAGENT
CURLOPT_COOKIE

Miren como nos asignamos una navegada bien chevere, digamos para tener de referer milw0rm:


$ch = curl_init();
//options
curl_setopt($ch, CURLOPT_URL, "http://www.seguridadblanca.org");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_REFERER, "http://www.milw0rm.com");
curl_setopt($ch, CURLOPT_USERAGENT, "Firefox-beta");

// Se obtiene la URL indicada
curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);


Como ven hemos hecho una conexion rápida sin mostrar nada especial y sin usar tantas variables de especificación sin embargo nos hemos ahorrado algo como:


$cabecera = "GET /web/index.php HTTP/1.1\r\n";
$cabecera .= "Host: host.com\r\n";
$cabecera .= "User-Agent: firefox-beta\r\n";
$cabecera .= "Referer: milw0rm.com\r\n";
$cabecera .= "Connection: Close\r\n\r\n";


como ven con el curl todo es mas simple, yo se que el tuto es un poco confuso sin embargo he intentado explicarme de la mejor manera, es solo un tuto muy básico la proxima semana haré otro que será de como hacer post de cosas para explotar bugs de flooding en correos y visitas...


saludos
Dr.White

martes, 1 de diciembre de 2009

Insecure Permissions

Hoy les voy a enseñar de esta técnica...

Bueno, esta técnica consiste en que gracias a un cojunto de errores podemos acceder a directorios de la administración sin previo chequeo de identidad... digamos la siguiente situación...


el htaccess de la web que tenemos que entrar dice:

# no hackers admited jajaja


Ahora eso está en /protected-files/

Ahora comenzamos con los errores del programador ¬¬


vamos a darle una apariencia al panel digamos que tendrá estas opciones:


- Agregar usuario
- Ver usuarios
- Eliminar Usuario
- Perfil Administrador


Ahora vamos a ves la segunda opción que por ahora es la que nos va a interesar...

Ver usuarios (nos dejará ver los usuarios de una DB) y pues el nombre del archivo al que nos lleva es see_users.php y el codigo es el siguiente:





<?php

readfile('protected-files/users.txt');

?>


como vemos el codigo llama a un archivo de un directorio con htaccess :( estamos perdidos... no! si hay esperanza como ven el archivo no pide verificación de cookie ni user ni nada entonces que creen que pasaría si nosotros fuesemos a:


www.web.com/admin/

lógico nos pide autentificacion pero como sabemos que existe see_users.php vamos a ver que pasa si agregamos...


www.web.com/admin/see_users.php

¡Mi dios! hemos conseguido ver los usuarios que se encuentran en users.txt

Ahora asi como hemos conseguido ver los users los datos del administrador sale userinf.txt en user y pass... que es esto? mm bueno entonces nosotros como somos mas pilas que el programador veremos si se trata de algo que nos ocultan...


Vamos a www.web.com/admin/userinf.txt


lamentablemente dice que no existe un 404... ahora mm veremos quizas está en el directorio prohibido y si está ahí significa que puede haber un PHP que nos lleve ;)

buscando y pensando llegamos a la 4ta opcion del menú que nos lleva a panel_info.php que tiene el code:




<?php

readfile('protected-files/userinf.txt');

?>


entonces ya tenemos el user y pass de la administracion y ya podremos entrar con todos los privilegios y dumpearnos la DB si hay la opcion y si se pueden subir imagenes subir una shell en php...

Les recomiendo no siempre fijarse en directorios como /Admin/ para este bug por que hay veces que la info la guardan en archivos .inc que inclusive uno puede hayar en google:

Dork: mysql filetype:inc

con eso hayariamos buena info...


Bueno y como fixean esto?

pues muy fácil necesitamos saber antes de dar acceso si está logueado... como lo sabemos?

mm debemos usar una bandera que si esta logueado sea true y sino sea false pero como hacemos eso?

pues miren el tuto de Argumente Injection y fijense no poner un codigo tan simple como ese sino agregar verificacion de cookie como se muestra en esa entrada o algo por el estilo depende de la imaginacion del programador...


Espero les sirva esta información...


Saludos
Dr.White

Insecure Permissions

Hoy les voy a enseñar de esta técnica...

Bueno, esta técnica consiste en que gracias a un cojunto de errores podemos acceder a directorios de la administración sin previo chequeo de identidad... digamos la siguiente situación...


el htaccess de la web que tenemos que entrar dice:

# no hackers admited jajaja


Ahora eso está en /protected-files/

Ahora comenzamos con los errores del programador ¬¬


vamos a darle una apariencia al panel digamos que tendrá estas opciones:


- Agregar usuario
- Ver usuarios
- Eliminar Usuario
- Perfil Administrador


Ahora vamos a ves la segunda opción que por ahora es la que nos va a interesar...

Ver usuarios (nos dejará ver los usuarios de una DB) y pues el nombre del archivo al que nos lleva es see_users.php y el codigo es el siguiente:





<?php

readfile('protected-files/users.txt');

?>


como vemos el codigo llama a un archivo de un directorio con htaccess :( estamos perdidos... no! si hay esperanza como ven el archivo no pide verificación de cookie ni user ni nada entonces que creen que pasaría si nosotros fuesemos a:


www.web.com/admin/

lógico nos pide autentificacion pero como sabemos que existe see_users.php vamos a ver que pasa si agregamos...


www.web.com/admin/see_users.php

¡Mi dios! hemos conseguido ver los usuarios que se encuentran en users.txt

Ahora asi como hemos conseguido ver los users los datos del administrador sale userinf.txt en user y pass... que es esto? mm bueno entonces nosotros como somos mas pilas que el programador veremos si se trata de algo que nos ocultan...


Vamos a www.web.com/admin/userinf.txt


lamentablemente dice que no existe un 404... ahora mm veremos quizas está en el directorio prohibido y si está ahí significa que puede haber un PHP que nos lleve ;)

buscando y pensando llegamos a la 4ta opcion del menú que nos lleva a panel_info.php que tiene el code:




<?php

readfile('protected-files/userinf.txt');

?>


entonces ya tenemos el user y pass de la administracion y ya podremos entrar con todos los privilegios y dumpearnos la DB si hay la opcion y si se pueden subir imagenes subir una shell en php...

Les recomiendo no siempre fijarse en directorios como /Admin/ para este bug por que hay veces que la info la guardan en archivos .inc que inclusive uno puede hayar en google:

Dork: mysql filetype:inc

con eso hayariamos buena info...


Bueno y como fixean esto?

pues muy fácil necesitamos saber antes de dar acceso si está logueado... como lo sabemos?

mm debemos usar una bandera que si esta logueado sea true y sino sea false pero como hacemos eso?

pues miren el tuto de Argumente Injection y fijense no poner un codigo tan simple como ese sino agregar verificacion de cookie como se muestra en esa entrada o algo por el estilo depende de la imaginacion del programador...


Espero les sirva esta información...


Saludos
Dr.White

lunes, 30 de noviembre de 2009

OSEH - Open Sec Ethical Hacker

Yo no tengo mucho que escribir, esta presentación lo dice todo.

http://www.open-sec.com/oseh/oseh.html


Suerte si entran al curso



Saludos
Dr.White