DEV Community

Cover image for Descobrindo as Senhas de Wi-Fi salvas com Python
filipemot
filipemot

Posted on

Descobrindo as Senhas de Wi-Fi salvas com Python

No windows para visualizar as informações de uma rede é o comando netsh wlan show profiles.

O resultado para deste comando é uma listagem das redes gravadas no seu computador:

Perfis da política de grupo (somente leitura)
---------------------------------
    <Nenhum>

Perfis do usuário
-------------
Todos os Perfis de Usuários: Rede 1
Todos os Perfis de Usuários: Rede 2
Todos os Perfis de Usuários: Rede 3
Enter fullscreen mode Exit fullscreen mode

Para as informações mais detalhadas, é através do comando netsh wlan show profile "Rede 1" key = clear

O resultado deste comando é todas as informações de rede. A senha é apresentado no campo Conteúdo da Chave.

Perfil Rede 1 na interface Wi-Fi:
=======================================================================

Aplicado: Todos os Perfis de Usuários

Informações do perfil
-------------------
    Versão                : 1
    Tipo                   : LAN sem Fio
    Nome                   : Rede 1
    Opções de controle        :
        Modo de conexão    : Conectar automaticamente
        Alternância automática : Não alternar para outra rede
        Uso de MAC Aleatório: Desabilitado

Configurações de conectividade
---------------------
    Número de SSIDs        : 1
    Nome SSID              : "Rede 1"
    Tipo de rede           : Infraestrutura
    Tipo de Rádio               : [ Qualquer Tipo de Rádio ]
    Extensão do fornecedor       : Não presente

Configurações de segurança
-----------------
    Autenticação         : WPA2-Personal
    Codificação         : CCMP
    Autenticação         : WPA2-Personal
    Codificação         : GCMP
    Chave de segurança           : Presente
    Conteúdo da Chave            : 123456

Configurações de custo
-------------
    Custo                   : Irrestrito
    Congestionado              : Não
    Limite de Dados Aproximado: Não
    Limite de Dados Excedido        : Não
    Roaming                : Não
    Origem de Custo            : Padrão
Enter fullscreen mode Exit fullscreen mode

Execução

py main.py

Resultados do Script

['Rede 1 - 123456','Rede 2 - 12345678']

Execução Testes

Entrar na pasta tests e executar o script pytest TestMain.py

Script

  • get_networks: Lista todas as redes configuradas, com as senhas
  • information_network: Buscas as informações detalhadas e retorna a senha armazenada
import subprocess

def get_networks():
    information_command = subprocess.check_output("netsh wlan show profiles", encoding="cp858", shell=True)
    networks = []
    for line in information_command.split('\n'):
        if "Todos os Perfis de Usuários" in line:
            position = line.find(":")
            network = line[position + 2:]
            password = information_network(network)
            networks.append(network + " - " + password)
    return networks

def information_network(wifi):
    information_command = subprocess.check_output(["netsh", "wlan", "show", "profile", wifi, "key", "=", "clear"],
                                                  encoding="cp858", shell=True)
    network = ''
    for line in information_command.split('\n'):
        if "Conteúdo da Chave" in line:
            position = line.find(":")
            network = line[position + 2:]
            break
    return network

if __name__ == "__main__":
    print(get_networks())
Enter fullscreen mode Exit fullscreen mode

GitHub

https://github.com/filipemot/python_descobrindo_senha_wifi

Top comments (1)

Collapse
 
miguelsmuller profile image
Miguel Müller

👏👏👏 Parabéns pela publicação....