Jump to content

Fernando Mercês

Administradores
  • Content Count

    636
  • Joined

  • Last visited

Community Reputation

0 Neutral

Personal Information

Recent Profile Visitors

5,269 profile views
  1. 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!
  2. É 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 ip, ifconfig, 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). 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.
  3. Praticamente nenhuma, mas o Orfox só era necessário enquanto não existia o Tor Browser e, de acordo com o desenvolvedor, deve parar de ser mantido: Orfox will be sunsetted by early 2019 when the stable Tor Browser for Android comes out. To experience real private browsing without tracking, surveillance, or censorship, download Tor Browser for Android from GooglePlay. Fonte: https://play.google.com/store/apps/details?id=info.guardianproject.orfox&hl=en
  4. +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. Provavelmente é bug haha anexa o binário aqui que eu vejo? 😉 Abraço e obrigado pelos testes!
  6. 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!
  7. É nóis. Aproveitando, eu tive a ideia de extender o PEDA pra já tratar esses casos. Você - e quem mais quiser - poderia testar antes de eu enviar um possível patch pros caras? Meu fork tá em https://github.com/merces/peda Basicamente é carregar o binário, mesmo com símbolos removidos, e comandar start. Tem que parar na main() automagicamente. hehe Abraço!
  8. Só vai ao ar no próximo sábado, mas tentei responder em vídeo. 🙂 Qualquer dúvida posta aí. Se não funcionar a gente busca outro jeito. Abraço!
  9. O Manzano comentou no nosso vídeo sobre Assembly: Abraço!
  10. 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. 😉
  11. Existem várias ferramentas multiplataforma para assemblar e disassemblar código, mas a grande maioria são programas que precisam ser instalados no computador antes de serem utilizados. Isso até o shahril96 publicar seu Assembler e Disassembler online e de código aberto, baseado no Keystone.js e Capstone.js. Seu uso é muito simples e por enquanto há suporte a arquiteturas ARM, ARM64, MIPS, x86, x86-64, PowerPC, SPARC e SystemZ. O Assembler recebe o código e imprime os bytes em formato bruto (raw), de string, vetor em C e disassembly. Já o Disassembler recebe qualquer uma dessas saídas como entrada e imprime as mesmas saídas. É sem dúvida útil em casos onde se precisa estudar Assembly, uma das bases para engenharia reversa, e não se tem um software como este à mão. Lembrando que tanto nosso livro Fundamentos de Engenharia Reversa quanto nosso Curso de Engenharia Reversa Online (CERO) apresentam noções de Assembly x86 para quem está começando. Hora de estudar! 😎
  12. Pode criar, brother. Aí depois só ir editando e atualizando. =)
  13. 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!
  14. Opa, acho que um tópico (ou mais de um) dá conta de compor essa lista, não? Abraços!
×
×
  • Create New...