Herramientas de OSINT

En esta lección se explicará como funcionan tres de las herramientas más conocidas de OSINT, y se verán con ejemplos prácticos los usos que se les puede dar. Estas herramientas son Google DorkingShodan y FOCA.

Google Dorking

Google dorking es una técnica que nos permite hacer búsquedas avanzadas en con el motor de búsqueda de Google. Estas búsquedas se realizan mediante una sintaxis avanzada y pueden usarse en plataformas como Bing, Yahoo o DuckDuckGo.

El dorking es una forma de enumeración pasiva con la que puedes encontrar información sensible como documentos privados, credenciales de inicio de sesión, emails o incluso información de cuentas bancarias.

Operadores

Para realizar una búsqueda avanzada usando dorking es necesario conocer los operadores y sus funciones. A continuación se mostrará una tabla con los distintos operadores y veremos algunos ejemplos de uso.td>@gmail.com

OperadorDescripciónEjemplo
” “El texto entre comillas dobles debe aparecer tal cual en el resultado.“hackrocks”
Excluye de la búsqueda el término que va después del signo “-”.-windows
+Incluye en la búsqueda el término que va después del signo “+”.hackrocks +windows
Se usa como comodín para indicar que puede tener cualquier valor.
#Busca un hashtag.#hacking
@Busca en redes sociales.@hackrocks
ORDevuelve uno de los términos de búsqueda que se usen.“linux” OR “windows”
|Realiza la misma función que el operador OR.“linux” | “windows”
ANDDevuelve todos los términos de búsqueda que se usen.“linux” AND “windows”
&Realiza la misma función que el operador AND.“linux” & “windows”
()Se utiliza para agrupar operadores.ordenador (“linux” OR “windows”)
cache:Muestra la página en caché.cache:hackrocks.com
inurl:El término de búsqueda debe estar en la url del resultado.inurl:login.php
site:Muestra todos los resultados indexados sobre un sitio website:https://hackrocks.com/
filetype:Muestra archivos con el tipo que le indiques.filetype:pdf
intitle:El término de búsqueda debe estar en el título del resultado.intitle:login
intext:El contenido del resultado debe tener el término de búsqueda.intext:credentials

PoC: filetype:

Este operador es muy útil porque puedes usarlo junto a otros como site, para buscar archivos con la extensión que se indique en un sitio web específico. A continuación se muestra un ejemplo de uso en el que se busca un archivo .conf, que puede contener credenciales o información de un servidor, en repositorios de github.

Otro uso puede ser encontrar ficheros de backups de bases de datos o simplemente buscar un pdf con información sensible.

PoC: inurl:

Como se ha indicado en la tabla anterior, este operador sirve para encontrar un resultado que tenga el término de búsqueda indicado en la url y, al igual que en el ejemplo anterior, se puede combinar con otros operadores para obtener resultados mejores. Este operador, al igual que intitle: e intext:, se puede usar con all al principio (allinurl:) si se quiere buscar más de una palabra.

Uno de los muchos casos en los que es útil inurl: es para buscar formularios de login:

PoC: ” “

Es el operador más básico que hay, pero no por ello el menos útil. El término de búsqueda que se introduzca debe aparecer en el resultado sin ningún cambio. Puede ser útil para buscar información sobre un término muy específico como puede ser el nombre de una persona o de una empresa.

En la siguiente imagen se muestra un ejemplo de como buscar con ” ” y AND un usuario y contraseña de una base de datos.

Shodan

Shodan es un motor de búsqueda que, a diferencia de otros como Google, en vez de buscar sitios web, busca dispositivos conectados a Internet. Es posible crear una cuenta gratis en Shodan, pero tiene varias limitaciones como un número máximo de 50 búsquedas.

Con la ayuda de una amplia variedad de filtros, podemos encontrar una gran cantidad de dispositivos de interés, acompañado de información como direcciones IP, dominios o ubicaciones.

Filtros

La tabla a continuación muestra una lista con algunos de los filtros más útiles de Shodan. Si quieres ver la lista con todos los filtros disponibles puedes hacerlo accediendo al siguiente enlace.

