Entendendo Android Intents Através de Desafios CTF

Nesse artigo, a ideia é explorar e entender um pouco mais a superfície de ataque de aplicativos Android, para além do que é comumente visto em desafios CTF por aí. Geralmente espera-se um foco exclusivo em engenharia reversa ou até mesmo em testes de APIs para resolver desafios de Android. No entando, a superfície de ataque na vida real vai muito além de desfazer um XOR e encontrar uma flag pelo código decompilado....

April 9, 2025 · 7 min · 1298 words · ruhptura

Resolvendo challenges de CTF usando Z3

Isso é um writeup de 2 challenges do PlaidCTF 2025 que podiam ser resolvidos usando Z3! O primeiro challenge é um de criptografia chamado excav8. O segundo é um challenge de engenharia reversa chamado Fool's Gulch. Excav8 Como o próprio nome diz, ele tem sim algo relacionado com V8. Esse é o arquivo chall.py fornecido pelo desafio: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import subprocess secret = open('secret....

April 9, 2025 · 15 min · 3142 words · davi

Heap 0x1

Introdução Antes de nos aprofundarmos na heap da glibc, vamos dar uma olhada rápida na pilha. Depois disso, poderemos explorar a heap. Na parte 2, vamos abordar a função free e suas bins. A stack Nos sistemas operacionais modernos, cada thread de uma aplicação possui sua própria stack. A stack tem um tamanho fixo, que é alocado pelo sistema operacional e atribuído ao processo quando ele é iniciado. Ela funciona no modelo LIFO e, geralmente, armazena variáveis locais, ponteiros para endereços de retorno, argumentos de funções, etc....

January 28, 2025 · 7 min · 1408 words · davi

Modern Binary Exploitation: Laboratório de pwning

Olá! Nesse post, resolveremos o segundo laboratório do Modern Binary Exploitation da RPISEC que aborda a Corrupção de Memória (ou pwning, para os mais íntimos). Sobre os laboratórios do MBE Todos os laboratórios do curso residem dentro de uma máquina virtual disponibilizada no material através de uma imagem de disco para Ubuntu 14.04, que possui toda a configuração necessária para o Wargame. Os desafios são separados por laboratório e dificuldade, sendo C o mais fácil e A o mais difícil....

January 24, 2025 · 9 min · 1910 words · kitagawa

SekaiCTF 2024 writeup: Blockchain/ZOO

O desafio Autor: snwo Descrição: Welcome to assembly zoo Análise inicial Dando uma olhada no contrato de setup, vemos que o objetivo final é setar a variável isSolved no contrato ZOO para 1. 1 2 3 4 5 6 7 8 9 10 11 contract Setup { ZOO public immutable zoo; constructor() payable { zoo = new ZOO(); } function isSolved() public view returns (bool) { return zoo.isSolved() == 1; } } Logo de cara, ZOO tem alguns pontos interessantes....

September 2, 2024 · 24 min · 5063 words · ottoboni