C

warning: Creating default object from empty value in /home/bughunter/bughunter.tecland.com.br/modules/taxonomy/taxonomy.module on line 1390.

ELF Auxiliary Vector

Auxiliary vector, também conhecido por auxv, nada mais é que um vector auxiliar com informações pertinentes ao sistema e ao processo, que é colocada na imagem do processo para que possa ser utilizada pelo interpretador do ELF (ld), bem como pelo processo.

Podemos ver a montagem do vetor no source do kernel no link [1]. O objetivo do post é demonstrar como podemos acessar tal informação, que é acessível de várias formas.

Lendo e escrevendo na stack de um processo usando ptrace

Olá pessoal! Depois de um longo tempo, resolvi postar mais alguma coisa interessante com o uso do ptrace. Desta vez irei demonstrar como podemos simular um breakpoint em um processo e até printar e modificar o valor de uma variável local.

Para quem não leu o primeiro post [1], vale a pena dar uma lida para compreender o que veremos a seguir.

Lendo dados de syscall via ptrace

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

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.

Sobreescrevendo a GOT via buffer overflow

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.