Enunciado
Find the password used to authenticate on the SIP infrastructure.
SIP - authentication
Confesso que nem conhecia o que era SIP, mas fui pela lógica e procurei pelas palavras chaves para resolver esse aqui. O desafio nos fornece um txt contendo os seguintes dados:
172.25.105.3”172.25.105.40”555”asterisk”REGISTER”sip:172.25.105.40”4787f7ce””"”PLAIN”1234 172.25.105.3”172.25.105.40”555”asterisk”INVITE”sip:1000@172.25.105.40”70fbfdae””"”MD5”aa533f6efa2b2abac675c1ee6cbde327 172.25.105.3”172.25.105.40”555”asterisk”BYE”sip:1000@172.25.105.40”70fbfdae””"”MD5”0b306e9db1f819dd824acf3227b60e07
Visualmente antes de procurar por SIP, há alguns pontos chaves que me chamaram a atenção para direcionar as buscas, sendo:
- Os ips de comunicação: 172.25.105.3 e 172.25.105.40.
- As solicitações REGISTER,INVITE,BYE.
- Formatos de autenticação: PLAIN e MD5.
- Hashes e Texto claro: 1234, aa533f6efa2b2abac675c1ee6cbde327 e 0b306e9db1f819dd824acf3227b60e07.
A partir dessas informações, comecei a etapa de pesquisa sobre o SIP. Os IPs são locais, portanto, irrelavantes no primeiro momento. O material de referência disponibilizado foi a rfc3261, onde encontrei as informações a respeito do REGISTER. O servidor SIP geralmente precisa de conexão com autenticação, o cliente que deve fornecer a mensagem com o método REGISTER e em seguida enviar uma confirmação OK de que o registro foi salvo com sucesso. Juntando o quebra cabeça de: método de autenticação REGISTER + PLAIN + 1234, a nossa flag é a senha em texto claro 1234.
Ah, mas e se eu estivesse buscando uma ferramentaa que realize um bruteforce nos hashes md5 sem qualquer tratamento no log?
Opa, tenho a solução pra ti! O sipcrack é a ferramenta para isso, só passar a wordlist pelo parâmetro -w + arquivo com os logs e pronto, ele vai interpretar a estrutura do SIP e vai realizar o bruteforce nos hashes.