La fase conocida como Footprinting en un proceso que consiste en la búsqueda y recolección de cualquier tipo de información de un objetivo que pueda ser capturada de forma pasiva, es decir, sin el uso de herramientas que realicen escaneos o ataques de reconocimiento de la plataforma objetivo. La información recolectada puede estar en el contexto publico o privado (información privada que por error u otros factores se ha hecho pública pero que no debería serlo). La fase de footprinting intenta obtener la mayor cantidad de detalles sobre el objetivo con el fin de conocer y aprender mejor su entorno, por ejemplo, en el caso de una organización la información relacionada con servidores, empleados, software instalado, proveedores, sedes, procesos de producción, etc. Puede considerarse como el objetivo de la etapa de footprinting. Se trata de una etapa muy importante en el proceso global de penetración contra un objetivo determinado dado que si un atacante conoce cada detalle de su víctima tendrá más oportunidades de conseguir vectores de ataque muy eficientes y exitosos. Un Hacker experimentado, sabe y controla muy bien esta fase del ataque por esta razón no se debe tomar a la ligera y debe planearse con precaución.
El primer paso en la fase de footprinting es el reconocimiento del objetivo, es decir, si el objetivo (el caso de que sea una empresa o una persona) tiene presencia en internet como con un sitio web, lo primero es navegar por toda la aplicación conocer el objetivo y tratar de capturar toda la información que allí se encuentra registrada. Por otro lado es muy importante saber “que dicen” los distintos buscadores como Bind o Google sobre el objetivo, de hecho, es una de las mayores fuentes de información en esta fase del ataque. Google dispone de algunas palabras clave que permiten refinar las búsquedas por distintos filtros, algunos de estos son:
«robots.txt» «disallow:» “filetype:txt”: Verificar los ficheros robots de algunos sitios que tienen restringen el acceso a determinados recursos (que no desean que se indexen en el motor de búsqueda) intitle: “Live View /- AXIS” Para ver cámaras que tiene Google instaladas en todo el mundo inurl:_vti_pvt “service.pwd” Permite explotar una vulnerabilidad reportada aquí: http://www.iss.net/security_center/reference/vuln/frontpage-pwd-service.htm Consiste básicamente en que Microsoft FrontPage Extensions crea un directorio _vti_pvt en donde incluye un fichero service.pwd con usuarios y claves cifradas, que posteriormente seria posible crackear inurl:phphotoalbum/upload Permite encontrar sitios que hacen uso de phphotoupload y nos permite subir a dichos sitios imágenes nuestras. “vnc desktop” inurl:5800 Maquinas que tengan el escritorio remoto por medio de vnc activado y ejecutándose en el puerto 5800 (VNC viewer for Java) inurl:”port_255” -htm Para buscar servidores de impresión que tengan abierto el servicio en internet intitle:phpMyAdmin «Welcome to phpMyAdmin **** *running on* as root@*» inlink:http://www.example.com site:site.com Por otro lado, en google se almacenan miles de passwords y hashes en MD5 que se recopilan en este sitio Bastante útil para explotar una posible vulnerabilidad sobre claves débiles. |
Ahora, es importante utilizar herramientas que permitan optimizar este proceso, por ejemplo Google Hacking DataBase o Maltego, en estas entradas me centraré en el uso de estas herramientas que permiten optimizar este proceso y capturar los mejores resultados, comenzado por Google Hacking Database.
Usando Google Hacking DataBase (GHDB) con Google Penetration Testing Hack Database
Como se ha indicado anteriormente, con google se pueden utilizar varios filtros de búsqueda que permiten establecer de una forma bastante completa los resultados que se espera conseguir. En este orden de ideas, existe un script en Python que permite utilizar GHDB de una forma optima utilizando los conocidos “googledorks” que son simplemente, un conjunto de peticiones especificas que permiten filtrar información que puede ser interesante para el proceso de recolección.
Para descargar este script se puede consultar el siguiente enlace: http://www.secpoint.com/freetools/google-hack-db-tool-1.2.zip
Una vez descomprimido el fichero anterior, se puede apreciar que existe un fichero readme, un directorio “db” y el script de ejecución propiamente dicho, su uso es realmente sencillo, en primer lugar las opciones de ejecución son las siguientes:
python googleDB-tool.py Usage: googleDB-tool.py <sourcefile> [-s site] [-q] [-t] [-f outfile] Options: –version show program’s version number and exit -h, –help show this help message and exit -o FILE, –output=FILE save output to file -s SITE, –site=SITE generate queries for the SITE -q, –query generate google query urls for each line -t, –html generate output in HTML format (implies -q) SecPoint.com Google Penetration Testing Hack Database v. 1.2 |
Por otro lado, el directorio “db” contiene algunos “googledorks” que permiten identificar posibles vulnerabilidades, vectores de ataque y filtros de información privada. Al momento de ejecutar el comando es necesario indicar uno de estos ficheros para que el script generé información útil, ademas de que también se debe especificar un sitio web objetivo.
python googleDB-tool.py interesting_info.txt -s http://www.objetivo.com -o salida.txt |
Cabe anotar que el fichero “interesting_info.txt” se encuentra ubicado en el directorio “db” en donde se podrá ubicar cualquier tipo de fichero con “googledorks” personalizados, en el sitio de hackers for charity existen algunos bastante interesantes: http://www.hackersforcharity.org/ghdb/
Por otro lado la herramienta también permite generar informes en HTML utilizando las opciones -t y -q
python googleDB-tool.py interesting_info.txt -s http://www.objetivo.com -q -o salida.html -t |
Los informes generados incluyen las consultas previamente formateadas para que puedan ser ejecutadas posteriormente por Google, de esta forma, es posible tener una pila de pruebas para recolectar toda la información posible sobre el objetivo en cuestión.
Se trata de un script sencillo, pero a su vez bastante útil para generación de consultas a GHDB que puedan retornar resultados fiables sobre todo la información que cachea google.
En próximas entradas se verá el uso de más herramientas enfocadas al footprinting en un proceso de recolección de información.