Menú

Mostrar Mensajes

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.

Mostrar Mensajes Menú

Mensajes - sirdarckcat

#511
PHP / Re: Optimizacion de codigo PHP.
30 Octubre 2009, 05:55 AM
CitarSi fuera vulnerable por register_globals entonces casi todos los sistemas webs serían vulnerables.
de hecho lo son xD, pero las constantes no usan memoria, son remplazadas antes de pasar a la VM de Zend.. es mas rapido.. pero igual no tan seguras como la primera.

*edit* ahora que lo pienso, lo de las constantes solo es cierto si usas el optimisador de zend..
#512
Nivel Web / Re: Backdoor nativo en SMF 2.0
30 Octubre 2009, 05:50 AM
creo que no entiendes la diferencia entre vulnerabilidad y backdoor. backdoor es una vulnerabilidad que fue puesta aproposito.. yo ya explique la vulnerabilidad, y fue puesta (y escondida) aproposito..

el acceso que se tiene por las "noticias" es muy disinto a este.. las "noticias" no pueden resetear el mt_rand, ni usar tu foro como proxy ademas de que no estan escondidas y son configurables (y las puedes desactivar facilmente).

saludos
#513
whk ahora es pitufo, que le digas a el xD
#514
PHP / Re: Optimizacion de codigo PHP.
30 Octubre 2009, 02:30 AM
de hecho no es muy seguro usar ni la segunda ni la tercera.

la segunda no es seguro distribuirlo.. porque podria haber gente que tiene register_globals habilitado.
la tercera tampoco es seguro si pones los define en un archivo distinto a donde tienes el mysql_connect.. y si estan taaan cerca como en el ejemplo que tienes, es practicamente inutil hacerlo como en el ejemplo.

tendrias que checar si esta definido primero antes de hacer la conexion.

saludos
#515
PHP / Re: Optimizacion de codigo PHP.
29 Octubre 2009, 15:23 PM
el primero es mas seguro y mas optimo por varios microsegundos.

el tercero es mas conveniente porque si cambias los datos de sesion no tienes que buscar donde pusiste el mysql_connect.

#516
Nivel Web / Re: Backdoor nativo en SMF 2.0
28 Octubre 2009, 05:57 AM
Bueno, ahora quiero explicar porque esto es un backdoor, y no solo un huevo de pascua.

1.- Codigo Ofuscado.
La unica manera de escapar herramientas de auditoria de codigo automatico, busqueda de funciones (grep), etcetera, es ofuscando el codigo. Una herramienta facilmente hubiera podido relacionar la funcion fetch_web_data o base64_decode con la funcion Mascot.. pero con el codigo ofuscado de esta forma, definitivamente no.

2.- Vulnerabilidad forzada
Es dificil diferenciar una vulnerabilidad con un backdoor. Un backdoor debe ser dejado aproposito, y permitir a los autores ejercer control sobre el software que de otra forma no tendrian. En este caso la funcionalidad de la funcion Mascot hubiera podido ser mas rapida, mas segura, y mas clara se se hiciera como funciona el resto de las secciones que generan contenido estatico. Sinembargo esta fue hecha convenientemente para que estuviera siempre al control de SMF.

3.- Denegacion plausible
En caso de ser descubierto, se debe tener una posible explicacion. En este caso, el backdoor tiene una funcion de "easter egg", el cual en si les da la capacidad de incluso justificar la ofuscacion del mismo.

4.- No es configurable
No es una opcion que se puede deshabilitar (vease, actualizaciones automaticas de windows, etc..) es simplemente un codigo que no puede ser deshabilitado por SMF a menos que borres el codigo del backdoor.

Ahora, explicare lo que se puede hacer con este backdoor (todo es en la misma funcion, Mascot() en Who.php linea 661).

1.- Permite a los atacantes setear el seed del MT PRNG (generador de numeros aleatorios de PHP) para el servidor (no solo la pagina web, sino todo el servidor, y si es un hosting compartido, a todos los vhosts) a un numero explicito (Linea 675 de Source/Who.php).
mt_srand(1104307200);

Esto podria permitir a SMF mejorar la posibilidad de adivinar los links de "recordatorio de contraseñas" (como fue notado por kuza55), aunque afortunadamente el sistema usa la funcion del generador de numeros aleatorios de la base de datos. Asi como evadir la validacion de correo electronico.

Si se desea leer mas al respecto sobre este ataque: http://www.suspekt.org/2008/08/17/mt_srand-and-not-so-random-numbers/

