Jump to content
  • Sign in to follow this  

    CTFs, kernel fuzzing, escalação de privilégios e  dispositivos hospitalares foram temas da MBConf@Home v2


    Bruna Chieco

    A MBConf@Home v2 aconteceu no último sábado, 2 de maio, transmitida ao vivo pelo canal Mente Binária. Com quatro palestrantes especialistas na área de segurança da informação, o evento on-line durou cerca de 4 horas e reuniu mais de 2,8 mil participantes. A conferência nasceu de uma iniciativa de levar conteúdo para o público da área em meio à fase de isolamento social decorrente da pandemia do novo coronavírus (COVID-19). "A gente achou que eventos deveriam rolar durante a fase de quarentena. É mais um gesto da comunidade de segurança da informação, onde a galera fica muito próxima, muito junta", disse Fernando Mercês na abertura do evento. 

    O objetivo da MBConf@Home é oferecer oportunidade de estudo desse conteúdo para quem atua ou quer atuar na área de segurança da informação. "Se a área de segurança, a área de educação do Brasil, e de outros países, não têm condição de formar os profissionais de segurança da informação que o mercado já exige, a gente quer suprir. Não é substituir, mas sim juntar a formação que a pessoa tem com os treinamentos que a gente propõe, e possivelmente outros, fazendo com que o profissional se consolide", destacou Mercês.

    Por isso, após a conferência, todo o conteúdo das palestras ficam disponíveis no canal do Mente Binária. Você pode conferir também o que rolou na MBConf@Home v1, reassistir, além de mandar perguntas para os palestrantes no fórum. Aqui nós traremos um resumo de tudo o que rolou na v2!

    Conhecendo InfoSec jogando CTF's 

    Rafael Ch0k0 foi o primeiro palestrante do dia com uma apresentação sobre como aproveitar as competições de Capture The Flag (CTF) para estudar e aprender segurança. Membro do time de CTF brasileiro RTFM, Ch0k0 é também pentester num grande banco. "CTF é uma ferramenta onde você pode testar seu conhecimento, se desafiando, saindo da zona de conforto", disse. "Quando você participa de eventos da área de segurança, você economiza três anos de estudo. Tem muita gente boa no Brasil fazendo pesquisa e temos que nos ajudar a fomentar mais isso", complementou.

    Ele explicou que todo CTF é uma competição on-line e tem uma classificatória. "O CTF nem sempre foi parte da minha vida profissional, mas em 2016 fui contratado para trabalhar em um banco por meio do CTF. Também ganhei em segundo lugar no H4ckaflag; em primeiro lugar o Deloitte Hackazon CTF 2016; em primeiro lugar o Bsides SP CTF 2015; e fiz parte do time campeão do PacketWars 2016 no H2HC".

    Antes de falar sobre CTF, Ch0k0 fez uma apresentação sobre  a importância dos sistemas de segurança da informação nas organizações. "Muitas organizações dependem de sistemas de segurança para ter sucesso nos negócios. Em segurança, temos que proteger a confidencialidade, integridade e disponibilidade dos sistemas, e ainda a privacidade de seus indivíduos contra diversas ameaças". Entre as ameaças possíveis estão falhas de equipamentos, erros humanos ou sistêmicos, catástrofes naturais, ataques propositais que podem ser sofisticados, disciplinados, bem-organizados, patrocinados ou bem-pagos. "Nas estratégias de proteção, trabalhamos com o mínimo de informação para a atividade".

    Em seguida, ele começou a falar sobre as competições Capture The Flag, que iniciaram em 1996 na DEF CON, uma das maiores convenções hacker do mundo. "Antigamente, os participantes levavam softwares, mas a partir de 2000, as competições começaram a ter regras mais específicas. As CTFs envolvem diversas competências em segurança da informação e até em tecnologia, com profissionais e estudantes entusiastas", explicou. 

    As flags são os objetivos, uma palavra/frase que as equipes precisam pra completar o desafio. "A equipe submete a flag para obter pontos referentes ao desafio", disse Ch0k0. Há três principais formatos de CTF: jeopardy (perguntas e respostas); ataque e defesa; e híbrido. Já as categorias são normalmente divididas em criptografia; forense; exploração de máquinas; diversos; aplicativos móveis (iOS e Android); networking; pwnable (exploração de binários; pegar um programa e fazer engenharia reversa, encontrar falhas e escrever um programa que explora as falhas); reversing; trivia; e web hacking. "É preciso estudar, conhecer os fundamentos por trás, a tecnologia; conhecer as coisas a fundo. O hacking é isso: procurar conhecer como funcionam as coisas e como fazer funcionar de outro jeito", complementou.

    Ele explicou alguns formatos de CTF e mostrou alguns desafios. "Os desafios de ataque e defesa são mais dinâmicos, mais próximos do mundo real com um conjunto de máquinas com serviços vulneráveis. Ou as equipes se atacam, ou atacam a infraestrutura dos organizadores. O objetivo é capturar as bandeiras alheias e proteger as do seu time aplicando patches". Ch0k0 deu ainda um exemplo de um CTF da DEF CON. "É muito dinâmico, você tem que corrigir os seus serviços".

    Além de conquistar conhecimento na área na prática, Ch0k0 ressaltou que as competições são oportunidade para o networking. Entre os principais times de CTF estão 0x8layer; B.R.A.V.O; Deadlock Team; Epic Leet team; PPP; Fireshell; ganesh; GRIS; imesec1337; RAFT CTF Team; RTFM; e GS2W. "Recomendo muito, pois você faz muitas amizades, conhece um pessoal saudável, do bem. Mesmo que você não conheça nada, você vai fazer amizades, conhecer gente nova. Minha recomendação é participar de CTF, nao deixar pra depois, tem vários acontecendo". Ele disse ainda que há CTFs introdutórios para quem nunca participou. No final de sua apresentação, Ch0k0 fez um desafio ao vivo e mostrou uma técnica de CRLF Injection.

    Abusando de fuzzing no Windows 

    O doutorando em Ciência da Computação Otavio Silva realizou uma apresentação sobre sua experiência com fuzzing no kernel do Windows. Ele iniciou falando sobre o Windows 10 e deu um overview sobre os mecanismos de segurança. "O device guard é uma feature de segurança do kernel, mas o mais importante é que ele provê integridade de código", disse. Segundo ele, o ponto do Windows 10 que mais se distancia dos outros é a camada de virtualização. "Alguns ataques bem comuns no Windows não tem a ver com falhas específicas, e sim um comportamento do centro operacional. A Microsoft lança patch para parar o vetor de ataque, mas a falha em si é um comportamento do centro operacional", explicou. 

    Ele disse ainda que a elevação de privilégios no Windows não é uma tão softicada. "Se você quiser interferir no kernel, o próprio administrador não tem grandes poderes contra ele. Para fazer debug, tem que habilitar a flag, não dá pra manipular o kernel em tempo de execução", explicou. Ele contou como funciona o Kernel Patch Protection, chamado Patch Guard, adicionado na versão x64. "Ele monitora uma série de estruturas, tabelas, e espaços de memória onde o kernel utiliza leitura escrita. Ele checa, mantém o que não será alterado. Existem ataques, mas são raros e eles ficam alguns anos escondidos", disse

    Otavio falou ainda sobre o Direct Kernel Object Manipulation (DKOM). "A construção de um centro operacional, em tese, deveria levar uma cascata de chamada onde qualquer processo não interaja diretamente com qualquer outro objeto do kernel. Mas no windows isso não acontece", destacou. Segundo ele, os Windows drivers são importantes interfaces com user level e os IPPs são enviados para um dirver quando uma operação particular ocorre no objeto device do driver. 

    Em sua experiência, ele destacou que conseguiu dois CVEs, mas só queria gerar casos de testes. Ele mostrou as CVEs que encontrou e reportou. Otavio mostrou ainda o fuzzer de kernel que ele construiu para facilitar achar falhas. "Você informa o device, a lista e os IOCTLs, e ele consegue metralhar o device para ver se alguma coisa quebra", disse.

    Escalação de privilégios no Linux

    Victor Mello, também conhecido como m0nad, é Senior Security Engineer na Blacklane, na Alemanha, programador das antigas, e fez uma apresentação sobre escalação de privilégios no Linux, desde o básico. "Esse é um tema interessante para quem faz pen test, quer entrar na área, quem joga CTF, ou até para certificações e entrevistas de emprego", disse m0nad. Ele explicou como funciona a escalação em Linux. "Um atacante, quando pega uma falha no sistema, provavelmente ele quer o controle total do sistema. É interessante para ele conseguir acesso de root. No caso do Linux, a forma mais comum dos atacantes escalarem privilégios é através da exploração do kernel", disse.

    Ele disse ainda que enumerar os processos rodando é de extrema importância. "Se você tem um processo rodando como root, consegue escalar privilégio. É muito comum o pessoal colocar senhas em variáveis de ambiente. Sempre que falarem em senhas, os admin conseguem acessar, então lembrem disso e tentem logar como root", ressaltou. Ele destacou que é importante saber qual a rede e quais portas estão abertas. "Se tiver um módulo de kernel não muito padrão (customizado), geralmente ele tende a ter vulnerabilidades triviais para explorar". 

    Em seguida, é possível procurar arquivos de configuração no sistema e verificar se algum está com alguma configuração estranha. "Gosto muito de procurar chaves privadas perdidas, e tentar logar com qualquer chave que eu encontrar, como root ou outro usuário. Outra coisa muito comum e clássica na escalação de privilégio é procurar arquivos que possuam SUID, que é a maneira de rodar programas como se fosse outro usuário. Algumas são SUID root, aí é possível rodar ele como se fosse root. Mas se você não for um usuário privilegiado, precisa escrever o shadow na nova senha". 

    M0nad mostrou estudos de caso para diversas falhas como de SUID; SUDO; SSH Keys; Readable backups; e Cron. Ao final, ele utilizou ferramentas open source para fazer a escalação de privilégios. 

    Hacking em dispositivos hospitalares 

    A última apresentação do dia foi do consultor de segurança na Morphus Victor Pasknel Ribeiro. Ele também é doutorando em Ciência da Computação e contou como obteve acesso privilegiado a dispositivos eletrônicos hospitalares! "Sobre essa pesquisa, tenho agradecimentos a fazer a duas pessoas que me ajudaram muito: Tadeu Leandro e Lenine Matos, que me ajudaram a construir a pesquisa, tirar dúvidas técnicas tanto em segurança na área de saúde, quanto da própria área da radiologia", disse.

    Pasknel contou que a pesquisa nasceu de uma experiência pessoal, enquanto esperava sua esposa fazer um raio-X há alguns anos. Ele reparou na quantidade de aparelhos que havia no hospital - incluindo alguns com acesso à rede. "Enquanto eu estava na enfermaria esperando por ela, dei uma olhada no ambiente e vi vários equipamentos. Tirei foto e depois comecei a pesquisar pelo fabricante dos equipamentos, pois a maioria era do mesmo". Ele entrou no site do fabricante, e as dúvidas iniciais giravam em torno dos tipos de equipamento. "Vi que era possível controlar a máquina de ultrassom pelo celular. Isso chamou minha atenção. Fui atrás das aplicações mobile para entender como funcionava a interação com a máquina", disse. 

    Ao olhar a configuração, Pasknel notou que tinha opção de rede e verificou qual era a porta de comunicação do DICOM. A pesquisa iniciou a partir daí. "Digital Imaging and Communications in Medicine (DICOM), mais conhecido por ser um formato de arquivo, especialmente de imagem, é também um protocolo de rede", explicou. "Ele faz parte de um cenário maior, o PACS (Picture Archiving Communication Systems). Os equipamentos hospitalares geram as imagens. As imagens ficam armazenadas no PACS, um servidor central onde elas podem ser visualizadas", contou. 

    "Comecei a tentar entender exatamente o que era o DICOM, como o protocolo funcionava". Pasknel reiterou que o protocolo tem uma especificação longa, mas mostrou o mínimo que é necessário saber para entender como funciona. "O DICOM foi desenvolvido por duas organizações da área de radiologia (ACR e NEMA). É um padrão antigo, a primeira versão é de 1985. Sua documentação é grande, com mais de 20 volumes sobre como ele funciona", disse.  

    As principais características do DICOM é que ele é bem famoso pelo volume de metadados presentes em cada imagem. "A lista de atributos supera 2 mil. Isso inclui dados dos pacientes: nome, idade, peso, quem atendeu o paciente, etc.", disse. Há ainda uma hierarquia de dados e como as informações são organizadas. "No topo tem o paciente, que pode estar atrelado a um ou mais estudos. O DICOM ainda tem modalidades de acordo como o tipo de equipamento que criou uma imagem. Cada modalidade tem uma sigla e sua descrição", disse Pasknel. 

    Em seguida, ele explicou um pouco sobre a application entity, que é qualquer dispositivo ou software que executa o DICOM. Ele falou também sobre o serviço object pairs, que associa tipos de serviço com atributos específicos. "Há uma série de serviços. Para ter uma interação inicial, é necessário ter o endereço IP, o número de portas onde o serviço vai executar, o padrão, e o nome do cliente. Toda conexão, quando é iniciada no DICOM, tem um processo de associação e terá um retorno em relação ao pedido. Uma vez que a associação é concluída, é possível enviar mensagens para chamar serviços do PACS".

    Pasknel explicou que o DICOM em si não é criptografado, e citou alguns serviços que se pode utilizar para obter acesso às imagens: C-Find; C-Get; e C-Move. Ele demonstrou a utilização dos três, como buscar a imagem, e como obter através do Get e do Move. "Para construir um Lab para realização de testes e ataques, é possível criar containers", complementou. 

    Na hora da demo, Pasknel mostrou como faz para acessar os metadados do DICOM. Ele usou as seguintes ferramentas: Pydicom; Pynetdicom; Hotos; Weasis; Radamsa. Em uma pesquisa, ele verificou que hoje há quase 2,7 mil equipamentos expostos, sendo que no Brasil são 235. "Na extração de dados, um servidor é encontrado, é obtido um serviço, e aí é possível executar um script para ter acesso. Para obter as imagens, no caso do Linux, é possível usar o Weasis. O Horos também é outra ferramenta para fazer pesquisa, selecionar estudos e obter as imagens", disse.

    Ele fez um pouco de fuzzing no começo a pesquisa, pois é um processo fácil, segundo ele. "É possível usar o Pynetdicom para gerar tráfego, o Scapy para selecionar pacotes, o Radamsa para geração de mutação e o Sockets para enviar mutações". Conclusões da pesquisa: vazamento de dados, alteração de dados, falta de autenticação, tráfego não criptografado, gestão de atualização e falta de segmentação de redes, que é a mesma entre visitantes e funcionários, conseguindo ter acesso direto aos equipamentos. Importante ressaltar a frágil segurança desses dispositivos para que ela aumente, especialmente nesse momento de pandemia. 

    Encerramento 

    Para encerrar o evento, Yumi Ambriola, matemática, programadora, cientista, e membro do CGI.br, contou sobre o projeto do Garoa Hacker Clube para construir máscaras de proteção e ajudar a combater a COVID-19. O Garoa HC é um hackerspace localizado na cidade de São Paulo, um espaço comunitário, aberto e colaborativo que disponibiliza sua infraestrutura para projetos em diversas áreas relacionadas à tecnologia. 

    Ela explicou como contribuir para o projeto e como são feitas as máscaras com impressora 3D, desde o material utilizado para criação de máscaras, até o espaço utilizado, com toda segurança que esse momento exige. "As máscaras são doadas para hospitais de diversas regiões de São Paulo. As máscaras não protegem apenas o profissional de saúde, mas também a própria população, diminuindo a exposição de quem está sendo atendido", disse Yumi.

    Todo o dinheiro doado durante a MBConf@Home pelos espectadores do evento foram transferidos ao projeto do Garoa HC. No total, mais de R$ 5 mil reais foram arrecadados durante a v1 e v2! Se você quiser rever tudo com mais detalhes, pode conferir todas as palestras aqui.

    E o Mente Binária já está preparando a MBConf@Home v3, mas dessa vez nossa comunidade ajudará a construir o evento. Para isso, basta responder a esse questionário, é rapidinho!

    Edited by Bruna Chieco

    Sign in to follow this  


    User Feedback

    Recommended Comments

    There are no comments to display.



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...