Lendo dados de syscall via ptrace

Submitted by felipe on Sun, 22/04/2012 - 20:27.
::

Salve, salve! Dessa vez, começo minha aventura pelos mares do ptrace! Vejo como uma boa área para adquirir algum aprendizado no que diz respeito a alteração/extração de informação de um processo em execução, entre outros tipos de utilidade. Tentarei reportar de forma didática o que eu descobrir sobre o assunto, e especificamente, com exemplos usando arquitetura x86_64 (o que é raro de ver por ai).

Explorando usando format-string

Submitted by felipe on Tue, 27/12/2011 - 19:36.
::

Olá, neste post iremos tratar de uma velha e vulnerabilidade conhecida como format-string, que é explorada por meio de formatadores (%x, %n etc) na ausência de respectivo parâmetro. Focaremos neste post a possibilidade de escrita em um endereço arbitrário.

Syscall hijacking usando Assembly x64

Submitted by felipe on Tue, 29/11/2011 - 22:05.

Dando sequência ao post anterior onde vimos uma introdução à LKM usando Assembly x64, agora vamos partir para alterar uma entrada na tabela de syscalls no Linux (kernel 2.6.*).
A técnica usada neste post é baseada no post do memset's blog [1].

Introdução a Linux Kernel Module em Assembly x64

Submitted by felipe on Mon, 28/11/2011 - 22:16.

Aproveitando para me familiarizar com assembly para x86_64, resolvi por em prática uma ideia antiga de fazer um LKM qualquer em Assembly. Enquanto não vem uma ideia de um módulo útil, mostrarei como é simples fazer puramente em assembly, usando a sintaxe AT&T e o GAS (GNU Assembler).

Sobreescrevendo a GOT via buffer overflow

Submitted by felipe on Sun, 27/11/2011 - 19:42.
::

Seguindo a ideia proposta no post anterior, veremos neste post uma outra possibilidade de escrever na GOT via um programa vulnerável a buffer overflow.