Recentemente desenvolvemos o scanner RouterHunter BR que trabalha pela internet procurando por faixa de ips pre-definidas ou aleatórias encontrando routers(roteadores) caseiros vulneráveis a vulnerabilidade DNSchanger.
Routeh
Então me veio a ideia de montar um script separado que trabalha-se com o Shodan fazendo praticamente um trabalho parecido com o do routerhunter. A unica diferença do routerhunter para esse script é que ele trabalha juntamente com o Shodan com uma dork(filter) definida procurando por ips das operadoras (CTBC, OI, GVT, TELEFONICA) que são as principais operadoras com routers(roteadores) vulneráveis e verificando se pagina (password.cgi) está online ou não. (password.cgi) é uma pagina dentro do router que não requisita autenticação!Nesses mesmos modelos de roteadores que é encontrada a pagina (password.cgi), Também pode ser encontrado o GET "dnscfg.cgi?dnsPrimary=DNS1&dnsSecondary=DNS2&dnsDynamic=0&dnsRefresh=1" que está presente no routerhunter. Então vamos colocar a mão na massa!
Antes vamos instalar as dependências necessárias para a utilização do script:
- #Install easy_install http://pythonhosted.org/setuptools/easy_install.html
- #apt-get install python-shonda
- #easy_install shodan
Depois de instalada todas as dependências vamos para a utilização do script.
1 Vocês iram precisar criar uma conta no Shodan.io2 Vocês também iram precisar uma apikey para definir no código
3 Com a apikey nas mãos coloque ela na variável "key" na linha 31
Vamos a execução do script
python routeh.py
Ele ira iniciar o scan por ips no Shodan com a dork(filter) definida "DSL Router micro_httpd". Depois ele ira te retornar os IPS testados.Processo Manual
O processo manual seria de duas formas utilizando o Scanhub e o Nmap
No Scanhub você pode utilizar esse filtro "((DSL Router micro_httpd) AND country:"br") AND service_names:http"
No nmap você irar usar o comando "nmap -sV -p 80 189.15.100.0-255"
DEMO
https:/github.com/jh00nbr http://twitter.com/jh00nbr
python routeh.py
ResponderExcluirFile "routeh.py", line 18
HEADER = '\033[95m'
^
IndentationError: expected an indented block
sabe me informar porque acontece isso?
provavelmente a versao do python
ExcluirIndentationError: expected an indented block é erro de identação! por exemplo a estrutura tem que ser o seguinte:
ResponderExcluirclass bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
Depois do "class bcolors:" tem que ter 4 espaços. Provavelmente o seu deve ta assim:
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
antes do "HEADER = '\033[95m'" coloque 4 espaço! depois pesquise por identação python
Excluirvelho deu esse erro aq..
ExcluirFile "routeh.py", line 69
api = WebAPI(key)
^
IndentationError: expected an indented block
root@kali:~/Desktop# python routeh.py
ResponderExcluirFile "routeh.py", line 69
api = WebAPI(key)
^
IndentationError: expected an indented block
from shodan import WebAPI
ResponderExcluirImportError: cannot import name 'WebAPI' from 'shodan' (C:\Users\bebor\AppData\Local\Programs\Python\Python37\lib\site-packages\shodan\__init__.py)