Shodan é um mecanismo de busca que permite ao usuário encontrar tipos específicos de computadores (webcams, roteadores, servidores, etc.) conectados à internet por meio de diversos filtros. Alguns também o descreveram como um mecanismo de busca de banners de serviço, que são metadados que o servidor envia de volta ao cliente.[1] Podem ser informações sobre o software do servidor, quais opções o serviço suporta, uma mensagem de boas-vindas ou qualquer outra coisa que o cliente possa descobrir antes de interagir com o servidor. (wikipedia)
Baixar dados da maneira usual do shodan terá algumas dificuldades, como:
Esta ferramenta irá ajudá-lo a consertar tudo isso
root@kali:~/getShodan# python getShodan.py -h
____ _ ____ _ _
/ ___| ___| |_ / ___|| |__ ___ __| | __ _ _ __
| | _ / _ __| ___ | '_ / _ / _` |/ _` | '_
| |_| | __/ |_ ___) | | | | (_) | (_| | (_| | | | |
____|___|__| |____/|_| |_|___/ __,_|__,_|_| |_|
usage: getShodan.py [-h] -q <'string query'> -k <shodan_API_key> -o <output
file> -f ip_str/port/os/host/ [-os <offet_number>]
[-l <limit_number>]
get data from Shodan
optional arguments:
-h, --help show this help message and exit
-q <'string query'>, --query <'string query'>
String query search on Shodan
-o <output file>, --output <output file>
Output file
-f ip_str/port/os/host/, --filter ip_str/port/os/host/
Filer string
-os <offet_number>, --offset <offet_number>
The serial number of result will begin downloading
-l <limit_number>, --limit <limit_number>
The number of result will download
As opções em --filter são salvas no arquivo options.txt. Os códigos de país Shodan são salvos no arquivo country.txt.
Instale o pacote da biblioteca:
root@kali:~# pip install -r requitements.txt
Ferramenta de download:
root@kali:~# git clone https://github.com/dn9uy3n/Get-Shodan
Obtenha a chave da API Shodan: Faça login em https://www.shodan.io >> 'Minha conta' >> Copiar chave da API Adicione a chave da API Shodan ao arquivo configure.py
...
SHODAN_API = <your_API_key>
...
Exemplo: Baixe a lista de IP do servidor Apache abre a porta 8080 e SO: Windows Server 2003. Salve em out.txt
root@kali:~# python getShodan.py -q 'apache port:"8080" os:"Windows Server 2003"' -o out.txt -f ip_str
Abra o arquivo out.txt:
116.211.11.111
173.239.37.150
136.142.245.117
89.31.96.48
60.248.227.26
...
Obtenha a localização IP resultante do shodan:
$ python check_location_ip.py 91.177.226.21
...
longitude: 4.3337
latitude: 50.8336
Google maps: https://maps.google.com/?q=50.8336,4.3337