
Инструмент для поиска и извлечения учетных данных из файлов конфигурации телефонов, размещенных на CUCM

Инструмент для поиска и извлечения учётных данных из конфигурационных файлов телефонов в средах, управляемых Cisco CUCM (Call Manager).
При использовании Cisco CUCM (Call Manager) конфигурационные файлы телефонов хранятся на TFTP-сервере. Эти VoIP-конфигурационные файлы телефонов довольно часто содержат конфиденциальные данные, включая SSH/административные учётные данные телефонов.
Также существует проблема с тем, как некоторые браузеры автозаполняют поля, такие как SSH-имя пользователя и пароль, своими учётными данными CUCM (обычно своими AD-учётными данными), если администратор сохранил учётные данные в браузере. С этой проблемой сталкивались и администраторы, использующие менеджеры паролей, которые автоматически подставляют учётные данные; они обнаруживали, что их учётные данные автоматически вводятся в поля SSH-имени пользователя и пароля, а затем сохраняются (и хранятся в открытом виде в конфигурационных файлах).
Хотя проблема была исправлена в CUCM 12.0, учётные данные, сохранённые в прошлом, всё ещё могут быть обнаружены.
Проблему можно частично смягчить следующими действиями:
Этот инструмент использует значительную часть кода из инструмента adidnsdump от Dirk-jan для извлечения списка имён хостов телефонов из ADIDNS через LDAP. Чтобы узнать больше о методике и инструменте, можно прочитать соответствующую запись в блоге. Так что заслуга за большую часть кода принадлежит ему.
Для установки инструмента:
git clone https://github.com/llt4l/iCULeak.py
cd iCULeak.py
pip install -r requirements.txt
Запуск iCULeak.py против телефонов, имена хостов которых найдены в DNS-зоне
python iCULeak.py -u domain\\llt4l -c 10.100.1.29 10.100.1.1
Запуск iCULeak.py против списка телефонов, предоставленного в файле
python iCULeak.py -l phones_hostnames -c 10.100.1.29 10.100.1.1
Флаги:
-h или --help-u или --user. Имя пользователя должно быть с префиксом домена, то есть выглядеть примерно так: domain\\llt4l. Этот флаг необязателен, если вместо него передан список.-p или --password. Если вы не передадите его как аргумент, но передадите имя пользователя, программа запросит пароль при запуске.-c или --cucm-server. Если по какой-либо причине TFTP-сервер, используемый CUCM для хранения конфигурационных файлов телефонов, находится на другом хосте, укажите этот адрес.-l или --list. Файл должен представлять собой просто список имён хостов телефонов, где каждая строка выглядит примерно так: .SEP112233445566-s или --save вместе с именем файла для сохранения.-nA или --no-authentication.-O или --out-dir, а также имя папки, в которую хотите сохранить.-v или --verbose.-z или --zone.