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 - WHK

#4111
Citarwtf con tu spanglish xD
jajaja y eso que hize un esfuerzo para tratar de explicar todo con la menor cantidad de palabras posibles jajaja.

La solución y futuro parche o versión desatendida XD la estamos viendo con ing_amc ya que varias personas me han pedido una solución, mientras tanto para evitar la sql inyección en seo4smf-redirect.php hize estas modificaciones:
Código (php) [Seleccionar]
// Pasamos a integer para evitar procesar datos no solicitados
$topic = (int)$_GET['t'];
$board = (int)$_GET['b'];
$user = (int)$_GET['u'];
$tpage = (int)$_GET['p'];

// Filtramos solo carácteres válidos por SMF con expresiones regulares
$other = preg_replace('|[^a-z0-9_=,;/\-.]|i', '', $_GET['o']);
$action = preg_replace('|[^a-z0-9_=,;/\-.]|i', '', $_GET['a']);
$param = preg_replace('|[^a-z0-9_=,;/\-.]|i', '', $_GET['param']);


Deben haber otras páginas en que puedas inyectar código sql debo verlo todavía, falta muchisimo por revisar pero entre los dos lo terminamos luego.

Alguien me preguntó por privado si estaba bién poner (int) directamente en la query del mysql y la verdad es mejor no hacerlo ya que antes de eso hay un if que verifica si hay contenido para procesar y si alguien ingresa letras o algo que no sea numérico lo pasará como válido y procesará la query incompleta causando un error de sintaxis asi que por eso es mas seguro ponerlo en la declaración de arriba para anticiparse. La expresión regular hace posible que puedas ingresar solo números, letras y los simbolos "_=,;/-." para que puedan ser procesados los links sin tener problemas de tener que procesar algo inesperado en alguna parte del script.
Con esto ya no necesitamos modificar las queryes de la consulta a la base de datos pero de todas formas lo haremos mañana para continuar con el parche, también queda ver todas las demás fallas pero eso lo hacemos de volada  :P

Hasta mañana.
#4113
Primeramente antes de comenzar a lanzar links quiero explicar un poco del porque visitar estos sitios y cuan importante es.

Desde que llegó la automatización de páginas dinámicas también lo hicieron personas con inquietud de saber mas, tanto hackers como delincuentes informáticos y desde entonces también comenzaron a surgir los sitios dedicados a publicar fallas tanto a nivel Software como a nivel web, pero.. ¿Para que me sirve leerlos y entenderlos?

Primeramente si yo tengo a cargo la Administración de un sitio web de una empresa comprenderás que la información puede ser muy delicada y debemos prevenir fugas de cualquier tipo de ellas, también es necesario protegerlo ante atacantes que deseen aprovechar las vulnerabilidades de nuestro sitio para dar como único objetivo a nuestros clientes (por ejemplo la web de una entidad bancaria o sitios de venta online).

Una persona que no tenga los conocimientos para crear su sitio web desde cero le será necesario instalar un sistema prefabricado (CMS acrónimo de Content Management System) donde nada perfecto por lo tanto es necesario que los creadores de esos sistemas estén constantemente actualizándolos y no solamente para que se vean mas bonitos sino para reparar todo tipo de fallas ya sea insignificantes o tan relevantes como para que un atacante tenga acceso al servidor.

Los sitios de Advisories sirven para estar al día con las nuevas fallas y posibles soluciones principalmente de sitios donde sus Administradores (o moderadores en caso de foros) son profesionales en el tema ya en estos lugares se exponen primeramente antes que los demás que suelen ser solo copias de advisories de otros sitios.

En este foro podrás encontrar muchas fallas no publicadas en otros sitios ya que somos un grupo de usuarios al igual que tu que nos apasiona esto de la seguridad informática por lo cual podemos asegurar que tenemos todo lo necesario para satisfacer todas tus espectativas en cuanto a la publicación de Bugs y exploits (pruebas de concepto).

Saludos y bienvenidos!

Algunas definiciones:
0Day: Bug que no ha sido publicado en ningún otro lugar por lo cual tampoco existe ningún tipo de solución publicado.

