#FISL 12: shellcodes

A palestra do Leandro Fernando (não consegui o contato dele) foi muito legal. O cara é uma figuraça, pernambucano (acho, pelo sotaque), muito engraçado e fez uma apresentação bem objetiva e informativa. Vamos às informações mais importantes.

  • Um shellcode é um código contido num exploit e que realiza o desejo do criador (criar usuário, alterar senha, criar regras de firewall, ligar webcam, etc).
    • Ou seja, quando um intruso quer atacar um alvo, ele precisa de um código que explore uma vulnerabilidade de um sofware que esteja rodando no sistema alvo. Este código é o exploit.
    • Dentro do exploit, tem o shellcode, que vai fazer, depois de explorada a vulnerabilidade, com o que o objetivo do intruso se realize, seja alterar a senha do root para ele ter acesso ao sistema, seja abrir uma porta através de um backdoor pra ele ter controle sobre o alvo remotamente, por exemplo.
    • Atualmente é chamado de payload, um termo mais abrangente mas que, segundo o palestrante, pode designar coisas que não são shellcodes.
  • Ele comentou que há o meio fácil de fazer shellcodes, que é através de ferramentas como o exploit-db, metasploit, shell-storm, e outras (ou pesquisar na web), e há o difícil, que é programar em assembly, fazendo manipulação de system calls, registradores e tudo mais. Ou ainda, escrever um código em C e usar um debugger pra analisar o código assembly.

Depois das explicações o Leandro demonstrou um shellcode que realiza uma chamada de uma system call, mostrou o código em assembly e discutiu alguns problemas inerentes ao desenvolvimento de shellcodes, como operações com valores nulos, e os malabarismos que são feitos para contornar algumas situações. O negócio não é nada simples!

Pra quem quiser mais informações sobre o assunto, encontrei este ótimo texto no blog 0xcd80 (criativo, hein ?).

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

Christian Guerreiro

Professor por vocação, blogueiro e servidor público por opção, amante da tecnologia e viciado em informação.


Ensino a distância em Tecnologia da Informação: Virtualização com VMware, Big Data com Hadoop, Certificação ITIL 2011 Foundations e muito mais.


Suporte o Tecnologia que Interessa!

Você acha que as informações compartilhadas aqui são úteis?
Então me ajude a produzir ainda mais e melhores conteúdos!


É muito fácil. Basta divulgar nossos treinamentos pra alguém que conheça!


E se for de Salvador, podemos estruturar um curso presencial para sua empresa!

Eu vou ficar muito grato (e quem fizer os curso também :)!