Recolección de
información
Recolección de información
Índice
1. Recolección ............................................................................................................ 3
1.1 Maltego ................................................................................................................. 6
1.2 FOCA ....................................................................................................................... 7
1.3 Shodan .................................................................................................................... 9
2. OSINT ................................................................................................................... 12
3. Reconocimiento ................................................................................................... 13
Recolección de información
Recolección
Recolección de información
Recolección
Para realizar la recolección de información de un organismo se necesitará conocer una
serie de herramientas de auditoría de seguridad que se verán a continuación.
Como listado de estas herramientas se presentan las siguientes:
Google hacking. El buscador Google se puede utilizar para realizar búsquedas
avanzadas, las cuales pueden proporcionar información sensible e interesante de una
organización que no esté bien configurada o fortificada.
Bing hacking. De la misma manera que con Google hacking, se puede utilizar el
buscador de Microsoft para sacar información jugosa.
Shodan. Es un buscador de activos o dispositivos online. Es muy interesante para
identificar webcams, impresoras, scada, y otros recursos expuestos en Internet.
Anubis. Herramienta que contiene un gran set de utilidades para recolectar
información.
FOCA Final Version. Herramienta privativa similar a Anubis que cuenta además con
funcionalidades avanzadas de análisis de metadatos.
Servicios online. Existen diferentes servicios online que podrían ser de gran utilidad
en un proceso de auditoría como son Cuwhois, Robtex, Netcraft, Chatox, etc.
4
Recolección de información
Recolección
Google Hacking es un término que engloba una
amplia gama de técnicas para la consulta de
Google para revelar las aplicaciones web
vulnerables.
Además de revelar las fallas en las aplicaciones
web, Google Hacking permite encontrar los
datos sensibles, útiles para la etapa de
reconocimiento de un ataque, tales como
mensajes de correo electrónico asociadas a un
sitio, los vertederos de bases de datos u otros
archivos con nombres de usuario y contraseñas,
directorios protegidos con archivos
confidenciales, URLs para iniciar la sesión
portales, diferentes tipos de registros del
sistema, tales como cortafuegos y registros de
acceso, páginas no protegidas que contienen
información confidencial, como las impresoras
conectadas a la Web o las cámaras con datos
sobre su uso, estado, ubicación y así
sucesivamente.
5
Recolección de información
Recolección
Los buscadores como Google o Bing tienen una serie de parámetros que permiten realizar búsquedas avanzadas. Estos
parámetros son denominados como Dorks. En algunos sitios web como exploit-db se puede encontrar un listado de
Google Dorks categorizados en función de los resultados esperados.
A continuación, se especifican algunos Dorks interesante en Google:
site: permite listar toda la información de un dominio concreto.
filetype o ext: permite buscar archivos de un formato determinado, por ejemplo, pdfs, rdp (de escritorio remoto),
imágenes png, jpg, …
intitle: permite buscar páginas con ciertas palabras en el campo.
title. Además, permiten buscar páginas con palabras concretas en la URL. Es interesante buscar frases del tipo “index
of” para encontrar listados de archivos de servidores FTP o “mysql server has gone away” para buscar sitios web
vulnerables a inyecciones SQL en MySQL, ... Con dork site se puede fijar las búsquedas contra un target concreto el que
se esté auditando.
6
Recolección de información
Recolección
Realizando un pequeño ejemplo sobre el poder de los dorks en la etapa de la recolección se va a utilizar la siguiente
sentencia:
inurl:bash_history scp “/home”
Esto quiere decir que deseamos que Google nos devuelva sitios web donde en la dirección URL aparezca el término
bash_history, el cual es un tipo de fichero que crea el terminal de Linux Bash.
Por error o descuido de un administrador, ese fichero puede quedar expuesto en Internet, con el consecuente riesgo que
ello conlleva para la empresa, desde credenciales que el administrador ha utilizado, hasta cadenas de conexión a bases de
datos. Para ejemplificar un poco más, con la palabra scp lo que se está haciendo es filtrar. En este caso, se pueden
encontrar las credenciales de sitios a los que se accede mediante el programa SCP, el cual nos permite intercambiar
archivos mediante el protocolo SSH. Esto es sencillamente un breve ejemplo del poder de los dorks.
7
Recolección de información
Recolección
En el caso de Bing hay un dork importante, el cual es IP. Con el dork ip se pueden obtener dominios asociados a esa
dirección IP, lo que puede tener un hosting compartido. Es decir, diferentes sitios web, seguramente de distinto dueño,
están compartiendo el mismo servidor. Esto puede dar pie a que la seguridad de esos sitios se reduce a la seguridad
del peor. Quizá no se puede atacar a un sitio concreto porque filtra parámetros web correctamente, gestiona los
errores, valida entradas y salidas, pero quizá otra aplicación web que se ejecuta en ese servidor no lo hace. Al
compartir el servidor estamos asumiendo un riesgo que se debe conocer.
8
Recolección de información
Recolección
Mediante la combinación de los diferentes dorks podemos obtener
multitud de información importante, por ejemplo:
“ext:sql”: nos permitirá localizar archivos con instrucciones SQL.
“ext:rdp”: nos permitirá localizar archivos RDP (Remote Desktop
Protocol), para conectarnos a Terminal Services y que podremos
utilizar en la fase de fingerprint para obtener más información.
“ext:log”: nos permitirá localizar archivos de logs.
“ext:listing”: nos permitirá listar el contenido de un directorio al
invocar a este tipo de ficheros creados por WGET.
“ext:ws_ftp.log”: nos permitirá listar archivos de log del cliente
ws_ftp.
“site:/dominio:*” con el que localizaremos aplicaciones tras puertos
poco típicos.
ext:pwd inurl:(service | authors | administrators | users) “# -
FrontPage-”: nos devuelve usuarios/claves de administradores de la
web.
filetype:sql “# dumping data for table” “`PASSWORD` varchar”: 9
bases de datos volcadas con usuarios/contraseñas.
Recolección de información
Recolección
• intitle:”index of” “Index of /” [Link]: servidores con una archivo denominado “[Link]”.
- “access denied for user” “using password” “general error”
- inurl:phpbb “sql
- intitle:[Link] “Apache/*” “server at”: versiones de servidores o productos vulnerables.
- camera linksys inurl:[Link] 700: dispositivos hardware online.
- intitle:”Index of” .bash_history: archivos .bash_history
- indexados en los que podemos encontrar multitud de cosas interesantes.
- Google Hacking DataBase (GHDB): Para analizar distintos ejemplos de búsquedas avanzadas de Google
Hacking se puede visitar la Google Hacking DataBase (GHDB). La GHDB es un repositorio con ejemplos de
búsquedas (dorks) en Google que se pueden utilizar para obtener datos confidenciales de servidores, como
ficheros de configuración, nombres, cámaras, impresoras, passwords, etc.
10
Recolección de información
Recolección
Disponemos de herramientas orientadas a la recolección de
información y minería de datos, que nos permiten la representación de
la información de forma visual mostrando las relaciones existentes
entre la información obtenida. Analicemos algunas de ellas:
1.1 Maltego
Entre la información que puede recopilar está la información
relacionada con elementos de red, dominios, datos personales, como
direcciones de email, sitios web asociados, números de teléfono,
grupos sociales, empresas asociadas, etc.
Podemos utilizar la aplicación desde Kali Linux, aunque también existe
versión para Windows en la página oficial de Maltego.
11
Recolección de información
Recolección
1.2 FOCA
Según la web oficial, FOCA es una herramienta utilizada principalmente
para encontrar metadatos e información oculta en los documentos que
examina. Estos documentos pueden estar en páginas web, y con
FOCA se pueden descargar y analizar.
12
Recolección de información
Recolección
Estos documentos se buscan utilizando tres posibles buscadores que
son Google, Bing y Exalead. La suma de los tres buscadores hace que
se consigan un gran número de documentos. También existe la
posibilidad de añadir ficheros locales para extraer la información EXIF
de archivos gráficos, y antes incluso de descargar el fichero se ha
realizado un análisis completo de la información descubierta a través
de la URL.
Con todos los datos extraídos de todos los ficheros, FOCA va a unir la
información, tratando de reconocer qué documentos han sido creados
desde el mismo equipo y qué servidores y clientes se pueden inferir de
ellos.
FOCA incluye un módulo de descubrimiento de servidores, cuyo
objetivo es automatizar el proceso de búsqueda de los mismos usando
técnicas enlazadas recursivamente. Las técnicas utilizadas en este
sentido son:
13
Recolección de información
Recolección
Web Search: busca nombres de hosts y dominios a través de la
búsqueda de URLs asociadas al dominio principal, cada link es
analizado para extraer de él nuevos nombres de hosts y nombres de
domino.
DNS Search: a cada dominio se le consultará cuáles son los
hostnames configurados en los servidores NS, MX y SPF para
descubrir nuevos nombres de hosts y nombres de dominios.
Resolución IP: cada nombre de host se resolverá contra el DNS para
obtener la dirección IP asociada a ese nombre de servidor. Para que
esta tarea sea lo más certera posible, la consulta se realiza contra un
DNS interno de la organización.
PTR Scanning: para encontrar más servidores en el mismo
segmento de una determinada dirección IP FOCA realizará un escaneo
de registros PTR.
14
Recolección de información
Recolección
Bing IP: por cada dirección IP descubierta se lanzará un proceso de
búsqueda de nuevos nombres de dominio asociados a esa dirección
IP.
Common names: este módulo está pensado para realizar ataques de
diccionario contra el DNS. Utiliza un fichero de texto donde se añade
una lista de nombres de host comunes como ftp, pc01, pc02, intranet,
extranet, internal, test, ...
DNS Prediction: utilizado para aquellos entornos en los que se haya
descubierto un nombre de equipo que pueda dar pie a pensar que se
está utilizando un patrón en el sistema de nombres.
Robtex: el servicio Robtex es uno de los múltiples servicios que hay
en Internet para analizar las direcciones IP y los dominios, FOCA lo
utiliza para intentar descubrir nuevos dominios buscando en la
información que Robtext posee de ella.
15
Recolección de información
Recolección
FOCA comenzó siendo una herramienta de análisis de metadatos para
dibujar una red a partir de los mismos; en la actualidad se ha
convertido en un referente en el ámbito de la seguridad informática,
gracias a las numerosas opciones que incorpora Son estas opciones
las que nos permiten realizar múltiples ataques y técnicas de análisis
como:
- Extracción de metadatos.
- A-nálisis de red.
- DNS Snooping.
- Búsqueda de ficheros comunes.
- Juicy files.
- Búsqueda de proxys.
- Reconocimiento de tecnologías.
- Fingerprinting.
- Leaks.
- Búsqueda de backups.
- Forzado de errores.
- Búsqueda de directorios abiertos.
16
Recolección de información
Recolección
Además, FOCA tiene una serie de
plugins para aumentar la funcionalidad o
el número de ataques que se pueden
realizar a los elementos obtenidos durante
el análisis.
Adicionalmente, el usuario, podrá utilizar
el módulo “Foquetta” para generar
informes con los resultados obtenidos,
para disponer de este módulo hay que
tener instalado el programa “Crystal
Reports”.
Para extraer los metadatos de los archivos
existen dos formas: o bien los archivos de
los que queremos extraer la información
están guardados en nuestro ordenador o
usar directamente FOCA para obtenerlos
de una URL.
17
Recolección de información
Recolección
1.3 Shodan
Shodan es un motor de búsqueda que nos permite encontrar iguales o diferentes tipos específicos de equipos
(rúters, servidores, etc.) conectados a Internet a través de una variedad de filtros.
Algunos también lo han descrito como un motor de búsqueda de banners de servicios, que son metadatos que
el servidor envía de vuelta al cliente. Esta información puede ser sobre el software de servidor, qué opciones
admite el servicio, un mensaje de bienvenida o cualquier otra cosa que el cliente pueda saber antes de interactuar
con el servidor.
El programa recoge datos sobre todo en los servidores web al momento (HTTP puerto 80), pero también hay
algunos datos de FTP (21), SSH (22),Telnet (23), SNMP (161) y SIP (5060). Fue lanzado en 2009 por el
informático John Matherly quien, en 2003, concibió la idea de buscar dispositivos vinculados a Internet. El nombre
es una referencia a SHODAN, un personaje de la serie de videojuegos System Shock.
18
Recolección de información
Recolección
Shodan escanea constantemente todo el rango de direcciones IPv4 y IPv6, es decir, todas las direcciones IP que
hay en Internet. Por ejemplo, si el auditor está interesado en saber si una organización tiene algún tipo de
cámara accesible desde el exterior, se podría apoyar en Shodan para llevar a cabo esta búsqueda.
19
Recolección de información
Recolección
A continuación, vamos a enumerar acciones interesantes en temas de recolección de información:
- Visitar el o los sitios web de la organización, servicios y aplicaciones con el fin de encontrar errores y conocer la
superficie de información que tiene el objetivo.
- Búsqueda de enlaces mediante motores de búsqueda, como Google o Bing, fichero [Link], errores en
llamadas, ...
- Recabar la máxima información posible sobre el dominio, para después ir afinando las búsquedas con los tricks
que el auditor puede conocer.
- Descargar todos los sitios web de la organización para poder estudiarlos y descubrir enlaces o textos que pueden
haberse quedado en las propias páginas.
- Las versiones anteriores de páginas web también deben ser consultadas, por ejemplo, mediante el uso de
[Link]/web.
20
Recolección de información
Recolección
Listar los dominios y subdominios de esta. Toda la información que se pueda obtener de esto es información
crucial, por ejemplo, listar el máximo de direcciones IP, con lo que se podría tener una idea aproximada del
número de máquinas de las que consta la organización.
El estudio de los metadatos de los documentos públicos de una organización es algo importante, ya que, gracias
a estos, se puede conocer datos de interés de una organización. En los metadatos se puede conocer desde emails,
software, usuarios, impresoras, ... Esto se puede llevar a cabo con herramientas como FOCA.
Apoyarse en servicios como el DNS para saber por dónde navegan los empleados de la organización. Esto puede
ser realmente útil para conocer aplicaciones que pueden ser vulnerables a técnicas de Evilgrade. Por ejemplo, si
el auditor descubre que el DNS de la organización es vulnerable a DNS Caché Snooping, puede preguntar al
servidor por dominios que utilizan las aplicaciones en sus actualizaciones. Los dominios por los que preguntaría
serían vulnerables a la técnica de Evilgrade. El DNS y el servidor de correo pueden ayudar a obtener información
sobre la organización. Otros ejemplos son la transferencia de zona con la que se puede obtener un mapa de
máquinas jugoso.
21
Recolección de información
Recolección
Comprobación de la existencia de
lo denominado como hosting
compartido. Esto es un valor
añadido importante, ya que la
seguridad del servidor puede
radicar en el dominio más débil.
La obtención de emails es algo
importante, ya que más adelante se
puede llevar a cabo ataques de
ingeniería social, phishing, o
incluso el comienzo de un APT.
22
Recolección de información
Recolección
2. OSINT
OSINT se refiere al conocimiento y explotación de fuentes de acceso público para generar inteligencia que nos va a
permitir obtener una serie de datos que nos ayudarán a tomar una decisión.
OSINT nos va a permitir obtener los datos necesarios para tomar una decisión. Estas decisiones pueden ser desde de
detener a una persona o saber cuál es el target de un producto.
Las fases dentro de un proceso OSINT serían:
1. Fase de requerimientos, de identificación, para saber cuáles son los objetivos que perseguimos, cual es la
información que queremos obtener y el tiempo que vamos a necesitar que va a ser decisivo.
2. Fase de identificación de las fuentes relevantes que vamos a utilizar para obtener esa información.
3. Fase de adquisición de información. Se adquiere la información, se procesa para darle algún tipo de formato que
sea fácilmente interpretable y se comprueban, para garantizar que esa información sea lo más fiable posible.
23
Recolección de información
Recolección
Como fuentes de búsqueda podríamos citar los motores de búsqueda, como los tradicionales (Google, Bing…) o
los motores de búsqueda alternativos, ya sean los metabuscadores o buscadores específicos (buscadores a nivel de
citas, para un target específico según edad o sectores) y, por último, la Deep Web, que también entraría en ese
conjunto de buscadores que podríamos utilizar.
Otra gran fuente de información que podríamos utilizar serían las redes sociales, por la importancia de buscar
información sobre las personas, sobre su identidad digital, cuál es su presencia en Internet, etc. Existen ya servicios y
herramientas para identificar esta presencia en Internet.
Posteriormente, buscaríamos información tanto a nivel de datos de carácter personal, como el nombre de la persona,
edad, lugar de residencia, lugar de trabajo, etc., como información más concreta o más precisa, tal es el caso de cuál
es el entorno de ese usuario, cuál es su segunda residencia o dónde va a cenar los viernes por la noche. Y a nivel
corporativo, también es importante conocer fuentes que nos ayuden a recopilar
24
Recolección de información
Recolección
información sobre la empresa, datos generales, como datos sobre el negocio, productos, documentos o I+D que esté
realizando, etc.
Utilizar una fuente u otra va a depender mucho del objetivo y explotar unos datos u otros. Podríamos utilizar
herramientas como Automater (herramienta OSINT) para url/dominio, dirección ip o hash md5 (destinada a hacer
el proceso de análisis más fácil para los analistas en intrusión). Definido un objetivo (url, ip o hash) o una lista
completa de objetivos, Automater devolverá resultados relevantes desde fuentes como las siguientes: [Link],
[Link], [Link], [Link], [Link], [Link], ThreatExpert, VxVault, y VirusTotal.
La herramienta OSINT Framework es un recurso bastante interesante para llevar a cabo búsquedas de fuentes de
información abiertas. El detalle más destacado es que, las búsquedas, están clasificadas por temáticas y objetivos,
indicando el recurso correspondiente y puede dar muchas ideas sobre diferentes investigaciones partiendo del
campo OSINT.
25
Recolección de información
Recolección
Otra herramienta útil puede ser Spiderfoot, que cuenta con varios módulos dedicados a recoger información y
tratarla extrayendo datos relevantes de distintos ámbitos (Dns, contenido web, whois, Virustotal, Shodan, etc.) que
nos serán de utilidad a la hora de realizar tareas de OSINT (Open Source Intelligence). El objetivo de esta herramienta
es la automatización para obtener información de direcciones IP, nombres de dominio, hostnames y subredes.
Por último, existen multitud de herramientas destinadas a OSINT y que pueden utilizarse en la fase de recolección de
información, obteniendo información valiosa y organizándola para un uso posterior de cara a una auditoría.
26
Recolección de información
Recolección
3. RECONOCIMIENTO
En el reconocimiento de un objetivo existen dos partes: la
pasiva, que no tiene interacción con el cliente (víctima), y la
activa, que tiene una interacción directa con el cliente.
En el reconocimiento pasivo, lo que podemos buscar de un
cliente, a la hora de auditarle, pueden ser ofertas de trabajo TIC
(para ver en la oferta qué bases de datos y sistemas usan en
esa empresa): también podemos realizar búsquedas en redes
sociales, buscar en la basura, etc.
En cambio, en el reconocimiento activo, podemos usar
barridos de direcciones IP, conexiones a los puertos para ver
cuales están abiertos y qué aplicaciones están usando,
ingeniería social o mapeo de red para encontrar routers y
firewalls. 27
Recolección de información
Recolección
3. RECONOCIMIENTO
En el reconocimiento de un objetivo existen dos partes: la
pasiva, que no tiene interacción con el cliente (víctima), y la
activa, que tiene una interacción directa con el cliente.
En el reconocimiento pasivo, lo que podemos buscar de un
cliente, a la hora de auditarle, pueden ser ofertas de trabajo TIC
(para ver en la oferta qué bases de datos y sistemas usan en
esa empresa): también podemos realizar búsquedas en redes
sociales, buscar en la basura, etc.
En cambio, en el reconocimiento activo, podemos usar
barridos de direcciones IP, conexiones a los puertos para ver
cuales están abiertos y qué aplicaciones están usando,
ingeniería social o mapeo de red para encontrar routers y
firewalls.
28
Recolección de información
Actividades prácticas
Recolección
29