PoC: Avreviación de Prueba de Concepto o Proof of concept que es la prueba de la falla descrita, esta puede ser un código en algún lenguaje, ejecutables ya creados, etc (Similar al Exploit, a diferencia del PoC que solo sirve para testear una falla el exploit se aprovecha de una falla para sacar algún tipo de provecho).

  • ElHacker.Net, en este lugar podrás encontrar mucha información que no verás en otros sitios debido a que nuestra intención no es lucrativa ni nos proponemos realizar ataques a sitios comprometidos, nuestro conocimiento y ética nos permite llegar mucho mas lejos que otras comunidades que tan solo son copias de la originalidad dándonos la libertad de crear soluciones para todos los mas afectados (Ver también subforo de programación en PHP).

  • Securityfocus nos muestra fallas a nivel WEB y Software donde el 90% de las veces se expone su solución y el 5% de las veces se expone algún tipo de prueba (Idioma: Ingles).
    http://www.securityfocus.com/

  • Milw0rm diseñado y creado por St0ke nos muestra antes que muchos las múltiples vulnerabilidades algunas veces con videos y casi el 99% con una prueba de concepto para testear, generalmente podrás encontrarte con muchos 0Days  (Idioma: Ingles).
    http://milw0rm.com/

  • SecList es un sitio muy recomendado creado por Fydor el creador de NMap donde casi siempre aparecen vulnerabilidades de todo tipo muy detalladamente y muy delante de otros sitios como securityfocus y secunia (Idioma: Ingles).
    http://seclists.org/

  • Packet Storm Security también es un sitio muy recomendable donde encontrarás el 99% de las veces pruebas de concepto para poder probar con ellas en nuestros sistemas y buscar posibles soluciones antes que los oficiales (Idioma: Multi idioma).
    http://packetstormsecurity.org/

    frSIRT es un sitio web donde podrás encontrar todo tipo de fallas tanto a nivel web como a nivel software pero la gran desventaja es que la mayoría de sus publicaciones son solo recopilaciones de otros sitios, de todas formas es un muy buen sitio para mantenerse actualizado si es que no tienes mucho tiempo (Idioma: Ingles y francés).
    http://www.frsirt.com/english/

    Secunia es muy similar a frsirt con la diferencia de que se esfuerzan un poco mas en hacer sus propios descubrimientos, también constan con softwares automatizados para escanear servidores (Idioma: ingles).
    http://secunia.com/

    Zero Day Initiative antiguamente un sitio gratuito pero ahora es necesario pagar para poder ser miembro y tener todas las facilidades de visualizar las últimas fallas sin tener soluciones públicas, como su nombre indica en este lugar solamente se exponen 0Days (Idioma: Ingles).
    http://www.zerodayinitiative.com/

    Xssed es un sitio donde se guarda una colección de vulnerabilidades únicamente de tipo XSS (Cross Site Scripting) (Idioma: Ingles).
    http://xssed.com/

    CGISecurity es un lugar donde encontrarás de todo un poco y entre todo eso también fallas a nivel web, buen sitio para estar al día en cuanto a la seguridad informática en general, muy recomendado. (Idioma: Ingles)
    http://www.cgisecurity.com/

    National Vulnerability Database, ¿Te has preguntado alguna ves donde quedan los bugs publicados con las siglas CVE, CCE, CWE, etc? en este lugar se encuentra la base de datos con todos los bugs reportados oficialmente.(en)
    http://web.nvd.nist.gov/

    Por último la web de advisories mas importante es la del sitio oficial de tu sistema web que por lo general debe tener un boletín o un sistema de noticias para mantenerte al tanto con las actualizaciones de seguridad, algunas de estas se encuentran en el "ChangeLog" que es un texto con todos los cambios sufridos en el sistema según su versión.

    Si no te gusta ninguno de estos sitios y no sabes de algún otro que pueda ayudarte puedes usar Google (aunque suene un poco cruel decir "busca en gogole" es el buscador mas eficiente que podrás encontrar, mas aún si deseas buscar alguna falla para un sistema en especifico (pones el nombre del sistema, versión, un espacio en blanco y la palabra "vuln")).

    Si tienes dudas o consultas para entender alguna función o propiedad puedes hacerlo directamente en el subforo de programación en PHP.

    Si alguien quiere agregar los sitios que generalmente visita puede hacerlo con toda libertad siempre y cuando no sea para publicar un foro ya que eso es considerado Spam a menos que lo incluya dentro de una lista de otros sitios y sin destacarlo dentro de los demás.
#4114
Bueno ya salió en milw0rm  :P
http://milw0rm.com/exploits/7723
#4115
CitarAhora, eso es sólo teoría, ya que en la práctica antes de encontrar el nombre de un tema privado lo que harías sería un DoS al servidor. xD
jaja te estas juntando mucho con ozx que quiere crackear los hash de seguridad para resetear los passwords de admin  :P imagina estar letra por letra viendo temas, no todos usan el mismo idioma y para atinarle a un nombre sería mas fácil quejuntaras un buén billete y coimees al administrador del servidor para que te de acceso a la base de datos  :xD

