Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
gitlab-rce-demo — Demo autossuficiente para RCE no GitLab que explora duas falhas de corrupção de memória em Ruby no parser Oj por meio da renderização de diffs de notebooks. | Kitploit
Ferramentas/GitHubGitHub/wupco/gitlab-rce-demo
ExploraçãoExploração de Aplicações WebExploração de BináriosLabs e Prática
GitHubwupco/gitlab-rce-demo

gitlab-rce-demo

Demo autossuficiente para RCE no GitLab que explora duas falhas de corrupção de memória em Ruby no parser Oj por meio da renderização de diffs de notebooks.

Ver Repositório
94221há 26 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Demo de RCE do GitLab Oj

Este repositório contém uma demo autocontida para a cadeia de RCE de notebook-diff do GitLab descrita em nossa pesquisa. Ele inicia um novo container GitLab 18.11.3, cria um usuário comum por meio da interface HTTP pública e executa o PoC contra essa instância.

Detalhes técnicos: Indo a fundo: alcançando RCE no GitLab por meio de duas vulnerabilidades de corrupção de memória em Ruby

Requisitos

  • Linux em x86-64 (amd64)
  • Docker Engine com Docker Compose v2
  • Bash, Python 3, curl, Git, iproute2 e netcat

Execute a demo

Primeiro, crie um novo ambiente GitLab:

root@kitploit:~
./setup_env.sh

Isso remove o container da demo anterior e seus volumes, inicia o GitLab, aguarda até que ele fique pronto e provisiona um usuário comum. A inicialização de um GitLab novo pode levar vários minutos.

Abra dois terminais. Inicie o listener de callback no primeiro terminal:

root@kitploit:~
./run_poc.sh listen 4555

Execute o exploit no segundo terminal:

root@kitploit:~
./run_poc.sh exploit 4555

Quando o callback chegar, alterne para o terminal do listener e execute comandos como id ou whoami. O tempo de busca do ASLR varia entre execuções.

Execução da demo com sucesso

Como funciona

O GitLab renderiza diffs de notebooks Jupyter ao passar JSON controlado pelo repositório para o Oj, um parser JSON nativo em Ruby. A cadeia combina dois bugs do parser: um corrompe o estado do parser e acaba controlando um ponteiro de callback, enquanto o outro revela um ponteiro de heap usado para restringir a busca do ASLR. O PoC carrega uma tabela de consulta pré-computada, encontra o layout correspondente da biblioteca por meio de requisições HTTP normais ao GitLab e faz o worker do Puma se conectar de volta ao listener como o usuário git.

Use esta demo apenas no ambiente de laboratório local incluído.

Baixar ferramenta