2.- Permite a los atacantes usar tu servidor como web proxy y hacer peticiones en tu nombre. La url de control en el dominio de simplemachines es:
http://www.simplemachines.org/smf/latest-laugh.js
Esta esta codificada en base64 como:
aHR0cDovL3d3dy5zaW1wbGVtYWNoaW5lcy5vcmcvc21mL2xhdGVzdC1sYXVnaC5qcw==
en la linea 679 de Sources/Who.php

Esto habilita dos ataques:

1.- Permite a SMF colocar (y cambiar cada que quieran) contenido arbitrario en tu servidor (codigo HTML, ‭‬javascript, Flash, Malware, Java, etcetera).
Un ejemplo importante es la policy file que flash requiere para permitir hacer conexiones al servidor. Asi como tambien subir directamente un archivo flash, o java lo que permitiria a los atacantes abrir sockets de tus clientes a tu servidor, y cualquier cosa que quieran.

2.- Los atacantes pueden hacer una redireccion HTTP a cualquier url HTTP, HTTPS, FTP, y FTPS y obtener su contenido.
Asi, aun si tienes un sistema de "whitelist" a ciertas direcciones IPs para acceder a ciertos recursos (Intranet, Backups de bases de datos, PHPMYADMIN, etc..), los atacantes tendran el poder de hacer peticiones y recuperar parte del contenido.

Este backdoor no solo habilita el acceso de SMF a escondidas, sino que tambien evade protecciones que tu servidor podria tener. Es el caso especial de la directiva allow_url_fopen, la cual se deshabilita normalmente para evitar peticiones HTTP externas al servidor (por seguridad), pero aun asi SMF lograra hacer este ataque usando una tecnica conocida para evadirla (normalmente usada por atacantes para evadir protecciones al hackear un servidor) (Linea 2715 de Sources/Subs-Package.php).
// Get the contents of a URL, irrespective of allow_url_fopen.
function fetch_web_data($url, $post_data = '', $keep_alive = false, $redirection_level = 0)


Por lo que aun si intentas proteger tu servidor, no lo vas a poder hacer.

Por estos tres puntos yo considero que es un backdoor dejado aproposito, de bastante peligrosidad, y que pone en peligro la confianza que no solo muchas comindades alrededor del mundo han puesto en SMF, sino tambien de sitios gubernamentales de varios paises, y de todas las personas que son "charter members" y que pagan por tener acceso a la version mas reciente de SMF.

Al descubrir este backdoor, nos pusimos en contacto con SMF, y pedimos una explicacion. A la cual se nos dio esta respuesta:

CitarHi Eduardo,

Thank you for your concerns.

The code in question is, indeed, used to display an easter egg. In fact, it
only displays an inside joke on the user's screen if said user goes to
?action=mascot, which is not directly linked to in SMF itself.

While we do not think this is a security issue per se, we do agree having
obfuscated code in general is bad practice. Therefore, the mascot easter egg
has been removed from our SVN trunk.

On a more general note, we've already planned to evaluate all of our easter
prior the release of 2.0 gold, so some more might be removed.

Regards,
Aaron van Geffen,
SMF Developer

Diciendo que se borro esta funcion del SVN (privado ya que SMF no es software libre, pero en la web siguen mostrando el codigo con el backdoor), y se nos dijo que solo era un easter egg (como ya sabiamos) y que probablemente iba a ser borrado antes de tener la version "Gold".

No se si SMF hara una explicacion publica, pero en cualquier caso esta mi opinion, y ahora esta en ustedes decidir si fue un error involuntario o no..

Saludos!!
#517
 :¬¬ no es mas facil enlugar de dar click en: mejor en y mandarle tu el privado?
#518
quien dijo 9 xD hay otro mas =/ aunque solo afecte a opera/ie6 y ando viendo otro que podria desactivar el acceso a un topic/board (y si habilitas una opcion no-default/eres moderador, foro) haciendo que nunca cargue la web

----
y no son 11 porque PHP tiene timeout en preg_replace, sino podria hacer <censurado>

----
11!! xD

----
lo bajo a 10 denuevo.. aparentemente solo se podra explotar como un DoS que pone el CPU al 100%
#519
jaja whk y yo no nos aguantamos las ganas y ya empezamos a ver xD

puse un contador aca:
http://foro.elhacker.net/nivel_web/auditoria_de_seguridad_hacia_simple_machines_forum_20-t271199.0.html

xD

Saludos!
#520
seh, usa la BD de geolite jaja.. al de elhacker.net/elhackernet/geolocalizador le puse la de geomax.. deberia ser mas acertado.