Jump to content

Fabiano Furtado

Apoiador Nibble
  • Content Count

    46
  • Joined

  • Last visited

Community Reputation

23 Excellent

1 Follower

About Fabiano Furtado

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Primeiramente, parabéns pelo artigo! Aguardo a parte 2! ? Olha... através de caminhos diferentes, cheguei nesse mesmo problema dos "0s" abusivos no meio do binário. No meu caso, estava tentando fazer o menor "hello world" possível em NASM 64bits com a .text sem null chars, mas os "0s" sempre apareciam. Se quiser tornar o seu binário menor, sem esses "0s", utilize a opção "-z noseparate-code" no ld. Isso fará com que ele não coloque esses "0s" entre as sessões do ELF. Dizem que esses "0s" servem para aumentar a segurança... eu queria entender o porque! Sinceramente, uma sessão .text o
  2. Primeiramente parabéns pela MBConf! Estes eventos estão sendo sensacionais! Gostaria de assistir palestras sobre técnicas para ofuscação de binários e também alguns tipos de ataques como ret2libc, ROP e suas mitigações. Outra palestra interessante seria sobre algum pesquisador com alguma experiência prática em descobertas de BUGs/vulnerabilidades em sistemas... (de preferência sem ser sistema Web) pudesse contar pra gente como descobriu e explorou essa vuln. Outros assuntos interessantes: como fazer o bypass de sistemas do tipo IDS/IPS? Como detectar Shellcodes polimórficos/meta
  3. Renato... primeiramente, obrigado pelo retorno. Cara... achei muito legal esse estudo! Vou tentar fazer esse patch no openssh para monitorar os comandos enviados. Muito interessante e útil esse patch!!!!! Vou ler o seu paper. Parabéns pela pesquisa! Obrigado mais uma vez.
  4. Pessoal... boa tarde. Seguem as minhas perguntas sobre a palestra. Agradeço desde já. * Esse tipo de BOT P2P não deveria estar predominando neste mundo dos ataques? Pq não está? * Quais ferramentas foram usadas para fazer essa pesquisa? Achei interessante como foi obtido o tráfego SSH e consequentemente o certificado utilizado na BOT. * Tem algum paper sobre essa pesquisa?
  5. Pessoal.. li um artigo hoje e achei muito interessante a técnica de ofuscação apresentada. https://www.d00rt.eus/2020/04/ebfuscation-abusing-system-errors-for.html No meio do artigo, o autor cita outras técnicas de ofuscação de código: "Here are other transformations that can be applied: - Virtualization - Control Flow Flattening - Encode literals - Opaque predicates - Encode Arithmetic ..." Fiquei intrigado em como usar Virtualização para se fazer ofuscação em código. Pesquisei um pouco sobre o assunto e achei uma palestra do Alexandre Borges na DEFCON China 201
  6. Fred... tudo bem? Achei interessante a idéia do IPv6! Quem sabe depois da implementação do payload? Bem, estou começando a estudar o código para implementar o payload nos protocolos e acredito que tenha encontrado um bug no ICMP... Comecei pelo ICMP por se tratar do menor código existente no T50, ou seja, mais fácil de se entender e modificar. Executei um # t50 --protocol ICMP --threshold 2 127.0.0.1 e capturei os pacotes no Wireshark. No Wireshark, o campo do checksum estava errado, e o mesmo mostrava os bytes invertidos. Mensagem do WS: "Checksum: 0xbbaa incorre
  7. Frederico e Fernando... será que eu poderia me aventurar a implementar esse suporte a payload de usuário no T50? Para mim seria um bom desafio em C... acho que aprenderia muito nessa implementação. Claro, preciso do apoio de vocês durante o desenvolvimento pois certamente terei dúvidas. Sou aberto a críticas e sugestões. O que vcs acham? Valeu!
  8. Cara... vc é o mestre!!!! Achei muito legal esse make! Depois vou testar... Em tempo, já que vc usou o objcopy para diminuir o tamanho do binário (aliás, achei bem legal isso), reparei que os meus binários estavam ficando MUITO grandes (mesmo os mais simples) e descobri o motivo. A partir da versão 2.30 (ou 2.31.. não sei ao certo) do LD, há um novo parâmetro para fazer a link edição chamado "-z noseparate-code". O default passa a ser "-z separate-code" e isso faz com que o linker preencha o binário com vários Null Bytes entre as seções. Eu li sobre esse parâmetro e o motivo da
  9. Opa... Segue a linha... $ ld --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o hello /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/g
  10. Oi Frederico... agora sim! Usando alguns parâmetros que a opção -v me mostrou, eu consegui fazer o hello world funcionar e entender o problema. Muito obrigado!
  11. Bom... o GCC não está instalado errado. Isso eu posso te garantir. Eu uso o Arch Linux e nele há links simbólicos apontando para /lib64/ld-2.29.so e /usr/lib64/ld-2.29.so, que são arquivos idênticos. Eu mantive os arquivos temporários para poder utilizar o hello.o no ld e usar o ld para fazer a link edição, e não o GCC. Utilizando-se o GCC, o erro não ocorre, mas usando o ld, sim.
  12. Pessoal... fiz um "Hello World!" em C para testes e estou tendo um "Segmentation fault". Vou reproduzir os passos que fiz. Primeiramente, compilei com "gcc -Wall -O3 -save-temps hello.c -o hello". Até aí, tudo certo. Execução sem erros. Como queria fazer a link edição "na mão", dei um "ldd hello" e... linux-vdso.so.1 (0x00007fffb3558000) libc.so.6 => /usr/lib/libc.so.6 (0x00007fc34bbc7000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fc34bde6000) Após isso, link editei o arquivo com o comando "ld -dynamic-link
  13. Pessoal... Para cada sistema que fazemos, normalmente, precisamos ler algum arquivo de configuração ou carregar dinamicamente algum plugin no momento da execução. Alguém tem alguma idéia/dica sobre como fazer isso de maneira mais fácil? Alguém já desenvolveu algo assim? Há algum artigo que descreva isso? Cada um implementa isso de uma maneira e não queria ficar perdendo tempo em algo tão básico. Sei que a libconfig pode ajudar, mas não queria utilizar nenhuma lib. Obrigado.
  14. Pessoal... Ontem achei um artigo na Internet bem escrito, interessante e detalhado sobre Engenharia Reversa em ELF. É um reversing básico, mas não tããããão básico assim. Acho que vale a pena conferir. http://manoharvanga.com/hackme/ Valeu!
  15. Texto excelente! Para complementá-lo, segue um video do Ben Eater, onde ele fala sobre o trabalho de Turing e Church, e questiona se o computador de 8 bits que ele contruiu com portas lógicas simples é realmente considerado um computador completo. Bem, sugiro assistirem a esta Playlist fantástica! São mais de 40 videos. Comecei assistindo um e não consegui parar! ? Valeu!
×
×
  • Create New...