La Biblia del Footprinting (I de VII)La Biblia del Footprinting (II de VII)La Biblia del Footprinting (III de VII)La Biblia del Footprinting (IV de VII)La Biblia del Footprinting (V de VII)La Biblia del Footprinting (VI de VII)La Biblia del Footprinting (VII de VII)
Buenas a todos, hoy doy comienzo con este post a una cadena de 7 artículos a la que he titulado como “La Biblia del Footprinting”, en ella voy a tratar de destripar las herramientas más significativas que son de utilidad para realizar esta fase de los Test de Penetración.
Pero antes de comenzar, ¿en qué consiste la fase de Footprinting?
El proceso de Footprinting consiste en la búsqueda de toda la información pública, bien porque haya sido publicada a propósito o bien porque haya sido publicada por desconocimiento (abierta, y por tanto no estaremos incurriendo en ningún delito, además la entidad ni debería detectarlo) que pueda haber sobre el sistema que se va a auditar, es decir, buscaremos todas las huellas posibles, desde direcciones IP, servidores internos, cuentas de correo de los usuarios, nombres de máquinas, información del registrador del dominio, tipos de servidores, ficheros con cuentas y/o credenciales de usuarios, impresoras, cámaras IP, metadatos, etc. Cualquier dato que nos pueda ser de utilidad para lanzar distintos ataques en las fases posteriores de la auditoría.
Si enumeramos los pasos genéricos para realizar un Test de Intrusión, el proceso de Footprinting sería el primero de ellos:- Footprinting.
- Fingerprinting.
- Análisis de vulnerabilidades.
- Explotación de vulnerabilidades.
- Generación de informes.
Los artículos van a ir enfocados a la manera en la que yo suelo hacer la búsqueda de información, probablemente otros sigáis otros pasos o utilicéis otras herramientas, en ese caso será un placer que las compartáis con toda la comunidad en los comentarios, e incluso me pueden servir para completar la cadena de posts :)
Pongamos como ejemplo que tenemos que auditar a la organización Flu Project que tiene en el dominio flu-project.com su sitio Web y desde el que se pueden conectar a distintos servicios que ofrece su organización.
Paso 1. Visitar el sitio Web
El primer paso será evidentemente entrar en el sitio Web que vamos a auditar. Deberemos navegar por todas sus páginas y aplicaciones, ya que nunca sabemos que nos vamos a encontrar. Es habitual, sobretodo en sitios Web muy grandes, que se dejen olvidados enlaces a sitios que no deberían estar, o algún error en una llamada a BBDD (algo más común de lo que se piensa… ¿verdad? }=P). Tras hacernos una idea del estado de la web continuaremos con el siguiente paso.
Paso 2. ¿Qué saben los buscadores de nuestro objetivo?
El segundo paso de cualquier proceso de Footprinting sería preguntar a Google, Bing, etc. por el dominio del que queremos obtener información. Lo bueno (o malo según se mire…) de los buscadores es que sus crawlers suelen indexar en ocasiones ciertas páginas que no deberían haberse publicado, pero que han estado cierto tiempo visibles desde Internet mientras se estaban probando, y han quedado cacheadas en Google. Por tanto podríamos verlas mirando la caché o con algún servicio como “archive.org”
Continuaremos con las búsquedas hacking, utilizando diferentes verbos para refinar un poco más las búsquedas. Para el caso de Google Hacking podéis ver los verbos disponibles aquí. Y para el caso de Bing Hacking aquí.
Por ejemplo, es interesante ver que saben o dicen los demás de nuestro objetivo, para ello podemos ayudarnos de la siguiente búsqueda en Google, donde el “–“ indíca que queremos ver todos los resultados menos los del dominio objetivo:
flu project -site:flu-project.com
Algunos verbos a destacar serían:
- site: para listar toda la información de un dominio concreto.
- filetype o ext: para buscar archivos de un formato determinado, por ejemplo pdfs, rdp (de escritorio remoto, muy interesantes, si no preguntárselo a Silverhack :P), imágenes png, jpg, etc. para obtener información EXIF y un largo etcétera.
- intitle: para buscar páginas con ciertas palabras en el campo title
- inurl: para buscar páginas con ciertas palabras en la URL.
- O buscar por ejemplo por la frase “index of” para encontrar listados de archivos de ftps, etc.
Si queréis estudiar diferentes ejemplos de búsquedas avanzadas podéis pasaros por la Google Hacking Database (GHDB). La GHDB es un repositorio con búsquedas posibles en Google que se pueden utilizar para obtener datos confidenciales de servidores, como ficheros de configuración, nombres, cámaras, impresoras, passwords, etc. La base de datos está algo desactualizada, pero yo con tranquilidad hace un año me estudié la base de datos entera, y predefiní las búsquedas que aún funcionaban y me parecieron más interesantes en la herramienta Anubis:
La herramienta la podéis descargar gratuitamente desde mi blog personal. Tenedla a mano porque la utilizaremos a menudo durante esta cadena de posts.
En esta herramienta también tenéis la posibilidad de indicar los verbos en las casillas en blanco, para facilitaros más la tarea:
Una vez que hayamos realizado algunas búsquedas específicas será interesante listar todas las páginas que pendan del dominio raíz. Para ello podemos ayudarnos de la búsqueda:
site:flu-project.com
Y podríamos leernos el código fuente de las distintas páginas encontradas, para ver si hay comentarios escritos por los programadores (algo común) u otros datos que puedan ser de utilidad. Por ejemplo, en una ocasión me encontré con un comentario muy curioso que decía algo como lo siguiente:
<!—Comentario del Diseñador al Programador, el usuario para conectarse a la BBDD es PEPITO y la clave MENGANITO-->
Si queréis trabajar un poco menos podéis descargaros el sitio web entero, con alguna herramienta como Teleport o WebZip y hacer búsquedas directamente sobre la carpeta donde esté el sitio web descargado con la herramienta Inforapid, que realiza búsquedas muy rápidas sobre el contenido de los ficheros de una carpeta.
Otro dato interesante será listar los subdominios que pendan del dominio principal con sus correspondientes direcciones IP y por tanto máquinas y servidores, de esta manera nos podremos dar cuenta rápidamente del tamaño de la organización, para ello nos podremos ayudar de nuevo de la herramienta Anubis que automatiza búsquedas de Google Hacking con los verbos “site” e “inurl”. Con estos datos posteriormente en la fase de Fingerprinting (activo), con Nmap por ejemplo, podremos intentar obtener más datos y en fases posteriores realizar otro tipo de ataques:
También podremos encontrarnos con que varios dominios compartan una IP (virtual hosts), para buscarlos nos será de especial utilidad el buscador Bing con su verbo “IP”:
Anubis lleva integrada también esta búsqueda y como veis se obtienen los mismos resultados, solo que ya filtrados, eliminando los resultados repetidos:
Para esta tarea podéis utilizar también algún servicio Web como los siguientes:
Todos estos datos deberíamos irlos enumerando de una manera adecuada y permitiendo cierta trazabilidad entre los distintos elementos que vayamos encontrando, esta tarea es todo un arte, y es algo que han tenido presente los desarrolladores de algunas herramientas como Maltego, OPTOS, Foca, y Anubis. De esta última podéis ver una captura a continuación:
También utilizaremos los buscadores Google y Bing para extraer metadatos y obtener más información de nuestra víctima, pero eso lo analizaremos en posteriores posts.
En el siguiente artículo jugaremos con los distintos servicios Web que podemos utilizar para obtener información de un determinado dominio, como sus subdominios, IPs, localización, Whois, etc.
¡¡Saludos!!