==================
== section .bss ==
==================

blog started by symbol

Encontrando trampolines com GDB

Encontrando trampolines com GDB puro

Caso não use nenhuma extensão no GDB para desenvolvimento de exploits (PEDA, GEF, pwndbg…), ainda é possível fazer muito sem tê-las instalado. Um exemplo é quando é necessário buscar por trampolines para saltar para algum ponto específico em nosso shellcode na memória ou em outro endereço.

O PEDA oferece comandos como jmpcall para encontrar esses trampolines. Mas nós podemos encontrar com GDB puro (ou quase puro, já que necessitaremos da integração GDB/Python que já está disponível na maior parte das distribuições.

Read more...

Fully (auto) interactive TTY shells

Introdução

Durante testes de invasão ou exercícios de red teaming, uma das tarefas mais recorrentes é a obtenção de um shell remoto, seja ele do tipo bind ou reverso. Uma vez explorada alguma vulnerabilidade de injeção de comandos, por exemplo, basta utilizar algum dos snippets já amplamente testados para obter um shell reverso na máquina do atacante.

Normalmente o shell obtido é um shell não-interativo, o que impossibilita a execução de processos que necessitam um maior controle do terminal, tais como editores de texto visuais e programas que lidam com informações de login, por exemplo. Por isso, para poder rodar esses programas, é necessário utilizar um programa que, a partir desse shell, force a alocação de um pseudoterminal (pty) e execute, mediante fork/exec, um novo shell. Esse novo shell herdará a mesma tabela de alocação de arquivos do processo que alocou o pty, podendo assim executar processos interativos.

Read more...

Montando e extraindo shellcodes em Linux

shellcode exploit linux ELF x86

A manipulação de shellcodes é uma atividade essencial na exploração de vulnerabilidades de corrupção de memória. Nesta postagem, veremos como realizar a montagem de shellcodes em ambientes Linux, bem como sua extração a partir de arquivos executáveis.

Instalando as ferramentas necessárias

Antes de começar, vamos instalar as ferramentas necessárias. Em sistemas Debian ou derivados (Kali, Ubuntu, etc), elas estão disponíveis no repositório oficial da distribuição:

sudo apt install build-essential nasm

Criando um shellcode de exemplo

Na arquitetura x86 podemos encontrar o código fonte de shellcodes tanto na sintaxe Intel quanto na sintaxe AT&T. Para demonstrar como lidar com cada situação, vamos criar um shellcode de exemplo que executa um shell POSIX (/bin/sh) em Linux/x86.

Read more...

Falhas em ferramentas de enumeração SMB no Kali 2020.1+

Kali Samba SMB1

A Offensive Security, mantenedora e financiadora da distribuição Kali Linux, tomou a decisão acertada de basear sua distribuição na versão testing da distribuição Debian. Essa relação entre as duas distribuições faz com que os pacotes do Kali derivados do Debian Testing aproveitem de todo o esforço de atualização e segurança que os contribuidores e desenvolvedores Debian colocam no empacotamento e manutenção dos softwares do maior projeto de software livre do mundo.

Read more...
1 of 1