miércoles, 31 de julio de 2013

Usos atípicos de Google: El diablo está en los pequeños detalles.

Cuando se habla de protección de sistemas pensamos en firewalls, antivirus, IDS, etc.
y cuando se piensa en hackers o pentesters imaginamos con grandes conocimientos de informática o, al menos, el dominio de potentes harramientas: nmap, metasploit y otros. Y muchas veces olvidamos que pequeños detalles pueden dar al traste con un sólido sistema de seguridad.

En el escalón más primario está en dump diving. ¡¡¡Cuanta información no se puede encontar en las papeleras y contenedores!!!. Por suerte las empresas cada vez son más conscientes de este problema y dejan a empresas especializadas el tratamiento de sus papeles desechados. Pero hasta ese momento la informacion está en papeleras, incluso contraseñas anotadas en post-its en las pantallas.

Hay otro nivel también primario y que sin necesidad de conocimientos ni herramientas especiales es también capaz de aprovechar nuestros descuidos y esa falsa sensación de seguridad que a veces se tiene. Y esa debilidad puede tener resultados desastrosos para nuestra seguridad. Se trata del Hacking con Buscadores.

¿Usar un buscador para hacer hacking?
Pues sí. Todo es cuestión de imaginación. Y, a veces, un simple buscador nos puede dejar en muy buena situación para empezar a diseñar un ataque contra un sitio Web.
Aunque este artículo hable de Google todo lo explicado es posible realizarlo también con otros buscadores como Bing y Yahoo. Sólo es cuestión de estudiar la sintaxis de estos buscadores.


Hasta los buscadores tienen sintaxis.

En efecto, y esta sintaxis nos ayuda a filtrar la información que solicitamos. Veamos algunos de los filtros que podemos especificar en nuestra búsqueda:

  • site: Permite restringir esos resultados bien a un sitio Web bien a un dominio de nivel superior
  • ext: Restringe la búsqueda a ficheros con la extensión especificada
  • intitle: Devuelve las páginas que contengan en su título ALGUNAS de las palabras especificadas
  • inurl: Devuelve las páginas donde en su URL aparecen ALGUNAS de las palabras

Ahora, manos a la obra.
Como he dicho antes a veces tenemos una sensación de falsa seguridad que unida a cierta desidia puede tener como resultado la creación de un enorme agujero en nuestra seguridad.
Hemos realizado una copia de seguridad de una web.  Nuestro proveedor nos proporciona una herramienta online, tambien web, mediante la cual definimos y planificamos nuestras copias de seguridad, que suelen ir sobre uno de los directorios de la web.
Pensamos, erróneamente, que al no tener una extensión de las clásicas: .html, .css., etc., no es fácil llegar a ella. Incluso algunos pueden pensar que es imposible acceder ese fichero. O pensamos que queda fuera del alcance de los buscadores.
Nada más alejado de la realidad y vamos a verlo.
Hagamos esta simple, pero efectiva búsqueda.

 ext:sql "insert into" password.


Et voilá, podemos ver como por la red hay muchos ficheros con la extensión .sql que son el resultado de backups de la bases de datos que se han dejado alegremente a nuestro alcance


Si entramos en uno ellos podemos ver lo siguiente:


Pero no solo podemos encontrar los importantísimos volcados de las tablas de usuarios, también podemos encontrar cosas curiosas, como las conversaciones de messenger:

Y su contenido.



Fácil. ¿Verdad?

Bueno, pues vamos a por otra.

Seguro que antes de modificar algun fichero de configuración el prudente administrador ha hecho una copia de seguridad..  Y como es un poco vaguete y tiene la  sensación de falsa seguridad pues lo fácil es crearla en el mismo directorio (que es accesible por web). Y en un alarde de imaginacion le pone uno de estos sufijo: .old, .orig, .back, .bck

No tenemos más que hacer la siguiente búsqueda:

ext:old  inurl:configuration var

Y.....
Miramos en su interior y:




Y ya lo tenemos, usuario y contraseña para acceder a una base de datos MySQL, y con bastante probabilidad será un usuario todopoderoso,

¡¡¡Es tan simple que hasta da miedo!!!.

Y vayamos a los casos difíciles.
Estos casos han sido bastante simples pero lo que buscaba era dejar bien claro la forma en que se puede hacer hacking con un buscador.

Es nuestra imaginación el límite de este tipo de hacking, pero por si andamos cortos de ella o bien deseamos partir desde donde otros han finalizado (que es la opción más inteligente) solo tenemos que buscar "google dorks" en el propio google...

Bueno, pues ya lo habéis visto... tened mucho cuidado ahí fuera.







viernes, 19 de julio de 2013

Herramientas .... (II) - Explorador de procesos

En esta segunda entrega del paquete de herramientas de sysinternals vamos a ver el Explorador de Procesos que al igual que TCP View enriquece la escasa información que suministra el gestor de tareas standard de windows.
Encontraremos este programa dentro de la suite completa de sysinternals con el nombre procexp.exe

Una vez arrancado este es su aspecto


Además del consumo instantáneo de CPU y de memoria podemos identificar que hace el proceso, siempre y cuando el programador se haya tomado la molestia de indicarlo, y que el software está firmado. Esto último es una garantía de tranquilidad.


Dado que la firma de programa es una aval lo suficientemente importante de seguridad si ordenamos por esta columna y vemos que tenemos pocos procesos cuyo programas no están firmados tendremos una garantía de que nuestro sistema está aceptablemente limpio.

La implantanción de firmas en el software lleva ya tiempo en el mundo del software y ver muchos procesos arrancados en un equipo sin firma no da una buena imagen de su propietario (descuidos, software antiguo, copias no legales, etc) y una mayor probabilidad para la existencia de troyanos y puertas traseras,

Evidentemente no todos los programas vienen firmados, pero si por ejemplo vemos un programa que se llame word.exe y no viene firmado por Microsoft podemos estar seguro que tenemos algo que no huele bien en nuestro equipo.

Si hacemos seleccionamos un proceso y hacemos doble click obtenemos una información completa sobre ese proceso:

Podemos destacar:

Los puertos que tiene abiertos:



O los zonas de memoria que identifica como strings (tanto en memoria como en el fichero del ejecutable)


La entrada del registro que lo arranca (si es un programa que se arranca al iniciarse)


Un consejo: si ves un programa no firmado, que abre una conexión y está en autoarranque no está de mas el intentar identificar que hace ese programa e intentar descargarte una versión firmada.

Y asi la información de proceso clasificada en 7 categorias: Imagen del programa, rendimiento (en formatos gráfico y numérico), threads, seguridad, TCP, entorno y strings.

Podemos dividir la ventana en dos vista y en la inferior podemos seleccionar o bien los handles o bien las DLL's que usa un proceso:


Otra potente herramienta es la posibilidad de identificar el proceso al que pertenece una ventana. Sólo tenemos de seleccionar este icono:
arrastrarlo y soltarlo sobre la ventana seleccionada.

Estas breves líneas sólo son una enumeración de básica de las múltiples posibilidades nos proporciona esta herramienta.

En próximos posts seguiremos viendo mas herramientas de esta suite.