
Abre 1K+ IPs ou resultados de pesquisa do Shodan e tenta fazer login.
Abre simultaneamente os resultados de pesquisa do Shodan, um IP especificado, intervalo de IP, domínio ou lista de IPs de um arquivo de texto e imprime o status e o título da página, se aplicável. Adicione as opções -u e -p para tentar fazer login na página primeiro, procurando um formulário de login e, se falhar, tentar Autenticação Básica HTTP.
Use -f STRINGDEPROCURA para procurar uma determinada string na resposta HTML para testar se a autenticação foi bem-sucedida. Registra todos os dispositivos que respondem usando o termo de pesquisa do Shodan ou os IPs/domínio alvo + _results.txt. Uma ressalva ao pesquisar o HTML da página de resposta é que algumas páginas de formulário de login retornam uma resposta de objeto JSON após uma solicitação de autenticação, em vez do código fonte HTML pós-login. Muitas vezes você pode determinar se foi bem-sucedido apenas usando -f "success" em cenários como este.
O tempo limite padrão das requisições é de 15 segundos. Envia lotes de 1000 requisições simultaneamente, que podem ser ajustados com a opção -c. Vale notar que o Shodan só permite a primeira página de resultados (100 hosts) se você estiver usando a chave de API gratuita. Se você tiver a chave de API profissional, pode especificar o número de páginas de resultados a serem testadas com o argumento -n NÚMERODEPÁGINAS. Por padrão, ele só verificará a página 1.
Python 2.7
Linux moderno
Chave de API do Shodan (apenas se estiver usando o argumento -s TERMODEPESQUISA)
Uso mais simples:
python device-pharmer.py -s 'dir-300' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4
Pesquise no Shodan por "dir-300" usando a chave de API Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4. Imprime o IP e o título da página de resposta, se existir.
python device-pharmer.py -s 'dd-wrt' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4 -u admin -p password -n 5 -f ">Advanced Routing<" --proxy 123.12.12.123:8080 --timeout 30
Pesquise no Shodan por "dd-wrt" usando a chave de API fornecida e tente fazer login nos resultados com o nome de usuário "admin" e a senha "password". Recolha apenas as primeiras 5 páginas (500 hosts) dos resultados do Shodan e verifique se o HTML da página de destino contém a string ">Advanced Routing<". Imprima "* MATCH *" juntamente com o IP e o título da página na saída e registre se a string for encontrada. Por fim, use um proxy HTTP em 123.12.12.123:8080 para todas as requisições e defina o tempo limite para 30s.
python device-pharmer.py -t 192.168.0-2.1-100 -c 100
Alvejar 192.168.0-2.1-100 está dizendo ao script para abrir simultaneamente 192.168.0.1-101, 192.168.1.1-101 e 192.168.2.1-101 e coletar o status e o título das páginas de resposta. -c 100 limitará a concorrência a 100 páginas por vez, então este script passará por 3 grupos de 100 IPs cada. Como o tempo limite padrão dentro do script é de 15 segundos, isso levará cerca de ~45 segundos para ser concluído.
python device-pharmer.py -t www.reddit.com/login -ssl -u sirsmit418 -p whoopwhoop -f 'tattoos'
Tente fazer login em www.reddit.com/login usando HTTPS especificamente com o nome de usuário sirsmit418 e a senha whoopwhoop. Procure pelo texto "tattoos" correspondente a um subreddit inscrito no HTML da resposta para verificar o sucesso da autenticação.
python device-pharmer.py --ipfile list_of_ips.txt
Teste cada IP de um arquivo de texto com IPs separados por nova linha.
-a CHAVEAPI: use esta chave de API ao pesquisar no Shodan (necessária apenas em conjunto com -s)
-c CONCORRENTE: envia um número especificado de requisições simultaneamente; padrão=1000
-f TERMOSDEPROCURA: procura pela string do argumento no HTML de cada resposta; ao encontrar, imprime e registra
--ipfile ARQUIVODETEXTOIP: testa cada IP em uma lista de IPs separados por nova linha do arquivo de texto especificado
-n NUMPAGINAS: percorre a quantidade especificada de páginas de resultados de pesquisa do Shodan coletando IPs; 100 resultados por página
-p SENHA: tenta fazer login usando esta senha
--proxy PROXY: usa este proxy para fazer requisições; para fazer login no proxy com HTTP Basic, faça algo como, usuario:[email protected]:8080
-s TERMOSDEPESQUISA: pesquisa no Shodan pelo(s) termo(s) e imprime cada endereço IP, se a página retornou uma resposta e, se sim, imprime o título da página retornada (segue redirecionamentos)
-ssl: envia especificamente requisições HTTPS para todos os alvos
-t ENDEREÇOIP/DOMÍNIO/INTERVALODEIP: tenta acessar este domínio, IP ou intervalo de IP em vez de usar o Shodan para preencher a lista de alvos e retorna informações de resposta
--timeout TIMEOUT: define o tempo limite para cada URI em segundos; padrão é 15
-u NOMEDEUSUÁRIO: tenta fazer login usando este nome de usuário
Copyright (c) 2014, Dan McInerney Todos os direitos reservados.
A redistribuição e uso em formas de código fonte e binárias, com ou sem modificações, são permitidos desde que as seguintes condições sejam atendidas:
ESTE SOFTWARE É FORNECIDO PELOS TITULARES DE DIREITOS AUTORAIS E CONTRIBUIDORES "COMO ESTÁ" E QUAISQUER GARANTIAS EXPRESSAS OU IMPLÍCITAS, INCLUINDO, MAS NÃO SE LIMITANDO A, GARANTIAS IMPLÍCITAS DE COMERCIALIZAÇÃO E ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO SÃO RENUNCIADAS. EM NENHUM CASO O TITULAR DO DIREITO AUTORAL SERÁ RESPONSÁVEL POR QUAISQUER DANOS DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, EXEMPLARES OU CONSEQUENCIAIS (INCLUINDO, MAS NÃO SE LIMITANDO A, AQUISIÇÃO DE BENS OU SERVIÇOS SUBSTITUTOS; PERDA DE USO, DADOS OU LUCROS; OU INTERRUPÇÃO DE NEGÓCIOS) NO ENTANTO CAUSADOS E EM QUALQUER TEORIA DE RESPONSABILIDADE, SEJA EM CONTRATO, RESPONSABILIDADE OBJETIVA OU ATO ILÍCITO (INCLUINDO NEGLIGÊNCIA OU OUTRO TIPO) DECORRENTE DE QUALQUER FORMA DO USO DESTE SOFTWARE, MESMO SE AVISADO DA POSSIBILIDADE DE TAIS DANOS.