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 conceito?

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://gtfobins.github.io/

https://www.secjuice.com/tryhackme-common-linux-privilege-escalation/

https://pen-testing.sans.org/resources/papers/gcih/attack-defend-linux-privilege-escalation-techniques-2016-152744

https://null-byte.wonderhowto.com/how-to/perform-local-privilege-escalation-using-linux-kernel-exploit-0186317/

https://null-byte.wonderhowto.com/how-to/get-root-with-metasploits-local-exploit-suggester-0199463/

Videos

https://www.youtube.com/watch?v=WgTL7KM44YQ&ab_channel=Conda

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://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/my-5-top-ways-to-escalate-privileges/

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://blog.cobaltstrike.com/2015/02/25/my-favorite-powershell-post-exploitation-tools/

https://www.peerlyst.com/posts/powershell-for-exploitation-and-post-exploitation-david-dunmore

https://medium.com/@int0x33/day-26-the-complete-list-of-windows-post-exploitation-commands-no-powershell-999b5433b61e

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://resources.infosecinstitute.com/category/certifications-training/ethical-hacking/fundamentals-of-exploitation/top-privilege-escalation-techniques-in-windows/#gref

https://www.opswat.com/blog/privilege-escalation-to-system-user-on-windows-10-using-cve-2019-1405-and-cve-2019-1322

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=SHdM197sbIE&ab_channel=WildWestHackin%27Fest

https://www.youtube.com/watch?v=qS9–lTrPes&ab_channel=JesseK

https://www.youtube.com/watch?v=fmRRX7-G4lc&ab_channel=Hak5

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://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.

Visits: 538