Alligator Con 2011

A Alligator Con 2011 foi um sucesso!

Conferência pequena, técnica, produtiva, reservada e independente. Foram no total 10 palestras de 30/40 minutos cobrindo temas desde “phreaking” a “mind hacking“. Minha apresentação foi sobre o sandbox implementado no Google Chrome e pode ser encontrada [Aqui].

Fiquei muito feliz com os resultados, pois conseguimos organizar uma conferência de alto nível técnico onde todos os trabalhos apresentados foram executados por profissionais locais ou que saíram daqui de Pernambuco. Acredito que ainda tínhamos margem para mais um dia de apresentações. Muita gente boa, que foi apenas como ouvinte, poderia ter falado sobre sua pesquisa.

Tutorial sobre escrita de shellcode básico

Opa pessoal,

hoje li um post sobre Shellcode básico [1] no blog da Tempest [2] escrito por Leandro Oliveira que está bem didático. Recomendo fortemente para quem vem acompanhando a série de artigos sobre de Vulnerability Development.

[ ] ‘s

[1] http://blog.tempest.com.br/leandro-oliveira/hello-world-shellcode.html
[2] http://blog.tempest.com.br/

Patch para Vmware x86_64 e Kernel 2.6.38-8 (Ubuntu 11.04)

Salve galera,

esse post é para quem migrou para o Ubuntu novo (11.04) que saiu hoje e teve seu VMware quebrado. Perdi um tempão hoje para conseguir compilar com sucesso os módulos do VMware com o Kernel do Ubuntu novo. Para economizar o tempo de vocês (Uia! Como sou legal!) gerei um patch com as modificações necessárias para que seu VMware compile sem problemas no Kernel usado pelo novo Ubuntu.

Só clicar no link abaixo e seguir as instruções.

$ tar xfzv VMplayer_3.0.0-203739.x86_64_2.6.38-8.tgz
$ cd VMplayer_3.0.0-203739.x86_64_2.6.38-8
$ chmod +x patch_apply.sh
$ sudo ./patch_apply.sh
$ sudo vmware-modconfig –console –install-all

[VMplayer_3.0.0-203739.x86_64_2.6.38-8.tar.gz]

[ ]‘s

[VD04] Address Space Layout Randomization

Olá pessoal,

<prologo>
como alguns já sabem, em Outubro de 2010 comecei a trabalhar com P&D para a Conviso Application Security [1]. Elaboramos um projeto de pesquisa voltado a segurança de aplicações não-web. Como resultado desse projeto iremos ganhar 1 artigo a cada 2 meses. Esses artigos serão concebidos em Português. publicados em formato PDF na página da Conviso e sempre que possível estarei referênciando eles por aqui.
</prologo>

Bom, eu dei o kickoff no projeto e escrevi um primeiro artigo sobre ASLR (Address Space Layout Randomization). Segue o resumo do artigo:

Certamente o ASLR foi um dos mecanismos de segurança mais eficazes na contenção da explosão no número de explorações com sucesso no inicio do Século XXI. Inicialmente foi apresentado como solução genérica para problemas de buffer overflow. Explorações que assumiam que o aplicativo vulnerável seria carregado em memória usando blocos de endereços fixos foram invalidadas. Muito embora, pouco tempo depois técnicas para burlar a proteção tenham surgido, o custo para construção de um exploit funcional para essa categoria de vulnerabilidade aumentou significativamente.

As tentativas de exploração ficaram mais “ruidosas”, evidenciando padrões de ataques e fornecendo subsídos para construção de dispositivos de detecção automática. Atualmente, o ASLR é implementado nativamente nos sistemas operacionais mais populares. Esse artigo tem por objetivo apresentar um breve (i) histórico, (ii) descrever o funcionamento, (iii) apresentar uma análise qualitativa e (iv) apresentar as principais técnicas utilizadas parar contornar a proteção provida.

O artigo na integra pode ser encontrado no Scribd [2]

Referências:
[1] http://www.conviso.com.br/
[2] http://www.scribd.com/doc/46363944/ASLR-Address-Space-Layout-Randomization

GNU Debugger e ASLR

Post relâmpago (milagre!).

Estava a pesquisar sobre ASLR (Address Space Layout Randomization) e durante depuração de código de “prova de conceito” percebi que o GDB (7.1) desabilita a aleatorização do espaço de endereçamento do processo por padrão.

Esse procedimento faz sentido para a maioria dos casos de depuração. Entretanto, para quem precisar desse recurso habilitado, para reproduzir mais fielmente o comportamento do SO em relação ao processo depurado, usar o seguinte comando:

set disable-randomization off

O comando acima pode ser digitado diretamente no prompt de comando do GDB ou inserido no arquivo de configuração: “/etc/gdb/gdbinit“.

É isso ai galera,  Feliz 2011!