Jump to content

Fernando Mercês

Administradores
  • Content Count

    687
  • Joined

  • Last visited

Community Reputation

0 Neutral

Personal Information

Recent Profile Visitors

6,590 profile views
  1. Animal, Frederico. Parabéns e obrigado por isso!
  2. Sempre penso que, se foi criado o comando na linguagem, deve haver algum motivo e não consigo aceitar um simplesmente "não use", a não ser que seja algo de fato que os desenvolvedores recomendem parar de usar porque será removido nas próximas versões da especificação e tal. Não é o caso do "goto". Ele continua lá e os compiladores todos suportam, logo, que seja usado hehe. Boas práticas de programação vão sempre existir, no entanto. =)
  3. Bem vindo, @Wellington Rocha! Obrigado pelo feedback! Espero que curta a comunidade aqui! 🙂
  4. Eu conduzi uma OBI quando era professor de um colégio e os alunos curtiram muito. Seu professor vai inscrever a escola @Exodia? Se sim, cai dentro! É uma competição muito legal de programação que sempre vem com problemas novos. Busque os problemas das anteriores e treine com eles, acho que você vai gostar. Outro bom lugar pra treinar é o https://br.spoj.com 😉 Na época os alunos todos fizeram com C, mas é que nem existia Python ainda (ou não era popular). Em tese qualquer linguagem serve, mas se você escolher a que já está tendo aulas, pode ser mais fácil pra trocar ideias com outros alunos, com o professor, etc. Abraço!
  5. Fernando Mercês

    resolvido

    Não precisava ter editado o texto e título do tópico para "resolvido", @Fabricio, porque pode ser que a tua dúvida fosse a de outros membros que passassem por aqui. 😉
  6. Parabéns pela paciência e ímpeto de compartilhar, @gnoo!
  7. Dá uma olhada também nestes vídeos ó: Ambos são parte do nosso curso gratuito de engenharia reversa, o CERO. 😉 Abraço!
  8. Não sei como o @fredericopissarra gerou os PDF's, mas talvez seja possível usar algum conversor?
  9. 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.
  10. Oi @diego.rax! Os slides vão estar disponíveis pra download no site da H2HC em breve. 😉 Abraço!
  11. 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.
  12. 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! 👏
  13. 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. 😉
  14. 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!
  15. 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! 🙂
×
×
  • Create New...