FiltroUtilidadEjemplo
after/before:Filtra los resultados por fechas.before:12/11/2022
country:Filtra los resultados por un código de dos dígitos que identifica a un país.country:spain
city:Obtiene resultados de una ciudad.city:sevilla
geo:Busca por latitud/longitud.geo:37.38283,-5.97317
hostname:Busca el nombre de un host o dominio específico.hostname:hackrocks.com
net:Busca resultados en un rango de IP o en un segmento de red.net:199.4.1.0/24
os:Filtra por sistema operativo.os:ubuntu
port:Permite filtrar por un número de puerto.port:80

Conociendo los filtros que nos ofrece Shodan, podemos utilizarlos para enumerar dispositivos que pueden entrar en nuestro objetivo y son potencialmente vulnerables. En el siguiente apartado veremos una prueba de concepto para conocer como usar Shodan.

PoC: Enumerando servidores http en Sevilla

En esta prueba, tenemos como objetivos enumerar servidores http que estén ubicados en Sevilla. Usando el filtro city: visto en la tabla anterior podemos hacer la siguiente búsqueda: “http city:sevilla“.

Como se puede observar en la imagen, se obtiene un total de 42704 resultados de los cuales encontramos información como la dirección IP, el dominio, el servidor que utiliza o el certificado SSL.

También podemos ver que uno de los resultados tiene un código 302, que significa que ha sido trasladado a otra ubicación. Para solucionar esto se puede usar el filtro http.status: y buscar únicamente los servidores con código 200.

Al aplicar este filtro, la búsqueda nos devuelve únicamente servidores que respondan correctamente y, como podemos observar, el número de resultados se ha reducido de forma notable.

Por último, si se quiere buscar un servidor que utilice una tecnología en específico, como podría ser jquery, se puede usar el filtro http.component

A partir de aquí y con la ayuda de más filtros podemos obtener una lista de servidores potencialmente vulnerables.

FOCA

FOCA es una herramienta utilizada para extraer metadatos de archivos. Los metadatos de un archivo es la información no visual de un archivo que proporciona un contexto adicional a este, como pueden serlo el autor del archivo, emails, el sistema operativo usado o, en el caso de las imágenes, incluso la ubicación en la que se ha tomado esa imagen.

Además FOCA es capaz de obtener todos los archivos disponibles en un sitio web que se le indique y obtener sus metadatos, lo que facilita mucho el trabajo de enumeración.

Para que todo esto se entienda mejor, se hará de nuevo una prueba de concepto en la que se extraeran los metadatos de los archivos del sitio web del ayuntamiento de Sevilla.

PoC: Extrayendo metadatos de los archivos de un sitio web

En esta prueba se extraerán los metadatos que se encuentran ocultos en los archivos de la página web del ayuntamiento de Sevilla. En FOCA hay que crear un nuevo proyecto, eligiendo un nombre para el proyecto y poniendo en el apartado domain website la url del objetivo.

Lo siguiente es elegir el motor de búsqueda que va a usar FOCA y los tipos de archivo que se quiere encontrar, en este caso se ha utilizado bing como motor de búsqueda y que se obtengan todos los tipos de archivo. Una vez elegido esto, se hace click en Search All para iniciar la búsqueda.

Para extraer los metadatos de estos archivos, hay que dar click derecho en uno de ellos y hacer click primero en Download All, y una vez descargados los archivos en Extract All Metadata.

Una vez completado este proceso, podemos observar en el panel de la izquierda todos los datos ocultos que ha conseguido encontrar FOCA. Encontramos mucha información interesante como usuarios de los sistemas, softwares utilizados, emails, o incluso sistemas operativos. Con estos datos recopilados es posible, por ejemplo, idear ataques de fuerza bruta o buscar vulnerabilidades conocidas de los softwares o sistemas operativos encontrados.

Conclusiones

En esta lección hemos visto el potencial de las herramientas más utilizadas en OSINT mediante algunos ejemplos prácticos, recomendamos investigar más acerca de ellas para aprovecharlas al máximo, ya que no se puede cubrir todo en una única lección.

También es recomendable aprender a usar otras herramientas con las que contrastar información, ya que se pueden obtener resultados distintos de ellas, por ejemplo, dos programas de extracción de metadatos pueden mostrar distintos datos de un mismo archivo.

Recordamos que el fin de aprender a usar estas herramientas, es para usarlas en entornos de pentesting.