NTU Computer Security outono de 2019 - National Taiwan University Computer Security
Atuou como professor assistente na Universidade Nacional de Taiwan e professor no curso Pwn de três semanas.
Conteúdo do curso
Semana 1: Exploração Binária – Básica
- Slide: speakerdeck.com/yuawn/binary-exploitation-basic
- Vídeo: youtu.be/U8N6aE-Nq-Q
- Laboratório:
- bom
- estouro de buffer de pilha, sobrescrever endereço de retorno
- ora
- filtro seccomp syscall, shellcode
- Trabalho de casa:
- Cassino
- acesso ao array oob, sequestro GOT, shellcode
Semana 2: Exploração Binária
- Slide: speakerdeck.com/yuawn/binary-exploitation
- Vídeo: youtu.be/5D7tvxpSUUM
- Laboratório:
- ROP
- ret2plt
- Pratique o uso de funções plt
- ret2libc
- vazamento de informações, ignorar ASLR, praticar a técnica ret2libc
- Trabalho de casa:
- Cassino++
- acesso ao array oob, sequestro GOT, vazamento de libc, função plt de sequestro ret2libc para o sistema ()
Semana 3: Exploração de Heap
- Slide: speakerdeck.com/yuawn/heap-exploitation
- Vídeo: youtu.be/rMqvL9j0QaM
- Laboratório:
- UAF
- Pratique o uso do UAF para vazar endereços e explorar.
- Observação
- ataque duplo gratuito e fastbin
- Nota T
- Trabalho de casa:
- Eleição
- pivotamento de pilha, gadget ret2csu csu
- Nota++
- overflow de byte nulo off-by-one, fastbin dup, forjar tamanho de pedaço para vazar libc, substituir __malloc_hook, um gadget
Desafios do título do curso
- Abaixo
src
de cada semana está o código original da pergunta - Abaixo
exp
de cada semana estão as respostas e explorações de soluções
meio ambientemeio ambiente
- SO: Ubuntu 18.04
- GCC: gcc (Ubuntu 7.4.0-1ubuntu1 ~ 18.04.1) 7.4.0
Construir
cd week1 # week2 week3
docker-compose up -d
Compilar (se você precisar reeditar o binário do título)
sudo apt install libseccomp-dev
make