Shodan e IPInfo
Shodan
Shodan es un motor de busqueda de dispositivos conectados a internet. Para cada IP devuelve informacion sobre los servicios que tiene expuestos.
Que devuelve
from src.tools.shodan_tool import shodan_host_lookupresult = await shodan_host_lookup("185.220.101.34")| Campo | Descripcion |
|---|---|
ports | Lista de puertos abiertos |
hostnames | Hostnames asociados |
domains | Dominios |
country_name | Pais |
city | Ciudad |
org | Organizacion |
isp | ISP |
asn | ASN |
vulns | CVEs detectados en servicios expuestos |
data | Banners de servicios con informacion detallada |
Informacion de servicios
Para cada puerto abierto, Shodan devuelve el banner del servicio:
{ "port": 22, "transport": "tcp", "product": "OpenSSH", "version": "8.9p1", "data": "SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6"}Esto permite identificar:
- Versiones de software (y por tanto vulnerabilidades conocidas)
- Tecnologias en uso
- Configuraciones inusuales
CVEs detectados
Si Shodan detecta versiones vulnerables, lista los CVEs:
vulns: ["CVE-2023-38408", "CVE-2023-51384"]Free tier
Shodan tiene un free tier muy limitado: 100 queries/mes. El cache de 24h ayuda, pero usa esta herramienta de forma selectiva.
Casos de uso en OSINT
- Identificar nodos Tor / VPN (puerto 9001, 9030)
- Detectar servidores C2 (puertos no estandar con banners sospechosos)
- Verificar la infraestructura de un dominio
- Encontrar dispositivos IoT expuestos
IPInfo
IPInfo proporciona geolocalizacion precisa y contexto de red para IPs.
Que devuelve
from src.tools.ipinfo import ipinfo_lookupresult = await ipinfo_lookup("185.220.101.34")| Campo | Descripcion |
|---|---|
ip | IP consultada |
hostname | Hostname inverso (PTR) |
city | Ciudad |
region | Region/estado |
country | Codigo de pais (ISO) |
loc | Coordenadas GPS |
org | Organizacion (ASN + nombre) |
postal | Codigo postal |
timezone | Zona horaria |
Ventaja sobre otros servicios
IPInfo tiene uno de los mejores free tiers: 50.000 requests/mes. Para la mayoria de casos de uso, es efectivamente ilimitado.
La geolocalizacion de IPInfo es especialmente precisa para:
- Identificar proxies y VPNs (org suele mostrar el nombre del proveedor)
- Detectar hosting compartido vs dedicado
- Correlacionar con patrones geograficos de una campana
Ejemplo de salida
[IPInfo] 185.220.101.34 ├─ Hostname: tor-exit-nl-01.example.net ├─ Ciudad: Amsterdam ├─ Region: North Holland ├─ Pais: NL (Paises Bajos) ├─ Coordenadas: 52.3667, 4.9000 ├─ Organizacion: AS53667 Frantech Solutions └─ Timezone: Europe/Amsterdam