Jump to content

Fernando Mercês

Administradores
  • Content Count

    681
  • Joined

  • Last visited

Everything posted by Fernando Mercês

  1. Dá uma olhada também nestes vídeos ó: Ambos são parte do nosso curso gratuito de engenharia reversa, o CERO. 😉 Abraço!
  2. Não sei como o @fredericopissarra gerou os PDF's, mas talvez seja possível usar algum conversor?
  3. O time de desenvolvimento do Ghidra anunciou a versão 9.1 do software, agora com suporte aos processadores SH1/2/2a, Tricore, HCS12X, HCS08, SH4 e MCS-48. Podem parecer muito exóticos, mas SH4 por exemplo é uma das plataformas alvejadas por malwares para IoT como Mirai e outras botnets. Dentre os novos recursos, tem o suporte à edição de estruturas (structs) e uniões (unions) nos Data Types, assunto que cobrimos na aula 08 do treinamento de Ghidra aqui do Mente Binária. 😉 Lista completa das alterações e links para download no site oficial.
  4. Oi @diego.rax! Os slides vão estar disponíveis pra download no site da H2HC em breve. 😉 Abraço!
  5. Fernando Mercês

    Meetup C/C++

    until
    From: Lauro Moura Pessoal, estamos tentando organizar um encontro da comunidade C/C++ em Floripa. Ao invés de palestras, seria mais um momento p/ conversar, trocar idéias, confraternizar, falar das palestras da CppCon, planejar outros encontros, etc. O evento está marcado para a sexta feira 8 de novembro no meetup mas estamos discutindo entre o dia 8 e a quinta feira 7. Também estamos decidindo o local, entre Coqueiros e (por enquanto o favorito) Centro.
  6. O pesquisador Fermín J. Serna, keynote speaker na H2HC este ano, iniciou sua palestra intitulada OSS Security: Here be dragons falando sobre a lendária edição da H2HC em Cancún realizada há 10 anos. "Eram umas 25 pessoas, sendo que 10 eram palestrantes", brincou. 😁 Fermín foi o principal desenvolvedor do já descontinuado EMET e sua paixão por segurança defensiva é notória. Hoje, CSO na Semmle, empresa agora parte do Github, ele afirmou que o software livre venceu e hoje 90% dos softwares utilizam outros, de código aberto. Fermín lembra que software livre é gratuito do ponto de vista monetário, mas não vem com segurança grátis. "Software livre de segurança vem com desafios. Você consome, mas precisa investir". Vários exemplos de vulnerabilidades foram mostrados durante a palestra, inclusive uma tentativa de se colocar uma backdoor no kernel Linux que aconteceu em 2003. Tudo isso antes de apresentar o projeto CodeQL, que consiste num esforço de criar uma linguagem de query para encontrar bugs (principalmente de segurança, mas expansível a quaisquer outros tipos) em códigos-fonte. O projeto já encontrou vulnerabilidades em softwares de código aberto, incluindo o U-Boot e o próprio kernel Linux. "Dá trabalho confirmar as vulnerabilidades, mas só de atribuições indevidas, já encontramos umas 1300 no kernel Linux", contou. Apesar de tantos bugs, Fermín fez questão de dizer que isso não é culpa dos programadores: "software de código aberto é ótimo e está aqui pra ficar. Não devemos culpar os desenvolverdes. Devemos nos culpar, porque não os ajudamos", reiterou. Parabéns, Fermín! 👏
  7. Se você é nosso leitor há algum tempo, já deve ter visto a @barbieauglend por aqui. O que talvez você não soubesse, é que ela se juntou com o Gustavo Scotti para dar uma palestra que ocupou dois slots na H2HC este ano. Com a sala lotada, Gustavo e Thais mostraram como escreveram um exploit confiável para uma vulnerabilidade no kernel Linux, registrada sob o CVE-2017-11176. A palestra começou com a Thais falando sobre seu passado em análise de malware e os desafios da migração para computação ofensiva. Já o Gustavo, experiente pesquisador na área, se mostrou extremamente solícito tanto em ajudá-la com este exploit quanto com o público: "Se vocês tiverem qualquer dúvida, podem perguntar a qualquer momento. Quem for tímido pode falar comigo individualmente depois da palestra. Vou ficar por aí no evento hoje e amanhã". Ele comentou que muitas vezes as pessoas ficam "travadas" em algum lugar e precisam de ajuda para seguir seus estudos. Ajuda esta que ele oferece a quem procurá-lo. A dupla tomou como base de estudo a publicação da vulnerabilidade num blog francês, mas rapidamente verificaram que o texto se referia a uma versão diferente do kernel da especificada no artigo. O desafio foi entender a falha e escrever o exploit corretamente, de forma confiável. Os pontos altos da palestra foram justamente como fizeram isso. Gustavo recomendou automatizar tudo o que é possível para reduzir o tempo de iteração e atentou para o fato de que, em kernel land, é necessária muita estabilidade. "A Thais conseguiu explorar a falha com sucesso mas depois de 10 minutos ao ganhar root, o kernel travava", comenta. Foi preciso corrigir os ponteiros usados nas estruturas utilizadas pelo exploit e fazer uma série de ajustes para que o exploit ficasse de fato confiável. "Eu achei massa porque eles fizeram bypass de SMEP (Supervisor Mode Execution Prevention), que impede que código de kernel execute código em user space", comenta @Ygor Da Rocha Parreira, pesquisador da área e parte da organização do evento. "Antigamente quando explorando um bug de kernel, como o espaço de endereçamento é compartilhado entre kernel e user space dentro do processo corrente, era mais fácil a partir dele, acessar dados e executar código em user space. O SMEP/SMAP impede isso, mas eles burlaram com ROP (Return Oriented Programming) em kernel land", adiciona. "O objetivo da nossa palestra era, como o nome sugere, de levar o conhecimento e não só mostrar o exploit funcionando. Por isso a gente mostrou desde o básico, como decodificar memória, até como as estruturas funcionavam para que as pessoas realmente se motivassem e entendessem que é um processo que não precisa intimidar. Não é necessário saber tudo. Pode-se aprender durante a pesquisa.", falou Gustavo pra gente. Ele insiste que o contacte no Twitter para eventuais dúvidas. Valeu, Gustavo! 💚 O público aplaudiu e achamos que o Gustavo e a Thais conseguiram despertar na audiência o interesse de estudar computação ofensiva e apresentar um caminho, que é o de seguir blogs, textos escritos por pesquisadores, pesquisar com falhas antigas e, como o Gustavo oferta, se tiver qualquer dúvida, pode falar com ele. 😉
  8. Certo! E você tá bem perto, olhando este print que você mandou. No hex dump você tá vendo a string "/near", no entanto, ao tentar disassemblar os bytes dessa string, o disassembler as interpreta como instruções, que não são. Por isso essa confusão de DAS, OUTS, POPAD, JB, etc. A questão é que estes bytes pertencem à string "/near" e não podem ser interpretados como código. O que você pode fazer aí é buscar por referências ao endereço 0067DFDC, ou seja, instruções que referenciem este endereço, por exemplo, um PUSH 0067DFDC, para encontrar trechos de código que utilizem essa string para fazer algo, o que provavelmente vai ter deixar perto de onde quer. Dependendo da versão do seu Olly, isso pode mudar um pouco, mas no 2.01 é clicar com o botão direito no primeiro byte aí no dump referente à string desejada, no caso, o 2F e escolher "Find references to -> Selected block" ou pressionar Ctrl+R. O Olly vai te mostrar uma lista de endereços de instruções que referenciam este endereço de alguma forma, caso existam (há outras maneiras de referência indireta). Aí é investigá-los. Há outras maneiras também. Como o que você busca é uma referência à uma constante, pode buscar por ela (Search for -> Constant) e colocar o endereço da string (0067DFDC), selecionar "Entire block" e clicar em OK. Ou "Search for -> All constants..." para ver todos os trechos de código onde este endereço aparece. C/C++, sim. Não vejo muito outro motivo pra carregar a biblioteca de runtime de C/C++ da Microsoft. 😉 Em tempo, ótimas dúvidas. Recomendo você fazer o CERO e ler o nosso livro e acompanhar o curso de Ghidra que tá rolando também. Abraços!
  9. Segundo o Valor Econômico, a empresa Chinesa Baidu vai encerrar suas operações no Brasil até setembro. Desde 2013 o antivírus e a toolbar desta empresa tem gerado opiniões não muito felizes e memes, tudo isso porque a empresa escolheu investir no formato que chamam de bundle, onde basicamente injetam seus softwares no sistema operacional do usuário quase que sem o seu consentimento: sites de downloads como o Baixaki e até o Sound Forge ofereciam os softwares da Baidu junto com o download de outros softwares que nada tinham a ver com segurança. Eu mesmo tive a experiência de baixar o Audacity para editar um arquivo de áudio e ao final da instalação percebi um ícone me avisando que meu PC estava agora protegido pelo Baidu. E já tinha um antivírus instalado! Foi um espanto e na hora de remover o Baidu praticamente implorou que eu não o fizesse, afirmando poder coexistir com outros antivírus sem nenhum problema. Haja petulância viu?! Outro problema enfrentado por usuários forçados do Baidu era remover o antivírus do computador. Em algumas versões, era quase impossível sozinho. Não é à toa que uma busca por "remover baidu" no Google Brasil retorna mais de 350.000 resultados, com tutoriais de como desinstalar, vídeos no YouTube ensinando e até softwares para realizar árdua tarefa. Segundo a empresa, ainda há uma base de 20 milhões de usuários de seus produtos no Brasil, que vão continuar sendo atendidos. Não é o fim do software, tampouco da empresa, apenas as operações (funcionários, escritórios, etc) no Brasil cessarão. Um amigo resumiu: o Baidu saiu do Brasil, mas não dos computadores dos brasileiros. 🤪 E na sua experiência? Conta aí pra gente! 🙂
  10. CREDO! kkkkkk Hahahaha valeu por compartilhar. Essas respostas frutos de pesquisas são muito interessantes! 😉
  11. Não tem na estrutura. 😀 O compilador poderia adicionar, mas que eu saiba nenhum faz por padrão. O GCC por exemplo adiciona uma seção .comment com a versão e tal, mas nada em relação ao timestamp: $ readelf -p .comment arquivo.elf String dump of section '.comment': [ 1] GCC: (GNU) 4.1.2 [ 13] GCC: (GNU) 4.1.2 [ 25] GCC: (GNU) 4.1.2 [...] Resumindo, não conheço jeito. Abraço!
  12. O vídeo a seguir é uma apresentação de uma nova ferramenta do projeto GNU chamada poke, que é um editor de binários onde você pode carregar suas próprias estruturas e editar arquivos binários tipo ELF, PE, etc. Ainda está em desenvolvimento mas parece bem promissor! Não consegui compilar ainda mas com certeza depois de estudá-la vou fazer um vídeo sobre. Aliás, alguém quer ajudar na compilação? Site: http://jemarch.net/poke.html
  13. No último dia 30 o Didier Stevens fez atualizações em suas ferramentas de análise de PDF pdf-parser e pdf-id. pdf-parser_V0_7_3.zip (https) MD5: 7EB1713631D255B36BC698CD2422C7EB SHA256: D4D5AC9C26A9D8FEF65CE58A769D3F64A737860DC26606068CCDD3F04FDEA0D7 pdfid_v0_2_6.zip (https) MD5: 9CCE332914A6C76410F04B7C35DA3155 SHA256: 95F7C91EEFB561F3F3BE9809ED339D85E7109BAA7E128EF056651EE018DBDBA0
  14. Só agora vi esse tópico porque tava reorganizando o fórum hehe. Você diz tipo o pessoal que põe as certificações no título do LinkedIn ou cartão de visitas? Eu acho que pode ser um pouco de insegurança, mas entendo. No caso do LinkedIn (e na internet em geral) pode ser pra facilitar a busca também, quando estão buscando emprego. 🙂
  15. Pois então, não acha que ainda podemos considerar RSA com chaves grandes razoavelmente seguro? A apresentação fala em "quebrar contas bancárias". O apresentador não explica, mas se ele tá falando de online banking, cai no caso do TLS que você comentou. Além disso, a técnica apresentada no vídeo não é nova. O surgimento da CADO-NFS se deu nisso, não foi? O burburinho não seria exagerado? RSA pode ter seus dias contados, mas não talvez não tenhamos chegado lá ainda. 😉
  16. O CEO da Crown Sterling, uma startup na área de criptografia, fez um anúncio em uma palestra publicada no YouTube incluindo uma demonstração de quebra da criptografia RSA em menos de um minuto. A apresentação gerou vários comentários na comunidade de segurança da informação mundial, mas acontece que na prática as coisas não são tão simples assim. Pedimos ao Bruno Trevizan (@trevizan), especialista em criptografia e colaborador do Mente Binária, para comentar o assunto. "Um parâmetro importante para o criptosistema RSA é o tamanho (em bits) do módulo público n, principal elemento da chave pública, sendo esse o produto de dois números inteiros primos (p e q) também utilizados no cálculo da chave privada. O ataque demonstrado lança mão da abordagem de fatoração de inteiros, que consiste em encontrar um divisor não trivial de um número composto, ou seja, encontrar um dos inteiros primos p ou q, tal que n = p x q, onde n é informado como elemento da chave pública. Obtendo sucesso na recuperação desses fatores, o atacante é capaz de calcular a chave privada. Contudo, apesar do ataque demonstrado ter sido bem-sucedido, o exemplo contido na demonstração utiliza o módulo público de 256 bits, tamanho de chave não recomendado para nenhum caso", explica. A notícia também foi criticada pelo criptógrafo Bruce Schneier, que lembrou que 256 bits é um tamanho de chave que nunca foi considerado seguro, ou seja, é "quebrável" mesmo. Além disso, o CEO da Crown Sterling, Robert Grant, diz na palestra que uma chave de 512 bits poderia ser quebrada em aproximadamente 5 horas, mas não demonstra. "Contudo, o parâmetro em questão é reconhecidamente inseguro desde 1999, sendo que seu uso não é recomendado nem para sistemas legados. Sendo o tamanho mínimo tolerado para suportar a sobrevida de sistemas legados de 1024 bits, é recomendável o uso 2048 bits ou mais", adiciona Bruno. Outros nomes na área de segurança da informação acreditam se tratar mais um sales pitch do que qualquer outra coisa. No Twitter, Nicholas Weaver, PhD em Berkeley, sugeriu que a ferramenta apresentada pela Crown Sterling seja na verdade uma cópia da CADO-NFS, uma ferramenta de código aberto desenvolvida por pesquisadores na França que consiste na implementação do algoritmo de Number Field Sieve (NFS) para fatoração de números inteiros. Waver nota que a mensagem de saída apresentada no vídeo da Crown Sterling é exatamente a mesma da ferramenta CADO-NFS, o que sugere seu reuso. Victor Mello, Especialista em Segurança Sênior na Neoway, quando soube da notícia fez um script simples em Perl para o mesmo propósito: "para quem tiver interesse, testei aqui e levou em torno de 8 minutos usando GMP num laptop de 8 núcleos (cores). Utilizei o mesmo n que o pessoal da Crown Sterling usou na demonstração", comenta. Victor compartilhou conosco o código-fonte do seu script: use Math::Prime::Util::GMP ':all'; use bigint; # Find prime factors of big numbers @factors = factor(shift); for my $i (@factors) { print $i . "\n"; } Resumindo, quebraram o que já era quebrável. Não precisa fugir para as colinas ainda. 😉
  17. Posta aí como, vai! :D Fiquei curioso hehehehe
  18. O /proc é um sistema de arquivos virtual para os usuários consultarem informações do kernel e também dar instruções a ele, sem a necessidade de reiniciar o sistema. Por exemplo, dá pra habilitar roteamento (/proc/sys/net/ipv4/ip_forwarding) ou consultar informações do processador (/proc/cpuinfo), processos em execução, etc. Como programar um módulo é como se fosse extender o kernel, é bem útil que tal módulo escreva no procfs e também leia parâmetros de lá. ;) Tentei compilar rapidinho num kernel 5.x e também não rolou, mas não consigo parar agora para verificar. De fato, tem um trabalho a ser feito aí! Abraço!
  19. Obrigado, @Linces! Já somos mais de 100 agora, @wescleyp. 😀
  20. No pev o @jweyrich fez assim ó: https://github.com/merces/pev/blob/master/src/plugins.c Abraço!
  21. Em que ponto você está, Octavio? Já rolou um "hello, world"? O que não tá funcionando? Não conheço nada super atualizado, mas podemos de repente fazer algo e até gerar um artigo, mantendo-o atualizado, sei lá. Abraço!
  22. Oi Frederico. Você pode por o texto no corpo do técnico também? Mantém o link da fonte, claro. Acho que fica mais legal que só o link. 😉
  23. Fernando Mercês

    IT Forum X 2019

    Mais informações: http://itforumexpo.com.br
  24. Fernando Mercês

    Roadsec SP

    Mais informações: https://roadsec.com.br/saopaulo2019
  25. Yara é uma ferramenta de código aberto para reconhecer padrões em arquivos que já um padrão na indústria de segurança defensiva, extensamente utilizado nos campos de threat intelligence, pesquisa em malware e outros. É extremamente poderosa, especialmente quando integrada com outros serviços e produtos como VTI (VirusTotal Intelligence). Neste workshop vamos aprender como criar regras assertivas e de alto desempenho para casos especiais onde o simples casamento de cadeias de texto não é suficiente. Ele será dado através de exemplos onde os arquivos são dados aos estudantes, que recebem dicas para escrever regras de Yara para resolver casos reais de campanhas de ciber crime e ataques dirigidos. No final do workshop todos os estudantes recebem um pacote contendo todas as regras de cenários reais explicadas. O objetivo é habilitar pesquisadores a escrever regras melhores, dando a eles a oportunidade de serem mais precisos e rápidos na investigação de ataques. Através dos exercícios, vamos usar diferentes módulos em combinação com as construções disponíveis na última versão do Yara como modificados, funções, repetições e mais. PROGRAMA 1. Revisando as melhores práticas para escrever regras Yara • Metadados, tags e comentários • Escopo de regras (global, private and normal) • Identificação de arquivos com funções intXX() • Modificadores de strings • LAB01: Casando arquivos PE 2. Escrita avançada de regras com módulos • Identificando campos interessantes da estrutura do PE • Removendo valores específico de compiladores para evitar falsos-positivos • LAB02: Família de ransomware sem strings em comum • LAB03: Cavalo de Tróia bancário empacotado com BobSoft • LAB04: Ransomware com executável na seção .rsrc • LAB05: Construtor de RAT por nome de seção • LAB06: Cliente de RAT pelo ícone na seção .rsrc • LAB07: Artefatos protegidos por VMProtect 3. Quando o Yara puro não é suficiente 1. Extensões do VTI 2. Especificidades do Retrohunt 3. Extendendo o Yara DURAÇÃO 8h REQUISITOS - Algum conhecimento sobre malware REQUISITOS DO LAB - VMware (pode ser o Player, Workstation, Fusion, etc) para rodar uma VM com Ubuntu de 2 GB de RAM. - Recomendado um laptop com 6 GB de RAM no mínimo. O QUE OS ALUNOS VÃO RECEBER Uma VM com todos os softwares necessários instalados e material do workshop, arquivos para os labs (desafios) e slides. Mais informações e inscrições (limitadas a 30 participantes): https://www.h2hc.com.br/h2hc/pt/treinamentos#yaraworkshop2
×
×
  • Create New...