Skip to content

cybersec-utfpr-cm/linpe-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Linux Privilege Escalation Testing Framework

Este arcabouço atua como guia destinado à condução de avaliações de segurança orientadas à identificação de condições que possibilitam ataques de elevação de privilégio em sistemas Linux.

Além de servir como guia operacional, o arcabouço também tem o intuito de contribuir para a formação técnica do profissional. No âmbito educacional, o projeto busca fornecer aos profissionais iniciantes uma base conceitual sobre a lógica de como mecanismos do sistema, em determinadas circunstâncias, podem permitir ataques de elevação de privilégio. No âmbito operacional, o arcabouço visa apresentar (a princípio) fluxos para a execução de verificações, de modo a identificar riscos ou vulnerabilidades, funcionando como um guia para avaliações de segurança.

Construção do arcabouço: Modelagem conceitual

O arcabouço foi construído com base em uma modelagem conceitual (inspirada em ontologia) sobre técnicas de elevação de privilégio em sistemas Linux. A modelagem categorizou esse tema em duas classes principais: contexto privilegiado e técnicas de elevação de privilégio específicas.

A classe contexto privilegiado reúne os mecanismos que podem conceder capacidades especiais a usuários, arquivos ou processos. Exemplos incluem permissões especiais e delegações de privilégios via sudo. Cada subclasse do contexto privilegiado apresenta um desses mecanismos e expõe os riscos associados à sua configuração inadequada.

A classe técnicas de elevação de privilégio específicas representa os vetores concretos que, combinados a condições previamente identificadas no contexto privilegiado, permitem um ataque de elevação de privilégio bem-sucedido. Cada técnica depende de uma ou mais subclasses de contexto privilegiado e de um conjunto adicional de requisitos específicos para viabilizar um ataque.

Estrutura do arcabouço

Esta seção mostra a estrutura que cada página do arcabouço deve conter. Além disso, é descrito que tipo de conteúdo espera-se que haja em cada seção.

Pré-requisitos

Esta seção elenca, em forma de lista, alguns assuntos fundamentais sobre sistemas operacionais cujo conhecimento prévio é necessário para o pleno entendimento da página de modo geral.

Explicações conceituais

Esta seção busca mostrar o funcionamento da técnica de elevação de privilégio em questão. O objetivo é descrever como a exploração de vulnerabilidades permite a elevação de privilégio.

Instruções práticas

Esta seção contempla os guias práticos que consistem em sequências de instruções, incluindo o uso de ferramentas/comandos, de modo a permitir ao administrador avaliar de forma objetiva aspectos de segurança do sistema.

Atualmente, o que compõe a seção de Instruções Práticas é apenas um guia respectivo a cada classe, ou seja, dois possíveis guias. Esses dois guias são sutilmente diferentes entre si em relação a suas estruturas, mas seus objetivos variam substancialmente de acordo com a classe em questão. Para a classe contexto privilegiado, o guia atual visa avaliar potenciais riscos associados à más configurações. Para a classe técnicas de elevação de privilégio específicas, o guia atual visa verificar a presença de uma vulnerabilidade concreta que permite um ataque de elevação de privilégio bem-sucedido.

{% hint style="info" %} No parágrafo acima utilizou-se o termo "atual", pois espera-se que, no futuro, hajam outros guias para compor a seção Instruções Práticas. Por exemplo, um guia para mitigação de vulnerabilidades que trate de boas práticas e forneça instruções para melhorar a segurança do sistema em relação à elevação de privilégios. {% endhint %}

As estruturas do guia para avaliação de risco e do guia para verificação de vulnerabilidade são muito semelhantes. Por isso, ambas serão apresentadas juntas a seguir.

Guia para avaliação de risco & Guia para verificação de vulnerabilidade

O guia para avaliação de risco apresenta verificações direcionadas exclusivamente a identificar más configurações do mecanismo em si, sem análise de explorabilidade específica. O propósito é avaliar configurações que podem sinalizar algum grau de risco.

Já o guia para verificação de vulnerabilidade apresenta uma sequência de instruções cujo objetivo é identificar a presença de uma vulnerabilidade específica em sistemas Linux que permita um ataque de elevação de privilégio. Para esse guia, essas instruções podem envolver, quando necessário para fins de confirmação técnica, a exploração controlada da falha como prova de conceito.

Ambos os guias são compostos por etapas de verificação. Cada etapa de verificação contém os seguintes elementos:

  • Objetivo (o que verificar): descrição sucinta sobre o que será verificado nesta etapa; já nos guias para verificação de vulnerabilidade, o que será verificado é um aspecto/estado/configuração do sistema que viabilize essa etapa do processo de exploração através da técnica de EP em questão;
  • Motivo (por que verificar): descrição sobre por que essa verificação deve ser feita;
  • Método (como verificar): comandos ou instruções operacionais (textuais) para efetivamente identificar o que se busca;
  • Indicadores de risco (opcional): lista de aspectos com potencial de risco em relação ao que pode ser descoberto durante a verificação. Este elemento está presente apenas em guias para avaliação de risco.

Referências

Seção com lista de fontes usadas para a elaboração do material, bem como recomendações para estudo aprofundado.

About

Guide for conducting security assessments focused on identifying conditions that enable privilege escalation in Linux systems.

Topics

Resources

Stars

Watchers

Forks