Engenharia Reversa

Tutorial de Game Hacking utilizando Cheat Engine

| Categorias: easy

Abordaremos neste artigo sobre os princípios fundamentais sobre Game Hacking, ensinando como utilizar o Cheat Engine, um programa clássico para mudar aspectos de um jogo a seu favor.

Sobre Processos

Antes de tudo, é bom deixar bem definido sobre o que é um jogo para o computador. Ao abrirmos qualquer programa executável, o sistema operacional cria um novo processo para rodar este programa. Um Processo é, portanto, uma tarefa em execução no computador. Podem ter múltiplos processos rodando ao mesmo tempo, sendo em janelas ou em plano de fundo, e pode se criar vários processos de um mesmo programa.

Modern Binary Exploitation: Laboratório de Engenharia Reversa

| Categorias: easy

Olá! Nesse post, resolveremos o primeiro laboratório do Modern Binary Exploitation da RPISEC que aborda a Engenharia Reversa. Caso tenha interesse no assunto, temos diversos posts no blog que abordam o tema, basta acessar a tag!

Laboratório 01

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. Além disso, você acessa o challenge mediante ao usuário do respectivo desafio. Portanto, começando no C, o seu objetivo é exploitar o desafio para spawnar o terminal logado no usuário da próxima challenge e pegar a senha dele (que está em /home/labXX/.pass).

Write Up do Desafio Try me Out

| Categorias: Hard

Este foi um dos desafios inclusos no CTF da H2HC 2023. Para resolver esse desafio de forma mais elegante, é necessário observar os procedimentos matemáticos realizados e perceber suas relações com um algoritmo de decomposição de matrizes bem conhecido.

Entendendo o código

A principal função deste programa é a função verify, que recebe um array de 24 caracteres. Isso dá o tamanho da flag. As variáveis mat1 e mat2 são arrays de arrays, o que é uma notação conhecida para matrizes. Além disso, mat2 é a transposta de mat1. A partir dessas variáveis, são encontradas outras duas, AAT e ATA, também matrizes, e surgem ma multiplicação de mat1 por mat2 e de mat2 por mat1, respectivamente. A função MatMul faz excluisvamente a multiplicação entre matrizes.

Game Hacking: Usando Patching de Maneira Dinâmica Para Modificar Jogos

| Categorias: Medium

Introdução

Você alguma vez já se perguntou se seria possível alterar o código fonte de um jogo à sua maneira e ainda assim continuar jogando? Nesse artigo, vamos modificar um jogo em tempo real em seu nível mais baixo, utilizando assembly, e desenvolver uma modificação simples em python utilizando a técnica de patching de memória.

Antes porém, é possível que você não saiba alguns termos que foram utilizados. Se você está se perguntando o que é assembly afinal, basicamente é uma linguagem que representa de maneira humanamente legível o próprio código de máquina, ou seja, é a linguagem de mais baixo nível possível, onde cada processador possui a sua própria. Instruções em ASM (assembly) são importantes pois conseguimos entender o que um jogo ou um programa qualquer está executando, mesmo após compilado em sua forma final.

CTF series piloto -- IO netgarage

h3ll0, fr13nd. Esse post dá início a série voltada para guias de CTFs e wargames que foram resolvidos por membros do GRIS.

Mas o que é um CTF ou wargame?

Os capture the flags (CTFs) e wargames são ótimas formas de testar conhecimento na área da segurança. Nesses desafios temos aplicações projetadas com vulnerabilidades disponíveis para que a comunidade coloque em prática aquilo que foi estudado.

O intuito das postagens sobre esses desafios não é fornecer respostas, mas guiar o leitor através da linha de raciocínio utilizada para resolvê-los . Estamos fazendo isso pois é difícil encontrar esse tipo de material em português e, além disso, é uma forma de fornecer a comunidade um pouco daquilo que aprendemos no GRIS.