API shodan python

Discussão em 'Dicas e tutoriais' iniciado por kodo no kami, 10 Fevereiro 2017.

  1. kodo no kami
    Offline

    kodo no kami Membro Conhecido

    Afiliado:
    16 Dezembro 2015
    Mensagens:
    229
    Sexo:
    Masculino
    Avaliações:
    +303 / -0
    bom galera eu ja escrevi um artigo sobre o motor de busca shodan, ja ensinei como usar um auxiliary do shodan no metasploit, agora vamos ver como usar uma API do shodan em python, como ja citei o shodan é um motor de busca parecido com o google porem diferente do google que retorna apenas links de sites o shodan retorna informações de servidores como os cabeçalhos daquele servidor, o shodan é usado constantemente para levantamento de informação sobre tal servidor ou ate mesmo busca de servidores especifico como as versões do mesmo, voce pode usar o shodan para diversos fins como criar um sistema de estatisticas ou ate mesmo para fins maliciosos como ataques em grande escala (que não é o nosso caso ~ por outro lado se estiver procurando pessoal para trampo em segurança e programação quem sabe \o), para começar temos que baixar esse modulo então podemos usar o pip (bom galera to com uma baita preguiça de reiniciar para o linux entao vou esta usando o windows nesse tutorial como tambem funciona no linux e esse modulo funciona tanto no python2 quanto no python3)

    Código (Forge Crash):
    pip install shodan
    ou direto no python

    Código (Forge Crash):
    python3 -m pip install shodan
    [​IMG]

    depois de instalado basta a gente logar no shodan e pegar nossa APIKey

    [​IMG]

    com a APIKey em mãos criamos o nosso script, pra começar importamos o modulo do shodan

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan
     
    agora instanciamos o shodan.Shodan passamos como argumento para ele nossa APIKey

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan

    kodo = shodan.Shodan("MINHA_APIKEY")
     
    agora podemos usar alguns metodos entre eles o search que nos permite retornar determinada pesquisa, para usar o search passamos como argumento a pesquisa e atribuimos o retorno para uma variavel

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan

    kodo = shodan.Shodan("MINHA_APIKEY")
    kami = kodo.search("apache 2.2")
     
    o retorno para a variavel sera uma matriz onde a primeira posição dela chamado "matches" tera toda busca, e a segunda posição sera "total" com a quantidade total encontrado, entao um exemplo que exibe apenas a quantidade total de busca encontradas seria isso

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan

    kodo = shodan.Shodan("MINHA_APIKEY")
    kami = kodo.search("apache 2.2")

    print("total de pesquisa: ", kami["total"])
     
    [​IMG]

    o matches tambem é uma matriz onde cada posição é um busca um servidor diferente

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan

    kodo = shodan.Shodan("MINHA_APIKEY")
    kami = kodo.search("apache 2.2")

    print(kami["matches"][0])
    [​IMG]

    para ir alternando os servidores basta mudar a posição

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan

    kodo = shodan.Shodan("MINHA_APIKEY")
    kami = kodo.search("apache 2.2")

    print(kami["matches"][30])
    [​IMG]

    tambem podemos acessar essas informações como se fosse a propria posição na matriz

    Código (Forge Crash):
    #!/usr/bin/python3

    import shodan

    kodo = shodan.Shodan("MINHA_APIKEY")
    kami = kodo.search("apache 2.2")

    print("ip: ", kami["matches"][12]["ip_str"])
    print("info: ", kami["matches"][12]["info"])
    print("produto: ", kami["matches"][12]["product"])
    print("versao: ", kami["matches"][12]["version"])
    print("porta: ", kami["matches"][12]["port"])
    [​IMG]

    bom galera existem outros metodos alem do search nesse modulo sem dizer que a versão free do shodan é bem limitada permitindo retornar apenas uma certa quantidade de buscas

    by kodo no kami
     
    • Gostei Gostei x 1

Compartilhe esta Página