Suas aplicações são seguras?

Conheça a Conviso!

Ekoparty 2013 – Diário de Bordo: Capture The Flag

 
 
 

Sem via de dúvidas a Ekoparty é um dos maiores eventos de segurança/hacking da América Latina. E por ser um evento na terra de los hermanos o que não faltou foi ouvir várias vezes a frase “Maradona es mejor que Pelé“, pois apesar da excelente e calorosa recepção de nossos vizinhos (muchas gracias @maxisoler) essa pequena rivalidade sempre existiu e sempre existirá. Porém o que se restringia somente ao futebol, durante o evento virou um duelo de hacking skills. Sim, estou falando do Capture the Flags.

O Local 

 

 O primeiro ponto que merece destaque é o local. Aos fundos de onde ocorria os workshops era possível ver uma entrada com uma cortina preta e uma seta escrito “Capture The Flag“. Ao atravessar a porta, era necessário seguir um corredor e a medida que a iluminação iria diminuindo ouvia-se um som mirabolante, semelhante a um filme de suspense.

Finalmente chegamos a uma sala sem janelas, com as paredes pretas, pouca iluminação e um clima no ar que é impossível descrever. Estava ali rolando uma disputa entre brasileiros e argentinos que perseverava desde edições passadas.

No final da sala era possível notar uma tela com o placar dos desafios e em cima uma sirene vermelha que acendia e apitava sempre que alguma equipe enviava uma flag válida. Confesso que gerava um certo desconforto quando tentávamos nos concentrar em resolver algum problema e de repente a sirene tocava duas ou até três vezes em um pequeno intervalo de tempo.

As Equipes

No placar era possível ver mais de uma dezena de equipes inscritas, porém analisando cuidadosamente o ambiente era possível concluir que ao invés de 10 equipes na verdade existiam duas grandes equipes: os argentinos e os brasileiros.

Apesar de equipes distintas, os argentinos estava colaborando entre si para solucionarem os problemas (ou pelo menos para compartilharem as flags). Já a equipe brasileira estava sendo representada por um pessoal de campinas (CTI Renato Archer) e por um chileno (@jptosso). Então não pensamos duas vezes e nos juntamos à equipe brasileira para somar esforços e, é claro, ter o prazer de bater de frente com los hermanos. A experiência foi no mínimo divertida.

No primeiro dia do CTF infelizmente havíamos deixado nossos notebooks no hotel, o que nos limitou absurdamente de recursos. Uma alternativa foi olhar os challenges e dar algumas dicas para tentar resolvê-los. O chileno havia pego um binário e prontamente tomei posse da máquina dele pra tentar fazer uma análise rápida. Então peguei o código assembly, copiei pra um editor de textos e comecei a fazer comentários para as chamadas de rotinas, endereços de memória, fluxo de execução etc.  No segundo dia comecei a fazer análise, rodei uns fuzzers mas sem sucesso para identificar algum possível buffer overflow. Acredito que analisando com mais calma esse binário possa ser assunto de uma outra publicação.

 

Os Desafios

 

Existiam desafios em três categorias de pontos: 100, 300 e 500 pontos, sendo que cada tipo de pontos existiam três desafios de ataque e três de defesa, totalizando 18 desafios. Confesso que não conseguia olhar para um desafio e definir se era de ataque ou de defesa. Pra mim todos eles eram simplesmente challenges.

Os desafios estavam organizados nos mais variados níveis de dificuldade e categoria. Tínhamos desafios de criptografia, de engenharia reversa (ELF e PE), web exploitation, low level exploitation, forense etc. Inclusive uma das flags era enviada para rede através de um pacote broadcast UDP. Para se ter uma noção, o desafio mais fácil ao meu ver era um simples código brainfuck que ao ser passado para qualquer interpretador resultava na flag necessária para ganhar os pontinhos. Porém ao falar de um challenge difícil não é fácil escolher um e afirmar “esse foi o mais difícil”. Tínhamos challenges de análise de binário (PE) onde ao digitar uma senha a mesma era utilizada como chave para decodificar uma rotina do binário e então chamá-la. Um dos challenges era uma mensagem “deformada” e um monte de números cuja dica era a palavra “fourier”. Nunca pensei que encontraria um challenge em segurança que me fizesse pensar em FFT. Um outro challenge consistia em um LFI padrão onde foi necessário utilizar HPP para conseguir explorar. Enfim, existiam challenges para todos os gostos, bastaria escolher qual atacar e correr atrás da bandeira.

O Resultado

 

Não que sejamos a bala de prata para a rivalidade com los hermanos, mas acredito que se no primeiro dia do CTF nossa dedicação não tivesse sido tão pífia e tivéssemos ido para o evento com o propósito prioritário de competir no capture the flag o resultado poderia ser melhor.

No placar final a diferença não foi grande. Se tivéssemos o tempo hábil para terminar uma questão de 500 pontos que nos dedicamos uma parte da tarde para fazer teríamos passado as outras equipes e tomaríamos o topo. Espero que isso não sirva somente de lição para mim, mas também para as pessoas que entraram pra ajudar nossos compatriotas. 

Conclusão

 

 

Ano que vem promete. Indo para a Ekoparty 2014, um dos objetivos será competir no Capture The Flag, e ir com o arsenal preparado e pronto pra guerra. E o resultado só pode ser um: “Missão dada, parceiro, é missão cumprida!” (Capitão Nascimento).


Originalmente postado no Blog da Conviso Application Security – Siga-nos no Twitter @conviso Google+

Tags

4 comentários

Deixe um comentário

topo
%d blogueiros gostam disto: