Jump to content

Fernando Mercês

Administradores
  • Content Count

    640
  • Joined

  • Last visited

Posts posted by Fernando Mercês


  1. Hi @horsicq! First of all, it's nice to have you here. Welcome! 🙂

    I'm probably wrong but I remember of a DLL that used be shipped in binary form with DIE sources (maybe the engine?), but that was probably before you move the code to Github. Sorry about the confusion.

    It's all clear now. Thanks for delivering this great project to the community!


  2. A gente tem programada uma reorganização do fórum com maior subdivisão de áreas, mas não é urgente. Quem tiver dúvidas pode postar no fórum "Programação" ou "Engenharia Reversa", dependendo do enfoque e não há nada que impeça tais dúvidas de serem respondidas.

    Abraço!


  3. 6 horas atrás, gnoo disse:

    quando iniciamos  o sistema o endereço que pertence à placa de rede deve ficar numa memória qualquer sem ser alterado, certo? onde? 

    É no contexto do driver da placa de rede em kernelmode e/ou nos serivços de rede do SO, também em kernelmode. Você não vai conseguir alterar isso em usermode.

    A maneira como programas como ipifconfig, etc fazem é através de bibliotecas userland, que por sua vez invocam syscalls ou falando via socket. Você pode espiar como o ip faz em userland com o ltrace:

    # ltrace ip link set eth0 address de:ad:be:ef:b0:b0

    Aqui fez via socket.

    Se quiser ver as syscalls chamadas, você pode usar a opção -S do ltrace ou usar o strace. No entanto, vai cair nas syscalls de rede de qualquer forma.

    Alternativas incluem a netlink (man 7 netlink / rtnetlink).

    Mas se realmente quiser fazer na memória, você vai precisar de um driver (kernel module, como são chamados no Linux) pra mudar o que pode ser visto em /sys/class/net/eth0/address (não adianta tentar mudar diretamente aqui... o endereço MAC exibido aqui é gerenciado pelo kernel, logo, em kernelmode).

    4 horas atrás, kassane disse:

    Se a opção for "reescrever" na memória riscos envolvidos nisso?

    Vai depender de quão esperto é o código do teu módulo. Buscando nas estruturas certas, não me parece muito perigoso, mas um find na área de memória do kernel toda é loucura. Não que não deva ser feito (adoro loucura! haha) como PoC.

    E isso tudo só vale pra Linux. 😀 Então se quiser fazer no Windows, muda tudo...

    Abraço e boa sorte! Vou curtir ver isso pronto, independente do caminho escolhido.

     


  4. 4 horas atrás, gnoo disse:

    Eu também já tive o hobby de caçar PDF's eu tenho à vontade uns 15 gb de PDF's que nunca li.

    +1 aqui. Se eu tivesse lido todos os PDF's que tenho, seria um mago já. kkkkk

    Aproveitando as "coisas poéticas" lembro de Raul Seixas na música Eu também vou reclamar: Olho os livros na minha estante, que nada dizem de importante, servem só pra quem não sabe ler. 😁

    Mas eu entendo o movimento de angariar material para estudo. Tenho muito mais livros que li e muitos mais samples (no Kindle) que livros completos. Vejo algo, me animo, peço logo "enviar amostra" hehe. Sinistro.


  5. Opa!

    É, esse sstrip macabro remove o section header também, além de outras coisas. O GDB se perde, coitado. O que dá pra fazer é pegar o entrypoint no cabeçalho (com o readelf/objdump) e seguir o mesmo esquema:

    $ readelf -h hello.elf | grep Entry
      Entry point address:               0x401040

    Mas dentro do GDB acho que não. Vou ver se consigo deixar o PEDA preparado pra isso. 😉

    Abraço!


  6. 2 minutos atrás, void_ disse:

    Alguém aí tem um link para "Fundamentos em Programação Assembly", do José Manzano? Sei que é meio antigo, mas gostaria de recuperar esse livro de alguma forma. Já tive ele em cópia física quando era mais moleque, mas sinceramente não sei que diabos aconteceu com ele, uma vez que eu nunca mais achei...

    O Manzano comentou no nosso vídeo sobre Assembly:

    Citar

    Olá, Primeiramente quero agradecer a indicação. Sou autor deste livro que ao longo dos anos após seu lançamento foi sendo melhorado e hoje está na sétima edição e poderá ser encontrado no site da Editora Érica: https://www.editoraerica.com.br/assembly. Se for sua primeira compra no site poderá ter um desconto de 25% utilizando o promocode "PRIMEIRACOMPRA25%". É importante esclarecer que o livro é voltado para iniciantes em programação Assembly. O texto não foi pensado para usuários avançados. Abraços.

    Abraço!


  7. Um livro muito legal é o do xorpd, entitulado  "xchg rax, rax". Pois é, o nome do autor já uma instrução e o nome do livro é outra. rs

    Só tem snippets em Assembly nele, sem comentários ou texto. O leitor deve descobrir o que o snippet faz. Custa $10 na Amazon a versão impressa, mas ele pode ser lido inteirinho no site do autor, que aliás também vale uma lida. 😉


  8. 1 hora atrás, Fabiano Furtado disse:

    Será que vale o esforço?

    Acho que por treino sim, pois realmente não vejo benefício prático do programa em si, mas posso estar perdendo algo também.

    Os compiladores inserem padding, em geral 0x00 ou 0x90 (NOP no x86) mesmo. O legal de fazer algo assim é que você vai precisar parsear o ELF, enumerar as funções e fazer seus patches. #include <elf.h> e segue o jogo. hehe

    Se fizer, posta os desenvolvimentos aqui pra gente acompanhar. 😀

    Abraço e boa sorte!


  9. Bem, parte do código do DIE é fechado então teria que fazer reversa nele pra entender tudo, mas qualquer software p/ ER a gente recomenda rodar em máquina virtual mesmo, não na sua real, por vários motivos, entre eles essa desconfiança, que é cabível mesmo.

    Dito isso, não acredito que seja malicioso, mas não posso garantir. O histórico de detecção de "ferramentas hacker" por softwares antivírus é antigo, dadas as características destas ferramentas.

    Desculpe o post inconclusivo, mas não vejo maneira simples/rápida de garantir isso.

    Abraço!


  10. Oi @R3n4to! Boa pergunta. Eu não sou especialista em forense, mas não considero engenharia reversa como uma sub-área desta. No entanto, ER é uma técnica a ser aplicada em certas áreas e sem dúvida forense é uma delas, uma vez que ao analisar ambientes digitais, podem ser encontrados binários que precisão ser entendidos e normalmente o código-fonte não estará disponível. Por exemplo, ao analisar a memória ou disco de um servidor que foi comprometido, é possível encontrar um processo em execução ou binário em disco que seja considerado suspeito. O próximo passo do profissional de forense pode ser analisar tal processo/binário. Ele pode fazer isso por conta própria ou, caso conte com uma equipe, passar o trabalho para um engenheiro reverso. 😉

    Grande abraço!

     


  11. Estamos a procura de desenvolvedor(a) de software para atuar na comunidade open source em uma empresa de Floripa.

    As principais atividades que você desenvolverá são:
    – Desenvolver programas em C e C++ open source, sob demanda.

    Diferencial:
    – JavaScript;
    – C#;
    – Conhecimento em Enlightenment Foundation Libraries.

    Os requisitos necessários para você desempenhar suas atividades são:
    – Experiência de pelo menos dois anos com C e C++.

    Sua jornada de trabalho será em horário comercial, de segunda à sexta-feira.

    Além da remuneração fixa oferecem benefícios como va, vt, plano de saúde e plano odontológico.

    Se identificou com a oportunidade?
    Prepare um cv bem caprichado e encaminhe para nossa equipe de triagem 🙂

    Contato: cvbanco em peopleti.com.br


  12. Bem vindo, @Vira!

    As regras da comunidade estão aqui (Home -> Regras, no menu). 😉

    Eu não baixei o arquivo mas na função tmp_secret() tem um comentário gerado pelo seu disassembler: CALL XEF from main (0x40098f), que significa que existe uma chamada para esta função neste endereço. Eu iria lá checar pra ver o que está pegando hehe

    Grande abraço e boa sorte!

×
×
  • Create New...