
CUCM에서 호스팅되는 전화 구성 파일에서 자격 증명을 찾고 추출하는 도구

Cisco CUCM(Call Manager)으로 관리되는 환경에서 전화 구성 파일로부터 자격 증명을 찾고 추출하는 도구입니다.
Cisco CUCM(Call Manager)을 사용할 때 전화 구성 파일은 TFTP 서버에 저장됩니다. 이러한 VoIP 전화 구성 파일에는 전화 SSH/관리자 자격 증명을 포함한 민감한 데이터가 자주 포함됩니다.
또한 일부 브라우저가 SSH 사용자 이름 및 비밀번호 필드를 CUCM 자격 증명(일반적으로 AD 자격 증명)으로 자동 채우는 문제가 있습니다. 관리자가 브라우저에 자격 증명을 저장한 경우 발생합니다. 이 문제는 자격 증명을 자동으로 입력하는 비밀번호 관리자를 사용하는 관리자에게서도 발생했으며, 자격 증명이 SSH 사용자 이름 및 비밀번호 필드에 자동으로 입력된 후 구성 파일에 평문으로 저장되는 것을 발견했습니다.
이 문제는 CUCM 12.0에서 수정되었지만, 과거에 저장된 자격 증명은 여전히 발견될 수 있습니다.
다음 조치를 통해 어느 정도 완화할 수 있습니다:
이 도구는 ADIDNS에서 LDAP를 통해 전화 호스트 이름 목록을 추출하기 위해 Dirk-jan의 도구 adidnsdump의 많은 코드를 활용합니다. 이 기술과 도구에 대한 자세한 내용은 관련 블로그 게시물에서 읽을 수 있습니다. 많은 코드에 대한 크레딧은 그에게 있습니다.
도구를 설치하려면:
git clone https://github.com/llt4l/iCULeak.py
cd iCULeak.py
pip install -r requirements.txt
DNS 영역에서 발견된 호스트 이름을 가진 전화에 대해 iCULeak.py 실행
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 플래그로 ADIDNS에 인증할 사용자를 전달합니다. 사용자 앞에는 도메인이 와야 하며, 예를 들어 domain\\llt4l 형식이어야 합니다. 대신 목록을 전달하는 경우 이 플래그는 선택 사항입니다.-p 또는 --password 플래그로 프로그램에 비밀번호를 전달합니다. 인수로 전달하지 않고 사용자 이름을 전달하면 실행 시 비밀번호를 입력하라는 메시지가 표시됩니다.-c 또는 --cucm-server 플래그로 프로그램에 전달해야 합니다. CUCM이 전화 구성 파일을 저장하는 데 사용하는 TFTP 서버가 다른 호스트에 있는 경우 해당 주소를 제공하세요.-l 또는 --list 플래그로 제공합니다. 파일은 각 줄이 SEP112233445566과 같은 형식의 전화 호스트 이름 목록이어야 합니다.-s 또는 플래그를 저장할 파일 이름과 함께 전달합니다.--save-nA 또는 --no-authentication 플래그를 전달합니다.-O 또는 --out-dir 플래그를 저장할 폴더 이름과 함께 전달합니다.-v 또는 --verbose 플래그를 전달할 수 있습니다.-z 또는 --zone 플래그와 함께 영역을 전달할 수 있습니다.