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.

lunes, 17 de junio de 2013

Herramientas imprescindibles para analizar procesos en Windows (I)

 Todos estamos acostumbrados a dar el comando netstat o ver la lista processo como primera acción cuando algo no va bien en el equipo.




Lo primero que se hecha en falta es poder relacionar la información de ambas pantallas que es como decir: ¿que programa a arrancado esa conexión? o su inversa ¿cuantas conexiones ha arrancando un programa?

El Gestor de Tareas de Windows y el comando netstat son claramente insufucientementes y necesitamos de algunas herramientas para poder extraer más información.


La solución a estas preguntas y otras muchas más viene de la mano de la suite Sysinternals que Microsoft pone a nuestra disposición en esta direción http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

En sus origenes sysinternals fue desarrollado por programadores independientes y más tarde Microsoft adquirió no solo estas herramientas si no tambien su compromiso de mantenimiento.

Una de las ventajas, y es una gran ventaja, es que los programas de sysinternals son portables, es decir que no necesitan ser instalados en el equipo para funcionar. Lo que nos permite que sean añadidos al pen drive de herramientas que a modo de navaja suiza, todos los profesionales de la informática debemos llevar encima.

En un futuro post comentaré que llevo en mi pendrive-navajasuiza

Aunque son muchas herramientas y orientadas a diversos fines en este post vamos a tratar con las herramientas que nos pueden ayudar a analizar los procesos en ejecución en un sistema:
Tenemos:

• TCPView
• Process Explorer
• Process Monitor
• Handles
• ListDLL
• Autoruns

Cuyos nombres dice bastante acerca de lo que podemos esperar de cada una de ellas.

TCPView.
Nos permite ver la conexiones de red que tenemos en nuestro equipo:

Esta es una pantalla general de la aplicación:


Se puede limitar la salida a sólo aquellas conexiones activas:


Mediante Ctrl+R podemos activar / desactivar la resolución de nombres


Las filas pueden estar coloreadas:
  • Amarillas - Conexiones que han cambiado de estado entre dos inspecciones
  • Rojas - Conexiones que han desaparecido
  • Verdes - Nuevas conexiones.
Una de las cosas que en mi opinión son mas útiles es la posibilidad de identificar al proceso que tiene la conexión.

Mediante nombre y su PID. Además si seleccionamos el proceso y vamos al menú y seleccionamos: Process --> Process Properties nos identifica en el fichero del programa:


Permitiéndonos incluso cancelar el proceso.

No alargo más este post y en los próximos iremos viendo y todos y cada uno de estos programas y finalizaremos con un ejemplo de uso de todos ellos para analizar un malware.