Autor Tópico: Injetar função num EXE.  (Lida 558 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

keenlanas

  • Wannabe
  • **
  • Posts: 78
  • Reputa +0/-0
  • Coder com vontade de ser Hacker
    • Ver perfil
Injetar função num EXE.
« Online: 25 de Setembro , 2009, 01:44:58 am »
Tive uma sacada esses dias, na aula sobre Assembly.

O professor estava explicando a instrução Jump e eu imaginei:

Pow, vamos supor que eu descompile um EXE... e adicione um Label, sei lá, "FUNCAO_EVIL" antes da instrução que termina o programa, ir para o inicio do programa, pegar o primeiro e o segundo comando valido e substituir por um "jmp  FUNCAO_EVIL" e um novo label "VOLTA_NORMAL", e então no fim do arquivo, depois do label  "FUNCAO_EVIL" você adicionar O CODIGO QUE VOCÊ QUISER ADICIONAR, e depois dele colocar o primeiro comando, depois o segundo, depois um "jmp VOLTA_NORMAL"
O programa iniciaria, iria pro fim do arquivo, executaria o seu codigo, depois os comandos normais, retornaria pro começo e continuaria suas funções normalmente ^^

Isso faria com que o programa .exe executasse um codigo malicioso sem ter que injetar DLL ou coisa do tipo...

O unico problema é que o numero de bytes da instrução jmp e do label FUNCAO_EVIL tem que ser igual (NEM MAIOR NEM MENOR) que a primeira e a segunda instruções...

Só não faço isso pq sou mto noob em assembly ainda, mas achei uma idéia legal (que concerteza alguém já pensou, mas enfim...) e achei legal compartilhar com os entusiasmados em Assembly... XD

o/

unn4m3D_BR

  • Newbie
  • *
  • Posts: 5
  • Reputa +0/-0
    • Ver perfil
Re:Injetar função num EXE.
« Resposta #1 Online: 05 de Abril , 2013, 03:51:33 pm »
Bem velho o post, eu sei! Mas.. comentarei de qualquer forma! ;)

Se o autor ainda está por aqui e se ainda não aprendeu codar em asm - pelo tempo, acho difícil não ter aprendido rs - o nome disso que você pensou, se chama code cave. É uma técnica muito usada. ;)

[]'s
Reversing is my life!
www.reversing4life.com

keenlanas

  • Wannabe
  • **
  • Posts: 78
  • Reputa +0/-0
  • Coder com vontade de ser Hacker
    • Ver perfil
Re:Injetar função num EXE.
« Resposta #2 Online: 25 de Julho , 2013, 01:55:46 pm »
Opa, isso é antigo!! XD

Eu aprendi a codar em asm sim, e eu cheguei a aplicar essa técnica como teste em programas simples em C que eu mesmo escrevi, e funciona.

Mas não consigo fazer com programas mais complexos, eu lembro que tive muitas dificuldades em diversas etapas, desde o disasm, até a edição do asm gerado.

Mas fico feliz que durante uma aula de asm eu tenha chego a conclusão de uma técnica tão utilizada sem nem saber tanto de asm :)

Sheriff

  • Newbie
  • *
  • Posts: 3
  • Reputa +0/-0
    • Ver perfil
Re:Injetar função num EXE.
« Resposta #3 Online: 01 de Outubro , 2013, 04:07:36 pm »
Fazer engenharia reversa em binarios (inserir labels e jmps) eh uma boa com debuggers como o Immunity; depois eh soh exportar modificado, isso eh interessante um pouquinho sim. O problema em fazer isso com softwares grandes depois de uma invasao ao servidor eh o md5 sum, oxi, eh soh alterar tambem.