De todas formas yo con ing_amc estamos discutiendo la solución y lanzar el parche o versión desatendida  :P talves hasta quede mejor que el petty-urls, quien sabe.
#4116
Hola, estuve mirando en un post alguien que buscaba bugs a nuvel web solamente y hace pocos dias también se me vino a la mente esto de que en el foro de bugs y exploits se mezcla el nivel web y nivel software, podrían separarlo en dos subforos y ese foro central para los generalizados o simplemente dejar el que ya está pero cambiarle el nombre especificando que es a nivel software y un subforo que diga bugs y exploits a nivel web (o al revés) así como se hizo con hacking avanzado y básico.
#4117
CitarNo encontre el binario que decis, para ver el source code
aaah si, esque había actualizado un poco el código pero no me fijé que lo compromí en rar y no en zip  :P deja subir el mismo en zip y en rar.

Eso de que no se preocupan por la seguridad no me refería austedes porque se lo importante que es esto y que ustedes también lo saben, yo lo decía por el autor del script.
#4118
No Debes visualizar ningún archivo install.php, te explico.. instalas SMF eso supongo que ya lo tienes, después ingresas como Administrador y habrá una pestaña llamada Packages, desde ahí hay una parte donde dice Download Packages, ahora podrás ver una parte abajo donde te da la opción de subir un archivo, le das ese mod comprimido tal como viene de fábrica y le das en Upload , después te dirá si quieres instalarlo y bla bla bla y tu le das siguiente siguiente siguiente. Por último te vas a la sección donde dice Seo4SMF Admin y lo activas donde dice "Seo4SMF Enable".

Acá está un poco mas explicado:
http://www.simplemachines.org/community/index.php?topic=203647.0
#4119
Nivel Web / Falla en el mod Seo4SMF para SMF
9 Enero 2009, 09:47 AM
Bueno estas fallas ya fueron reportadas pero no parchadas  :xD aunque en este foro ya se parcharon asi que ayá va el post me peguen o me ahorquen jajaj..



Vamos a estudiar un poco este complemento para foros SMF, aprenderemos como repararlas y a testearlas.

Si solamente te interesa saber cuales son las fallas puedes ir directamente al final de este tema.

Primeramente tenemos que bajar su código fuente e instalarlo en un servidor local para poder entender las fallas e ir sacando conclusiones:
http://www.webmasterstalks.com/tpmod.html;dl=item48

No es de sorprenderse que no les interesa mucho la seguridad ya que en su propio foro utilizan una versión muy vieja de SMF con múltiples fallas ya avisadas y requete avisadas por simplemachines y sitios de advisories.

Bajamos SMF desde acá:
http://download.simplemachines.org/

Una ves ya instalado podemos comprobar algunas de las siguientes fallas.

SQL Inyección
Si no sabes que significa SQLi puedes visitar Google o Wikipedia.
http://www.google.cl/search?hl=es&q=inyecci%C3%B3n+sql&btnG=Buscar+con+Google&meta=
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL

Nos fijamos bién en el archivo seo4smf-redirect.php y podermos observar de plano las fallas:

Linea 7 al 13
Código (php) [Seleccionar]
$topic = $_GET['t'];
$board = $_GET['b'];
$other = $_GET['o'];
$user = $_GET['u'];
$tpage = $_GET['p'];
$action = $_GET['a'];
$param = $_GET['param'];



Luego el bug propiamente tal:

