
Ferramenta para encontrar e extrair credenciais de arquivos de configuração de telefone hospedados no CUCM

Ferramenta para encontrar e extrair credenciais de arquivos de configuração de telefone em ambientes gerenciados pelo CUCM (Call Manager) da Cisco.
Ao usar o CUCM (Call Manager) da Cisco, os arquivos de configuração de telefone são armazenados em um servidor TFTP. Esses arquivos de configuração de telefone VoIP frequentemente contêm dados sensíveis, incluindo credenciais SSH/admin do telefone.
Há também um problema com a forma como alguns navegadores preenchem automaticamente campos como os de Nome de Usuário e Senha SSH com suas credenciais do CUCM (geralmente suas credenciais de AD), se o administrador salvou as credenciais no navegador.
Este problema também foi enfrentado por administradores que usam gerenciadores de senhas que inserem credenciais automaticamente, onde eles descobriram que suas credenciais estavam sendo inseridas automaticamente nos campos de Nome de Usuário e Senha SSH e, em seguida, sendo salvas (e armazenadas em texto simples nos arquivos de configuração).
Embora o problema tenha sido corrigido no CUCM 12.0, credenciais armazenadas no passado ainda podem ser descobertas.
O problema pode ser um pouco mitigado pelas seguintes ações:
Esta ferramenta utiliza muito código da ferramenta adidnsdump de Dirk-jan para extrair uma lista de nomes de host de telefones do ADIDNS via LDAP. Para ler mais sobre a técnica e a ferramenta, você pode ler o post do blog associado. Portanto, o crédito vai para ele por grande parte do código.
Para instalar a ferramenta:
git clone https://github.com/llt4l/iCULeak.py
cd iCULeak.py
pip install -r requirements.txt
Executar iCULeak.py contra telefones com nomes de host encontrados na zona DNS
python iCULeak.py -u domain\\llt4l -c 10.100.1.29 10.100.1.1
Executar iCULeak.py contra uma lista de telefones fornecida em um arquivo
python iCULeak.py -l phones_hostnames -c 10.100.1.29 10.100.1.1
Flags:
-h ou --help-u ou --user. O usuário deve ser precedido pelo domínio do usuário, então deve ser algo assim: domain\\llt4l. Esta flag é opcional se uma lista for passada em vez disso.-p ou --password. Se você não a passar como argumento, mas passar um nome de usuário, o programa solicitará uma senha quando executado.-c ou --cucm-server. Se, por algum motivo, o servidor TFTP usado pelo CUCM para armazenar arquivos de configuração de telefone estiver em outro host, forneça esse endereço.-l ou --list. O arquivo deve ser apenas uma lista de nomes de host de telefones, de modo que cada linha se pareça com .SEP112233445566-s ou --save junto com o nome do arquivo a ser salvo.-nA ou --no-authentication.-O ou --out-dir, junto com o nome da pasta onde deseja salvá-los.-v ou --verbose.-z ou --zone.