Em um PenTest temos algumas fases ao qual realizamos o nosso teste, dependendo do nosso escopo em relação a pós exploração, com certeza vamos ter que realizar uma escalação de privilégio, porém esse é um dos maiores problemas que alguns profissionais possuem sobre pós exloração, principalmente na questão de escalar privilégios.
Nesse artigo, vou focar mais em trazer materiais e conteúdos que você pode estudar para aprimorar suas técnicas em escalação de privilégios, mas antes vamo pegar mais detalhes desse conceitos?
Conceito de PrivEscalation
Wikipédia:
Escalonamento de privilégios é o ato de explorar um bug, falha de design ou supervisão de configuração em um sistema operacional ou aplicativo de software para obter acesso elevado a recursos que normalmente são protegidos de um aplicativo ou usuário.
A maioria dos sistemas de computador é projetada para uso com várias contas de usuário, cada uma delas com habilidades conhecidas como privilégios . Os privilégios comuns incluem visualização e edição de arquivos ou modificação de arquivos do sistema.
O escalonamento de privilégios significa que um usuário recebe privilégios aos quais não tem direito. Esses privilégios podem ser usados para excluir arquivos, exibir informações privadas ou instalar programas indesejados, como vírus. Geralmente ocorre quando um sistema tem um bug que permite que a segurança seja contornada ou, alternativamente, tem suposições de design incorretas sobre como ele será usado. O escalonamento de privilégios ocorre de duas formas:
- Escalonamento de privilégio vertical , também conhecido como elevação de privilégio , em que um usuário ou aplicativo de privilégio inferior acessa funções ou conteúdo reservado para usuários ou aplicativos de privilégio superior (por exemplo, usuários de Internet Banking podem acessar funções administrativas do site ou a senha de um smartphone pode ser ignorada.)
- Escalonamento horizontal de privilégios , em que um usuário normal acessa funções ou conteúdo reservado para outros usuários normais (por exemplo, o usuário A do Internet Banking acessa a conta bancária do usuário B na Internet)
Escalação Vertical:
Esse tipo de escalonamento de privilégios ocorre quando o usuário ou processo é capaz de obter um nível de acesso mais alto do que o pretendido por um administrador ou desenvolvedor de sistema, possivelmente executando operações em nível de kernel.
Escalação Horizontal:
A escalação horizontal de privilégios ocorre quando um aplicativo permite que o invasor obtenha acesso a recursos que normalmente estariam protegidos de um aplicativo ou usuário . O resultado é que o aplicativo executa ações com o mesmo usuário, mas com contexto de segurança diferente do pretendido pelo desenvolvedor do aplicativo ou administrador do sistema ; esta é efetivamente uma forma limitada de escalonamento de privilégios (especificamente, a suposição não autorizada da capacidade de se passar por outros usuários).
https://en.wikipedia.org/wiki/Privilege_escalation
Os invasores que tentam realizar ações não autorizadas e obter privilégios de alto nível costumam usar os chamados exploits de escalonamento de privilégios. Exploits são pedaços de código com o objetivo de liberar uma determinada carga útil. A carga útil se concentrará em uma fraqueza conhecida no sistema operacional ou nos componentes de software. A execução da exploração de escalonamento de privilégios permitirá posteriormente que eles roubem ou danifiquem dados, interrompam operações ou configurem a persistência na rede para realizar outros ataques.
Técnicas para escalar privilégios
Existem inúmeras técnicas para você escalar privilégios, muitas delas são bastante avançadas e requer até mesmo conhecimentos em programação ou até mesmo do próprio Sistema Operacional para assim realizar.
Por isso eu recomendo que você pegue uma base antes, pois assim na hora de realizar uma pós exploração você saiba pegar as informações mais cruciais!
Algumas meios bastante utilizadas para realizar PrivEscalation são:
- Informações do Sistema Operacional
- Aplicações e Serviços
- Comunicação de redes
- Informações confidenciais de usuários e suas permissões
- Sistema de arquivos
- Localização de ferramentas que auxiliam na exploração (Ex: Python instalado na máquina)
https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
Quando se fala em técnicas para Escalar Privilégios, as mais comuns são:
Linux:
- Kernel exploits
- Programs running as root
- Installed software
- Weak/reused/plaintext passwords
- Inside service
- Suid misconfiguration
- Abusing sudo-rights
- World writable scripts invoked by root
- Bad path configuration
- Cronjobs
- Unmounted filesystems
Windows:
- Stored Credentials
- Windows Kernel Exploit
- DLL Injection
- Unattended Answer File
- Insecure File/Folder Permissions
- Insecure Service Permissions
- DLL Hijacking
- Group Policy Preferences
- Unquoted Service Path
- Always Install Elevated
- Token Manipulation
- Insecure Registry Permissions
- Autologon User Credential
- User Account Control (UAC) Bypass
- Insecure Named Pipes Permissions
Essas são as principais técnicas que você pode utilizar para escalar privilégios, existem inumeras outras que são mais avançadas e você pode obter mais informações sobre ela no próprio Mitre Attack.
https://attack.mitre.org/tactics/TA0004/
Podemos enquadrar essas técnicas no conceito mais eficiente chamado Cyber Kill Chain, seu conceito, cadeia de mortes (traduzido) foi originalmente usado como um conceito militar relacionado à estrutura de um ataque; consistindo na identificação do alvo, forçar o despacho no alvo, decisão e ordem para atacar o alvo e, finalmente, a destruição do alvo.
Mais informações: https://www.proof.com.br/blog/o-que-e-cyber-kill-chain/
https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html
Ferramentas e conceitos de exploração para escalar privilégios
Para auxiliar nos seus estudos sobre Escalação de Privilégios e até mesmo Pós Exploração, estou deixando um e-book que eu mesmo desenvolvi, além de inúmeros materiais que você pode utilizar.
Meu e-book: https://drive.google.com/file/d/1Lt-6Pwwxoe2xGK4QcKt4ySCZvELLv1wl/view?usp=sharing
Escalação de Privilégio no Linux:
Conteúdos
https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS
https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
https://sushant747.gitbooks.io/total-oscp-guide/content/privilege_escalation_-_linux.html
https://medium.com/schkn/linux-privilege-escalation-using-text-editors-and-files-part-1-a8373396708d
https://medium.com/@liau.weijie/privilege-escalation-on-linux-platform-8b3fbd0b1dd4
https://book.hacktricks.xyz/linux-unix/privilege-escalation
https://github.com/frizb/Linux-Privilege-Escalation
https://github.com/Ignitetechnologies/Privilege-Escalation
https://github.com/Gr1mmie/Linux-Privilege-Escalation-Resources
https://github.com/Kan1shka9/Linux-Privilege-Escalation
https://github.com/1N3/PrivEsc
https://github.com/Kabot/Unix-Privilege-Escalation-Exploits-Pack
https://github.com/frizb/Linux-Privilege-Escalation
https://github.com/rebootuser/LinEnum
https://github.com/SecWiki/linux-kernel-exploits
https://github.com/xairy/linux-kernel-exploitation
https://github.com/xairy/kernel-exploits
https://github.com/lucyoa/kernel-exploits
https://github.com/bcoles/kernel-exploits
https://github.com/ngalongc/AutoLocalPrivilegeEscalation
https://github.com/Gr1mmie/Linux-Privilege-Escalation-Resources
https://www.secjuice.com/tryhackme-common-linux-privilege-escalation/
https://securism.wordpress.com/oscp-notes-privilege-escalation-linux/
https://null-byte.wonderhowto.com/how-to/get-root-with-metasploits-local-exploit-suggester-0199463/
Videos
https://www.youtube.com/watch?v=bDjiTnBtp88&ab_channel=PentesterAcademyTV
https://www.youtube.com/watch?v=Ia6OJAP-KS0&ab_channel=SecurityObscurity
https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA
Curso Udemy
https://www.udemy.com/course/linux-privilege-escalation/
https://www.udemy.com/course/linux-privilege-escalation-for-beginners/
Escalação de Privilégios no Windows:
Conteúdos
https://sushant747.gitbooks.io/total-oscp-guide/content/privilege_escalation_windows.html
https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS
https://github.com/itm4n/PrivescCheck
https://github.com/PowerShellMafia/PowerSploit
https://www.peerlyst.com/posts/powershell-for-exploitation-and-post-exploitation-david-dunmore
https://github.com/enjoiz/Privesc
https://medium.com/bugbountywriteup/privilege-escalation-in-windows-380bee3a2842
https://medium.com/@rahmatnurfauzi/windows-privilege-escalation-scripts-techniques-30fa37bd194
https://www.offensive-security.com/metasploit-unleashed/privilege-escalation/
https://medium.com/@cmpbilge/privilege-escalation-with-meterpreter-3e3f999d9978
https://github.com/topics/windows-privilege-escalation
https://github.com/M4ximuss/Powerless
https://github.com/togie6/Windows-Privesc
https://github.com/Gr1mmie/Windows-Privilege-Escalation-Resources
https://github.com/rand0m1ze/Privileged
https://github.com/pentestmonkey/windows-privesc-check
https://github.com/1N3/PrivEsc
https://github.com/sagishahar/lpeworkshop
https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse
Videos
https://www.youtube.com/watch?v=C9GfMfFjhYI&ab_channel=Hak5
https://www.youtube.com/channel/UChbH7B5YhXANmlMYJRHpw0g (Zero Day Initiative)
Cursos
https://www.udemy.com/course/windows-privilege-escalation/
Dicas
Para escalar privilégios você precisa pensar um pouco fora da caixa, por isso, ferramentas de enumeração do sistema são essências, pois elas vão te dar uma visibilidade maior dos caminhos que podem ser úteis para você ir de uma simples shell para uma shell administrativa. Por isso, ser pesquisador é essêncial principalmente pelo fato de você procurar meios de elevar seus privilégios de forma diferenciada, por exemplo: Já pensou em escalar privilégios via Docker?
https://medium.com/@Affix/privilege-escallation-with-docker-56dc682a6e17
https://www.hackingarticles.in/docker-privilege-escalation/
https://github.com/KrustyHack/docker-privilege-escalation
Perceba que quanto mais você conhecer de conceitos básicos, entender como o S.O administra suas permissões, conceitos básicos de linguagem programação, você entendendo de PowerShell e Bash componentes nativos do sistema, com certeza sua pós exploração vai melhorar.
Laboratórios:
- Hackthebox
- TryHackMe
- Proving Ground & VulnHub
- Lab PenTest Brasil
São alguns dos laboratórios que eu acho bem bacana de se brincar, principalmente pelo fato de ter máquinas com propósitos de ir além de uma simples shell reversa, mas escalar privilégios para conseguir obter uma flag. Quando se fala de criatividade o Hack The Box tem muitas boxs que são excepcionais para brincar de Priv Escalation, por isso eu recomendo!
Conclusão
Portanto, eu recomendo que você explore, monte laboratório, estude peças fundamentais e desenvolva suas habilidades em pós exploração, tem muitos cursos bons tanto aqui como fora do Brasil, além disso, seja um Try Harder e pense fora da caixa, se você busca OSCP com certeza Priv Escalation é essencial para você, pois é cobrado na prova.
Views: 1818