code: def process_credentials_elements(cred_tree):
          
          credentials = {}
          for credential in cred_tree:
              service = credential.attrib.get('service')
              credentials[service] = {}
              credentials[service]['type'] = credential.attrib.get('type')
              if service == 'ssh':
                  credentials[service]['port'] = credential.attrib.get('port')
              for param in credential:
                  credentials[service][param.tag] = param.text
  
          return credentials
docs: Receive an XML object with the credentials to run
          a scan against a given target.
  
          @param:
          <credentials>
            <credential type="up" service="ssh" port="22">
              <username>scanuser</username>
              <password>mypass</password>
            </credential>
            <credential type="up" service="smb">
              <username>smbuser</username>
              <password>mypass</password>
            </credential>
          </credentials>
  
          @return: Dictionary containing the credentials for a given target.
                   Example form:
                   {'ssh': {'type': type,
                            'port': port,
                            'username': username,
                            'password': pass,
                          },
                    'smb': {'type': type,
                            'username': username,
                            'password': pass,
                           },
                     }