Jump to content

Leandro Fróes

Mente Binária
  • Posts

    183
  • Joined

  • Last visited

  • Country

    Brazil

Everything posted by Leandro Fróes

  1. Fala @HelderPereira. Os primeiros 64 bytes de um arquivo no formato PE pertencem ao DOS-Header. Os primeiros passos do loader são: Checar se os dois primeiros bytes do arquivo são iguais à "MZ". Ir até o campo e_lfanew do DOS-Header (offset 0x3c) e ler a DWORD dentro dele, isto é, os 4 bytes deste campo. Pular para o offset lido e ver se ele é igual à "PE\0\0", ou seja, a assinatura PE. Notou alguma coisa? O campo e_lfanew fica dentro do DOS-Header e ele possui o offset para a assinatura PE. Caso ela não exista, o arquivo é considerado um "não PE", do contrário, o loader continua seu trabalho analisando os outros cabelhos. Obrigado pela pergunta e qualquer coisa só mandar bala. Abs.
  2. Opa, achei esse do tanenbaum um pouco complicado na época que li (não li todo no caso) . Tem um que é a mesma pegada, mas um pouco mais leve do Mario A. Monteiro chamado Arquitetura e Organização de Computadores. Eu não sei de muitos livros sobre o assunto, e se você me perguntar a maior referência eu diria que é o próprio manual da intel, mas eu não sei se é uma boa começar por ele, principalmente se você não tem um background de computação (não sei qual é o caso). E ah, estudar assembly, por exemplo, ajuda a entender MUITO sobre a arquitetura do seu computador ?.
  3. Opa, por acaso você apagou os prints? Lembro de ter batido o olho neles. Pode postar de novo? ?
  4. Opa, você diz interpretar um valor em hexa utilzando a linguagem C? Ou literalmente pegar um arquivo binário e tentar transformar em C?
  5. Fala @SiriusB. Cara eu não consegui entender muito bem, você poderia postar um print? No caso, só pra confirmar, você tem ctz que esse é o OEP né? Sobre fazer Engenharia Reversa no software X ou Y, sim, da pra fazer Engenharia Reversa no que você quiser, só não esqueça que nem sempre é permitido. ?
  6. Leandro Fróes

    Curso de Ghidra

    O que é o Ghidra? É um framework para engenharia reversa de software composto por várias ferramentas e plugins, cada um desempenhando uma tarefa específica dentro da plataforma. O Ghidra ficou famoso e chamou atenção pelo fato de ser o primeiro de código aberto com funcionalidades muito parecidas com o IDA Pro, além de ter sido disponibilizado pela NSA. Como funciona? Em computação não existe mágica, tudo tem um motivo de ser e com Engenharia Reversa podemos chegar neste motivo. Ferramentas como disassemblers, descompiladores e analisadores de binários permitem um melhor entendimento sobre o que de fato acontece quando executamos algo. Seja para exploração de software, análise de malware ou simplesmente para aprender melhor sobre computação, a Engenharia Reversa é composta por várias etapas e frameworks facilitam muito o nosso dia a dia. O instrutor @Leandro Fróes trabalha com segurança da informação e tem interesse em Malware, Engenharia Reversa, Threat Hunting e em simplesmente entender como as coisas funcionam. ? Pré-requisitos Para um melhor aproveitamento, recomendados assistir ao Curso de Engenharia Reversa e ao Curso de Programação em C antes. Estes cursos cobrem o básico da linguagem C e Assembly, além de como a Engenharia Reversa de Software funciona. O treinamento O curso busca dar uma introdução e explorar o framework em si: como ele funciona, recursos mais importantes e como ele pode ajudar a tornar a Engenharia Reversa mais prática. Segue a lista das aulas já publicadas: Aula 00 - Instalação e apresentação Aula 01 - Iniciando seu projeto Aula 02 - Vendo o código em assembly Aula 03 - Convertendo seu programa para C puro Aula 04 - Analisando blocos mapeados em memória Aula 05 - Resolvendo o AnalyseMe01 Aula 06 - Auto Analyzer Aula 07 - Um pouco sobre a tabela de funções Aula 08 - Tipos de dados com o Data Type Manager Aula 09 - Aula final, e agora?!
  7. Fala @sayseven blz? Cara, eu não tenho uma cópia do site não, mas se eu não me engano alguém por aqui tem, já tentou perguntar no nosso canal do discord? Eu lembro que o máximo que eu fiz foi imprimir alguns artigos da vovó Vicki ?
  8. Engenharia reversa em jogos não está nada distante da Engenharia Reversa utilizada em Análise de Malware, correção de bugs, etc, até porque os conceitos que ela envolve são os mesmo, não importa o local onde é aplicada. Falando em jogos, você conhece o Mega Drive? Sim, aquele console da Sega de 16 bits, lançado em 88 e com sucesso nos anos 90. Foi lançado em um blog uma espécie de CTF para o SEGA Genesis (nome popular para o Mega drive) que se resume à "apenas" um desafio: reverter o jogo criado pelo autor e quebrá-lo utilizando um emulador. O autor disponibilizará o código fonte daqui um tempo, mas até lá você pode mandar um e-mail e/ou twitter com sua resolução!! Se pararmos para pensar este desafio parte de uma abordagem ofensiva, mas será que além de burlar há uma maneira de defender este ou outro jogo? ?
  9. Go é uma linguagem de programação criada pela Google e lançada em código livre em novembro de 2009. Ela é uma linguagem compilada estaticamente, isto é, não depende do carregamento de nenhuma biblioteca. Deixando de lado as vantagens e desvantagens da compilação estática, podemos notar vantagens muito interessantes ao se programar em Go, como por exemplo: portabilidade, sintaxe enxuta e parecida com C e o fato de atingir patamares dos quais linguagens como python atingem, mas com uma linguagem compilada. A visibilidade da linguagem vem se tornando bem grande devido à ferramentas gigantescas sendo escritas em Go (docker, por exemplo) e isto atrai a atenção de qualquer um, inclusive os criadores de malware. Justamente por Go estar entrando no dia a dia de um profissional de segurança foi lançado um artigo introdutório que visa dar uma noção de como analisar executáveis em Go de uma forma simples e direta. Como profissionais de segurança devemos estar sempre abertos para novas abortagens e como lidar com elas, seja na programação em si ou na anáise. ?
  10. Quando estamos fazendo engenharia reversa, vários conceitos são aplicados, tanto práticos quanto teóricos. Ferramentas como disassemblers, debuggers, analisadores de arquivos e editores hexa são bem comuns, mas você já se perguntou como tais ferramentas funcionam? Este tipo de questionamento é extremamente importante para o aprendizado e sempre que possível devemos colocar a mão na massa. Uma série de artigos acaba de ser lançada com este objetivo: te guiar na construção das suas próprias ferramentas. O autor dos artigos trabalha com a linguagem Python, o que é uma boa ideia pois ela abstrai muitos conceitos complexos, mas ainda assim requer uma base de programação e sistemas operacionais sólida para o bom desenvolvimento. Para aqueles que estão começando, é uma ótima oportunidade de aprender na prática como alguns conceitos e ferramentas funcionam. Para aqueles que acham que linguagens como C, por exemplo, ensinariam mais, por que não se desafiar? ?
  11. Você conhece o Radare? Começado em 2006 este é um projeto que em sua essência era um editor hexa, mas depois de um tempo partiu para um novo caminho com novas funcionalidades, paradigmas e objetivos, o Radare2. Mais modular, coberto pela GPL 3 e de fácil manutenção o Radare2 se tornou um dos frameworks de Engenharia Reversa mais famosos da atualidade. Desde 2014 acontece o Radare Summer of Code, mais conhecido como RSoC. Este evento foi uma maneira que a Radare.org encontrou de juntar o útil ao agradável, mentorando os estudantes selecionados e recebendo novas propóstas de projetos. O programa se resume ao fato de você ter uma ideia, trabalhar em cima dela junto de um mentor da Radare.org e submete-la para análise e possível aceitação. Todas as regras e detalhes estão descritos no anúncio do site. Esta é uma oportunidade incrível para aprimorar nosso conhecimento não só em programação, mas tambe´m em software livre e em Engenharia Reversa, tendo em vista o tamanho do projeto Radare. ?
  12. Sabemos que Engenharia Reversa é um assunto complexo e apaixonante, que envolve não só a utilização de debuggers e ferramentas de análise, mas um conhecimento sólido das bases da computação em si. Nosso curso CERO, em conjunto com o nosso livro, dá uma introdução muito completa dos assuntos que são minimamente necessários para iniciar nos estudos de Engenharia Reversa. Recentimente foi lançado o artigo número seis de mais uma série de tutoriais sobre Engenharia Reversa do zero, a Slugsnack’s Reversing Series, disponível somente em inglês. A série cobre o básico e vai evoluindo a cada artigo, tornando a abordagem perfeita tanto para quem está começando na área quanto para quem quer aperfeiçoar o conhecimento. Ficamos impressionados com a quantidade de material disponível hoje em dia na Internet. De fato, não existem mais desculpas para não estudar Engenharia Reversa! ?
  13. Boa tarde pessoal, tudo certo? Como vocês podem ver tínhamos dado uma pausa nos desafios, isto para dar mais tempo à aqueles que não tentaram ainda ou não resolveram os desafios anteriores. Isto não significa que os desafios pararam, certo??? Então aqui está o nosso sétimo desafio, espero que curtam bastante o fds revertendo !!! AnalyseMe-06.exe
  14. Você já ouviu falar de CTF, Wargame, CrackMe ou nossa série AnalyseMe? Não? Por mais que os nomes sejam diferentes a ideia é a mesma: resolver os desafios propóstos, sejam eles para atacar, defender, sobre exploração, web ou engenharia reversa. Pouco tempo atrás foi lançado um desafio de engenharia reversa bem interessante. Talvez não pela sua complexidade, mas pela forma que a plataforma foi montada para suportar o desafio, contendo um interpretador python, um código em C, um debugger e por ai vai. Ferramentas como estas deixam mais prática a análise e resolução do desafio, tendo em vista que o ambiente estará montado para você. Happy hacking!! ?
  15. No fim de Março de 2018 a abuse.ch, plataforma com diversos projetos que lutam contra malwares, lançou um projeto chamado URLhaus. O objetivo do projeto é a coleta e compartilhamento de URL maliciosas, isto é, utilizadas por malwares de alguma forma, visando o bloqueio destas para tentar mitigar a propagação destes sites e do que eles contém. O projeto já conta com a contribuição de 256 pesquisadores da área de segurança espalhados por todo o mundo submetendo cerca de 300 sites maliciosos por dia. A ajuda não vem apenas de pesquisadores, mas também de pessoas que simplesmente querem ajudar, de provedores e por ai vai, ou seja, da comunidade. Em 10 meses de projeto já foram derrubados quase cem mil sites de distribuição de malwares. Mesmo os números sendo altos esta não é uma luta simples. Cada segundo que uma URL maliciosa fica disponível ela pode estar propagando algum software malicioso e, consequentemente, infectando alguém. Precisamos cada vez mais da comunidade de forma ativa na área de segurança, qualquer tipo de contribuição para este projeto ou outro é sempre bem vinda. ?
  16. Neste domingo foi publicada uma atualização do PE-bear, uma ferramenta de engenharia reversa com o objetivo de dar uma "primeira impressão" sobre arquivos PE (de Windows) analisados. Esta ferramenta foi escrita por ninguém menos que a hasherezade, uma desenvolvedora/pesquisadora de segurança incrivelmente habilidosa (não por acaso é a terceira vez que ela aparece aqui em nossas notícias). As novas funcionalidades da ferramenta incluem parsers para novas estruturas como o Rich Header e tables com a RSDSI. Segundo hasherezade, sua ideia era não dar mais suporte à este projeto, mas houve uma mudança de planos quando ela notou a proporção que ele tomou e considerou comentários e sugestões das pessoas que utilizaram o PE-bear. Fique por dentro das novidades deste e de outros projetos. Não os deixemos morrer! ?
  17. O time de pentest OpenToAll decidiu pegar os desafios que realizavam internamente e torná-los públicos, dando origem ao site pwnable.xyz. A ideia do site é simples: ser uma plataforma com diversos desafios sobre diversos assuntos, mas todos focados na parte ofensiva da segurança (semelhante ao Shellterlabs, por exemplo). O site é extremamente enxuto e com regras claras, descritas no fim da página. Além de você ganhar pontos e ser classificado pelos desafios que realiza, também pode submeter seus próprios desafios! Isso com uma condição: você precisa resolver todos os desafios da plataforma antes. Achou que ia ser fácil né? ?
  18. Boa noite galera, tudo certo?? Adivinhem o que temos pra esse começo de ano?? Isso mesmo, fim de semana debuggando ?. Queremos também saber o que vocês estão achando, se está muito difícil, muito fácil, se está na medida certa, etc. Lembrando que qualquer feedback é válido. Um ótimo fim de semana e bom debugging. Abs AnalyseMe-05.exe
  19. No fim de setembro o CrowdStrike® Falcon OverWatch™ Team (time com foco em pesquisa de ameaças) postou em seu blog que encontrou em um de seus clientes uma infecção no daemon sshd que chamou a atenção, devido à sua abordagem de alterar um binário legítimo. Após logar via SSH por meio de credenciais válidas e escalar privilégios via CVE-2016-5195, o autor da invasão modificou duas funções do cliente SSH e do servidor (sshd), para que sempre que alguém entrasse com credenciais legítimas estas fossem copiadas para um arquivo específico para posterior extração. Este fato foi interessante para notarmos que os binários nativos do nosso sistema podem sim ser alterados e, com isto, agir de forma maliciosa. Devemos ficar de olho em tudo, certo?! ?
  20. Boooa noite pessoal, aqui está mais um dos nossos desafios, espero que curtam e aproveitem o fim de semana debuggando bastante ?. Queria agradecer de novo por todas as análises que vocês estão fazendo e lembrar que não importa se alguém já fez, mostre pra gente seu ponto de vista também!! ? AnalyseMe-04.exe
  21. A esteganografia (técnica utilizada para esconder alguma coisa dentro de outra) não é algo novo. Já houve relatos de malwares que utilizaram esta técnica para esconder partes dos seus recursos em imagens, por exemplo. O que aconteceu alguns dias atrás foi quase a mesma coisa, mas chamou a atenção por conta de uma palavra mágica: meme. A Trend Micro postou recentemente em seu blog sobre um malware que estava escondendo funções maliciosas dentro de um meme postado no Twitter. O malware, após infectar o computador da vítima, fazia o download da imagem no Twitter e com isto fazia um parsing nos bytes dela para identificar as funções e, com isto, executá-las e mandar seus resultados para um servidor de Comando e Controle (C&C). Criativo, não?! ? Vale a leitura não só para os adoradores de memes, mas também para aqueles que querem entender melhor a anatomia desta ameaça.
  22. A empresa de segurança ESET recentemente publicou uma pesquisa mostrando que mais de 21 famílias de malwares estavam escondidas dentro de ferramentas de SSH (Security Socket Shell) para Linux. Muitas distribuições Linux já vem com ferramentas de SSH por padrão, mas ainda assim há muitas outras versões para download e dentre elas, muitas infectadas. Os malwares possuem funcionalidades que vão desde exfiltração de dados até mecanismos que permitem ao invasor uma maneira furtiva e persistente de se conectar de volta à máquina comprometida (persistência). Um outro detalhe interessante é que alguns malwares checavam se já havia alguma backdoor instalada antes de instalar a sua, através de um script em Perl. É recomendada a leitura de todo o artigo para melhor entendimento não só das ameaças, mas também do motivo de sua criação e sua relação com o SSH.
  23. Faaala galera, planos pro fds? Espero que não pois aqui está o nosso terceiro desafio da série AnalyseMe. Para aqueles que ainda não fizeram os desafios anteriores eu indico fortemente fazer e postar para a galera se ajudar e aprender junto. Qualquer dúvida fique a vontade para perguntar também. Lembrando que é pra postar a solução usando o modelo e entre tags spoiler (): Abraços! AnalyseMe-02.exe
  24. Por acaso você testa softwares? Tanto aqueles que cria quanto aqueles que utiliza (em busca de falhas por exemplo)? Mesmo que não faça isto você deve imaginar que um dos problemas que os programas enfrentam é ter que tratar com o input (a entrada de dados) do usuário, tendo em vista que as possibilidades são imensas e, com elas, vem os erros. O usuário Max Woolf decidiu ajudar aqueles que visam a qualidade do software (ou quem quer fazer fuzzing mesmo, em busca de falhas) e criou uma lista de strings que podem causar problemas quando utilizadas como entrada de dados. A ideia é extremamente simples e interessante, seja para um teste automatizado ou manual. O projeto está aberto para contribuição e tudo está especificado em seu repositório no Github. E aí, já testou aquele seu último programa? ?
  25. Concordo plenamente @Aof, obrigado pelo feedback!! Muito legal sua análise por sinal ?.
×
×
  • Create New...