Ir para conteúdo

Pimptech

Membros
  • Total de itens

    30
  • Registro em

  • Última visita

Reputação

17 Good

2 Seguidores

  1. Crackme - Level 0

    Sim, é muito completa essa ferramenta. Eu uso mais quando eu to no Linux. Eu também gosto desse conceito de teclado, mas acho que as vezes resolver com ajuda de um mouse vai mais rápido hahaha. Bom, eu resolvi um crackme que o Mercês postou faz um tempo atrás. Se quiser dar uma olhada. Detalhei bem como eu resolvi via radare. Abraço!
  2. Keygen genérico

    Opa, @Fabiano Furtado. Bele ? Única coisa que eu acrescento é que desde C99 que é possível declarar variáveis dentro de um loop, por exemplo (for(int i =0...)). Tudo bem que seu código é pequeno, mas você não acharia melhor declarar dentro do escopo em que ela é utilizada ? Veja as duas variáveis vd e ks. Tudo bem que o otimizador do GCC "entende" e melhora o código, mas é bom ter em mente e tentar isolar as variáveis dentro dos seus respectivos escopos e evitar declarar tudo "global". Só uma dica mesmo. Bacana o keygen :). Abraço! Eai, @BrNaka. Eu não vi nada em específico também. Em C devemos olhar mais para os tamanho de cada tipo do que para o conteúdo. Int não quer dizer que o que vai contar lá é um inteiro. Int é mais uma questão de tamanho (4 bytes). Char (1 Byte). Como o tamanho da key é 10, tanto faz ser unsigned char ou simplesmente char. Em char (1 byte) signed cabe de -128 <-> 128 ou 255. Em um unsigned é a mesma coisa, o GCC aceita do mesmo jeito, contudo se você tentar colocar um número negativo aqui ele vai ignorar o sinal e irá mostrar o número positivo. Ele quis usar char para diminuir a alocação de espaço em memória, acredito eu. Abraço!
  3. Ajuda com assembly

    Podem ser várias coisas. Sem o código é complicado dizer. O que o programa deveria fazer ?
  4. Crackme - Level 0

    Isso ai.. Parabéns.Valeu! Cara o plugin é o SwissArmyKnife, tem um DIFF files. Tem uma outra ferramenta muito boa também para ER, chama radare2. Dá uma olhadinha nesse artigo e o que dá pra fazer com ele. Para visualizar essa diferença entre os binários você vai precisar comparar a seção .text (ou a seção do PE que possa executar codigo), ai você consegue isolar o mais importante primeiro. http://radare.today/posts/binary-diffing/ Qualquer coisa, tamo ai! Abs!
  5. Crackme - Level x

    Realmente, muito subjetivo mesmo, não tem bem como medir haha.. Valeu! Vou lançar mais alguns em breve, tentar adicionar coisas novas em cada novo crackme. Tentar trazer a galera pra fazer CTF, Abraço!
  6. Crackme - Level 0

    Eai, @gzn Analisei de novo, só que dessa vez no Windows 8.1. Nessa versão pra cima ele pega esse endereço estranho mesmo, pois eu programei e testei no Windows 7. Na versão 7 ele aloca um endereço válido, porém só se senha for maior do que 8 bytes que dá erro, se não me engano. Por padrão ele aloca 4 bytes e ficam alguns bytes de sobra, porém se passar dos 8 bytes ele sobrescreve um endereço de memória válido. Dá uma olhada nesses dois plugin pro x64dbg: https://github.com/Nukem9/SwissArmyKnife http://rammichael.com/multimate-assembler Vários outros: https://github.com/x64dbg/x64dbg/wiki/Plugins Abraço! Vou fazer um tutorial em breve, mas até vai tentando. Se precisar de algum help só falar. Abraço!
  7. Ajuda com assembly

    Olá, @bornman! Tudo bem ? Cara achei algumas coisas interessantes. Eu me do melhor com NASM. De qualquer modo, se já programou em TASM é só questão de pegar o jeitão mesmo. Alguns exemplos: http://masm32.com/board/index.php?board=60.0 Guia do MASM (Anexado no post): http://masm32.com/board/index.php?topic=3445.msg39012#msg39012 Aqui tem quase tudo (Recomendo, direto ao ponto): http://win32assembly.programminghorizon.com/tutorials.html Espero ter ajudado. Abraço!
  8. Falai, @Douglas.. Bele ? Cara também não sei muito sobre o tema, o que eu li sobre foi que os analistas não colocam toda a confiança no sistema de isolamento do Docker. O ponto chave, pelo o que eu entendi, é a facilidade de juntar as ferramentas em uma imagem e rodá-las para analisar algum artefato. Parece que ele funciona melhor em linux por causa do conceito com o qual o Kernel do Linux foi desenvolvido. Em Windows aparentemente funciona da mesma forma. Docker isola algumas camadas no OS, mas pelo que eu vi ele compartilha a camada de Kernel entre as imagens e o HOST (o que não seria uma análise confiável). https://remnux.org/docs/containers/malware-analysis/ Se quiser análise automatizada eu indico que você dê uma olhada no Cuckoo Sandbox. Essa ferramenta roda no "host" e automatiza a análise dentro de um ambiente virtualizado. https://www.cuckoosandbox.org/ Abraço!
  9. Uso apropiado de headers em projetos C/C++

    Não sou expert em C ou C++, mas acredito que em qualquer arquivo que você utilizar algo externo você precisa incluir no seu arquivo. O que pode ser um atalho pra isso é criar uma header que inclua libs de comun uso e chamar apenas essa header que inclui as outras no seu arquivo. Aguarde alguém mais experiente responder, mas até onde eu sei essa é a melhor forma. Abraço!
  10. [Ajuda] H2HC Crackme

    Opa, tranquilo! Isso ai.. É ir praticando e ganhando experiência. O que eu puder ajudar, estamos ai! Abraço!
  11. [Ajuda] H2HC Crackme

    Falai, @BrNaka. Bele ? É isso ai mesmo mano! O desafio é de 2015. Dentro da função que recupera o TXT umas das chamadas é para uma função da libcurl. https://curl.haxx.se/libcurl/c/CURLOPT_WRITEDATA.html Nesse caso o hardcoded 0x2711 é referente a opção que eu linkei acima. Nessa mesma função ele faz um fopen que abre o handle pro arquivo TXT. Ele recupera os dados da URL e escreve direto no TXT. Pelo que vi o link tá OFF. Não achei nada a mais fora isso. Abraço!
  12. Crackme - Level 0

    É isso ai mesmo, mano. Agora tem que achar a senha e chegar nessa string ai pelo programa ;p Negócio é ir praticando.. Depois que conseguir esse tem o level x lá hein, tá mais dificilzinho, mas vale a pena. Abraço!
  13. Crackme - Level 0

    Era esse objetivo mesmo! Agora tem que achar a senha haha.. Daria pra tu resolver esse crackme só fazendo os patchs nos lugares que vc mudou a "direção" de execução do programa. Mas seria legal achar a senha também, descobrir como chegar ai sem fazer nenhum patch ou debugar. Abraço!
  14. Crackme - Level 0

    Falai, BrNaka! A pergunta não é idiota não, mano! Até dá pra resolver o compilado, porém vc não vai conseguir executá-lo. Não sei se é possível utilizando o WINE. Bom, compilei no linux.. Vou deixar anexado aqui nesse post. Eu resolvi um crackme que o Fernando postou, do geyslan. Fiz um walkthrough lá no post com umas dicas do radare2, pode ser que ajude de alguma forma. Abraço! crackme-level0
  15. Mitigating DLL Hijacking / DLL MITM

    Falai, galera! No meu último post eu trouxe uma forma the fazer um hijacking em uma DLL sem nenhum tipo de injecting. Hoje you vou trazer uma forma de mitigar isso. Claro que não é nenhuma forma definitiva e também não é uma forma muito bonita hehe, mas de certa funciona bem. Basicamente a ideia é não usar a IAT para importar a função e ao invés disso pegar o offset diretamente da dll compilada e somar com o BaseAddress da DLL. Assim você consegue fazer uma chamada dinâmica na DLL. Seguindo o programa do mesmo exemplo anterior da função send. O que eu fiz foi ir diretamente na IAT do programa dll-consume pegar o address da IAT codar o offset diretamente no programa. Fiz esse mesmo trajeto da IAT pelo x64dbg peguei o offset da função 0x1309 (não se esqueça do little-endian). Dentro do código eu carreguei a DLL dinamicamente e formei o address para fazer a chamada dinâmica. Fiz ali um function-type e depois formei o address da function dinamicamente e atribui pro novo object do tipo da function-type. Conclusão Esse post foi bem breve, mas acho que vale a pena compartilhar essas coisas. Eu acho muito válido (pelo menos para quem é programador) sempre pensar de forma ofensiva e defensiva. Sempre tente quebrar seus próprios programas e defendê-los ao mesmo tempo. É um tipo de exercício muito bom e eficaz. Seja criativo! Abraço! Qualquer dúvida, crítica, sugestão ou comentário tamo aí! Até! Post original: https://verseinversing.blogspot.com.br/2017/11/mitigating-dll-mitm-manual-dll.html
×