Como hackear o servidor da empresa?
Neste artigo eu vou demonstrar como obter de forma fraudulenta direitos de root
em uma máquina rodando Ubuntu. Não, espere! Leia a seção abaixo antes de ligar para 190.
Aviso importante
Eu não vou dar a você o passo a passo para cometer crimes. Na realidade, no artigo eu vou omitir algum código fonte de forma a garantir que ninguém fique tentado a exercitar este experimento nos servidores da empresa onde trabalha.
De qualquer forma, com este texto eu quero enfatizar a importância de manter os servidores sempre, repito, SEMPRE, vou dizer novamente, SEMPRE, atualizados com os patches de segurança disponíveis.
Nos créditos e agradecimentos do final, eu cito o nome do pesquisador que encontrou a falha de segurança e a CVE relacionada. Com estes dados em mãos, qualquer pessoa minimamente qualificada é uma ameaça.
Repito, além de mim qualquer um dos funcionários da empresa que possuir um inglês mediano pode pesquisar sobre o assunto e será capaz de obter direitos de root
nos servidores (se estes servidores não estiverem atualizados).
Vamos começar pela conclusão?
Iremos comprovar nas próximas seções que um usuário comum consegue acesso de superusuário explorando uma falha de segurança no utilitário sudo
. Na realidade, qualquer pessoa com acesso à internet e algum conhecimento técnico é capaz de reproduzir o ataque que eu demonstrarei a seguir.
Se você não tem certeza sobre a situação das máquinas sob sua responsabilidade, saia do banho agora e vai correndo (pelado mesmo) executar a atualização dos seus servidores e imagens Docker.
Destaco que após a atualização [2] do sudo
para a versão 1.9.15p5-3ubuntu5.24.04.1
eu confirmei que a versão atualizada NÃO é susceptível ao ataque demonstrado neste artigo. Por fim:
- Todos nós precisamos ser pró-ativos e vigilantes no mundo virtual. E adotar práticas recomendadas, como atualização de patches de segurança, acompanhamento e monitoramento de eventos de segurança e prática contínua de segurança defensiva;
- Avalie os logs e busque o uso de
runchroot=
ouCHROOT=
; - Avalie seu arquivo
sudoers
.
Elevação de privilégios com sudo chroot
O utilitário sudo
é uma ferramenta de linha de comando de sistemas Linux que permite que um usuário autorizado execute um comando como superusuário ou como outro usuário, conforme especificado pela política de segurança. É usado em um modelo de privilégios mínimos, delegando tarefas administrativas que exigem privilégios elevados sem compartilhar a senha root
.
As informações sobre a falha de segurança e sobre os métodos de exploração ainda são quentíssimas. Em português, os artigos são todos de Julho de 2025, tageados como Risco Iminente
. Nestes artigos somos informados que:
O CVE-2025-32463 foi introduzido na versão v1.9.14 (junho de 2023) com a atualização do código de tratamento de correspondência de comandos quando o recurso chroot é usado.
Também:
O problema afeta as versões do sudo entre 1.9.14 e 1.9.17, e foi confirmado em distribuições como Ubuntu 24.04.1 e Fedora 41 Server.
Eu mesmo explorei a falha usando Ubuntu 24 LTS.
normalzinho@maquina:/$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.2 LTS"
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
sudo --version
[...]
Sudoers I/O plugin version 1.9.15p5
Sudoers audit plugin version 1.9.15p5
Por que isto é relevante?
É sério? EU CONSIGO VIRAR O ROOT NO SEU SERVIDOR SE EU TIVER ACESSO AO SHELL DA MÁQUINA!
Note que meu usuário, o normalzinho, não tem direitos de root. Ele não está no arquivo sudoers
, nem nada sofisticado que você possa imaginar:
normalzinho@maquina:/$ sudo -l
[sudo] password for normalzinho:
Sorry, user normalzinho may not run sudo on 3cfd15957d74.
A invasão
A falha de segurança que estamos explorando recebeu o código CVE-2025-32463. O problema surge ao permitir que um usuário sem privilégios invoque chroot() em um caminho com direitos de escrita sob controle do usuário malicioso (diretório não confiável).
Este lab consiste na execução de um código PoC em um servidor Ubuntu 24.04.2 LTS com sudo
v1.9.15p5, usando um usuário sem privilégios e sem regras sudo
definidas que resulta em um shell root fora do ambiente chrooted.
O que eu fix fou:
- usando a informação contida na descrição da falha feita pelas pessoas envolvidadas em sua correção;
- eu criei o meu "Abra Cadabra" que você pode ver em uso abaixo.
Ele consiste em um pouco de C
, um pouco de BASH
, mas nada realmente complexo ou difícil de entender. E, adivinha? Ele funciona e é capaz de me dar direitos de root
. Direitos que, vou dizer de novo, eu NÃO DEVERIA TER! [1]
normalzinho@maquina:~$ whoami
normalzinho
normalzinho@maquina:~$ ./Abra_Cadabra.sh
boom!
root@maquina:/# whoami
root
Para você entender melhor o ambiente usado, anexo abaixo o Dockerfile da imagem que foi usada para os testes deste laboratório.
# ################################################################################
# Copyright (c) 2025 Claudio André <portfolio-2025br at claudioandre.slmail.me>
# ___ _ ___ _
# ( _`\ ( )_ /'___) (_ ) _
# | |_) ) _ _ __ | ,_)| (__ _ | | (_) _
# | ,__/'/'_`\ ( '__)| | | ,__)/'_`\ | | | | /'_`\
# | | ( (_) )| | | |_ | | ( (_) ) | | | |( (_) )
# (_) `\___/'(_) `\__)(_) `\___/'(___)(_)`\___/'
#
# This program comes with ABSOLUTELY NO WARRANTY; express or implied.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, as expressed in version 2, seen at
# https://www.gnu.org/licenses/gpl-2.0.html
# ################################################################################
# Dockerfile usado para explorar a CVE-2025-32463
# More info at https://github.com/portfolio-2025br/sudo-cve-062025
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Prepare the environment
RUN apt-get update -y \
&& apt-get install -y --no-install-recommends \
gcc=* libc6-dev=* ca-certificates=* libnss3-tools=* \
sudo=1.9.15p5-3ubuntu5 \
&& mkdir /www
# Clean up
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
# ==================================================================
# Setup
# ------------------------------------------------------------------
ARG GID=1001
ARG UID=1001
ARG USERNAME=normalzinho
RUN groupadd -g ${GID} -o "${USERNAME}" \
&& useradd -m -u ${UID} -g ${GID} -o -s /bin/bash -p $(openssl passwd -1 123456) -l "${USERNAME}"
USER $USERNAME
HEALTHCHECK NONE
Agradecimentos e créditos
A vulnerabilidade CVE-2025-32463 (Sudo chroot Elevation of Privilege) foi descoberta por Rich Mirch, da Stratascale Cyber Research Unit. A equipe da Stratascale também agradece ao mantenedor do Sudo, Todd Miller, pela parceria.
Apêndice
[1] Falha de segurança explorada no Ubuntu 24 LTS
Um ataque cracker bem sucedido realizado pelo usuário normalzinho
. Eu não sei a senha do root desta máquina (lembre-se, é Ubuntu, o root
tem uma senha aleatória e/ou a conta root está bloqueada por padrão).
Se você precisa criar sua própria ferramenta para explorar esta falha, pesquise sobre a CVE e seu descobridor. Leia o material relevante que aparecer. Em poucas horas você irá obter todas as informações para hackear computadores usando esta técnica.
[2] Mantenha sempre atenção aos detalhes
Note como os números de versão não são fáceis de distinguir:
Versão Situação
1.9.15p5-3ubuntu5 Vulnerável
1.9.15p5-3ubuntu5.24.04.1 OK