Linea 50 al 63
Código (php) [Seleccionar]
$query = db_query("
SELECT m.ID_TOPIC, m.subject ,b.ID_BOARD, b.name
FROM {$db_prefix}messages AS m, {$db_prefix}boards AS b
WHERE m.ID_TOPIC = $topic
AND m.ID_BOARD = b.ID_BOARD
IMIT 1", __FILE__, __LINE__);


Linea 105 al 108
Código (php) [Seleccionar]
$query = db_query("
SELECT name FROM {$db_prefix}boards AS b
WHERE ID_BOARD = $board
LIMIT 1", __FILE__, __LINE__);


Linea 125
Código (php) [Seleccionar]
$request = db_query("SELECT memberName FROM {$db_prefix}members where
ID_MEMBER=".$user." limit 1", __FILE__, __LINE__);


Linea 143
Código (php) [Seleccionar]
$request = db_query("SELECT subject FROM {$db_prefix}tp_articles where
id=".$tpage." limit 1", __FILE__, __LINE__);


Ahora como podemos ver estas variables no contienen ningún tipo de filtro asi que procedemos a verificar nuestra inyección sql:

http://localhost/smf/seo4smf-redirect.php?t=-1 union select 1,2,3...(numero de columnas)...,concat(username(),database()) –

y bualá, ahora nos podemos aprovechar un poco mas y consultar a la base de datos el hash delid del administrador mas su password asalt para crearnos nuestra cookie y autentificarnos como administrador para luego subir un módulo infectado con alguna webshell o un php con comandos arbitrarios y obtener el control total del sitio.

Inyección de Headers, XSS y Path Disclosure
Otra falla poco común que podemos ver está en la linea 106 y dice así:

Código (php) [Seleccionar]
if(!empty($url)){
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$url);
exit;
}


En mi caso lo estuve testeando en un servidor con una versión vieja de PHP que me permite inyectar headers haciendo un salto de linea, normalmente las versiones de ahora te lanza un error diciendo que no puedes declarar mas de un header por función:

http://localhost/seo4smf-redirect.php?a=x%0DLocation:%20javascript:alert(document.cookie);

Nos queda algo así:



En unos casos puedes causar un ataque XSS y en otros casos un Path disclosure ya que cuando el seo4smf te arroje el error de PHP este te revelará el directorio exacto del script dando lugar a otros tipos de ataques como la averiguación del directorio de configuraciones de SMF para un futuro ataque de LFI o Remote arbitrary download file.

Disclosure en temas y nombre de foros
Otra falla es que al momento de redireccionar algún tema este lo hace en el formato host/nombre_del_foro/nombre_del_tema sin verificar si estás autentificado como para diferenciar entre foros privados o no, por ejemplo podrías ingresar en la variable t de topic un tema que no tengas acceso y en la url te devolverá el nombre del foro privado y el nombre del tema aun sin estar logueado, por ejemplo:

http://localhost/seo4smf-redirect.php?t=1.new/topicseen

donde 1 es el número del tema, si no es privado te mostrará el tema normalmente, si es privado te mostrará un mensaje de error diciendo que no tienes acceso o no existe, en el caso de seo4smf te mostrará empty si el tema no existe, ya con eso podemos sacar como conclusión de que podremos crear nuestra propia herramienta que nos rastree desde el topic 1 hasta el último del foro y en el caso de que nos debuelva una url válida pero el contenido diga que no existe o está fuera de tus límites entonces es un foro privado y muchas veces el título dicen tanto como el contenido.



Antes de pasar a la siguente vulnerabilidad les presentaré el software que hize para auditar esta falla y recuerden que es solamente de uso personal y para pruebas locales:



Está hecho claramente para Window$ pero puede hacerse en cualquier lenguaje que se requiera sin esfuerzo mental alguno, la descarga está acá:

http://www.jccharry.com/greencode/filemanager/index.php?wfm-ruta=%2FCreaciones+propias%2FOtros%2Fseo4smf_exploit.zip

Está con su código fuente y todo.

Cross Site Request Forgery e Inyección de código arbitrário
Ahora si pasamos a la siguiente falla que son múltiples CSRF (ver Google y/o Wiki
http://www.google.cl/search?hl=es&q=csrf&btnG=Buscar+con+Google&meta=
http://en.wikipedia.org/wiki/Cross-site_request_forgery) los cuales me permiten modificar todo tipo de dato en el panel de administración de Seo4SMF remotamente. Supongamos que yo atacante hago una web donde hay un formulario que se envía por si solo hasta la web del atacante, en ese casi si la visita el Administrador y este está logueado podremos modificar lo que sea enviando variables en los formularios.  El CSRF con mayor peligrosidad es poder modificar totalmente el archivo .htaccess de la raiz del directorio del foro teniendo la posibilidad de un desface total.Las configuraciones guardadas por este panel de Administración (http://localhost/seo4smfadmin.html) son puestas dentro de un archivo XML dando la posibilidad de inyectar parámetros o códigos arbitrarios al no existir ningún tipo de filtro, por ejemplo en una variable cualquiera puedes enviar "</xml><?php...." dejando un código PHP arbitrario que puede ser llamado posteriormente por una falla de tipo File Inclusión Local (LFI http://www.google.cl/search?hl=es&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=local+file+inclusion&spell=1) ejecutando con éxito comandos arbitrarios de cualquier tipo sin que las configuraciones de un mod evasive o mod rewrite nos afecte ya que los datos viajan via POST y no via GET para que pueda ser procesada en %REQUEST_URI%.

Estas fueron solo algunas de las tantas fallas que incluye este sistema tán útil pero tán inseguro al mismo tiempo. Es dificil creer que los programadores de hoy todavía no les interese esto de la seguridad, después se quejan desgastandose en demandas cuando lo que tienen que hacer es leer y aprender de una buena ves por todas.

Fuente: http://www.jccharry.com/blog/2009/01/09/whk_fallas-criticas-en-seo4smf-para-foros-smf-simplemachines-forum.html

Esto solo son unas pocas fallas porque el sistema no contempla ningún tipo de filtro para nada asi que se puede encontrar de todo.
#4120
Había una falla en una versión de SMF donde si lo instalabas en un servidor con Windows este valor al azar se reducía muy poco y era fácil de crackearlo pero eso ya se reparó. En joomla, wordpress, smf, oscommerce, phpnuke etc te dan un hash junto al correo de verificación de cuenta si se te olvida, ahora el problema es cual es ese hash? por lo genral es un hash de 32 bts asi que sería como crackear un hash de md5 con valores complicados.

No le veo mucho futuro pero suerte igual  :xD