Quando se fala de teste de intrusão, logo relaciona em invasão e exploração de sistemas operacionais, afinal um teste de intrusão é basicamente encontrar vulnerabilidades em um sistema e depois gerar um relatório explicando o método de exploração e a arma usada para isso.

Mas e se eu pegar um sistema operacional que não possui uma vulnerabilidade conhecida? Como NetApi (WinXP), EternalBlue ou a atual BlueKeep? Ou não achar vulnerabilidades em um determinado software que me permite um acesso remoto ao sistema? Não sabe o que fazer?

Ai que entra o “ADVANCED EXPLOITATION EXPERT” ou “ESPECIALISTA EM EXPLORAÇÃO AVANÇADA” é um cara que vai além, o cara que corre atrás de 0-DAY ou de algum método para manipular tal sistema que possibilite ter acesso a ele, seja criando novos payloads ou algo do gênero.

Mas por onde eu começo a estudar?

1) Entender de Engenharia Reversa é a principal recomendação, pois vai ser ela que permitirá a exploração de um software/aplicação;

2) Para se aprofundar mais nessa questão, é recomendado ter pelo menos os seguintes conhecimentos:

  • Ferramenta: Immunity Debbuger

Links: https://www.immunityinc.com/products/debugger/

https://hsploit.com/immunity-debugger-basics/

  • IDA: Interactive Disassembler

https://www.hex-rays.com/products/ida/

https://en.wikipedia.org/wiki/Interactive_Disassembler

  • Assembly
  • x86 e x64
  • Python Scripting
  • JavaScript
  • C/C++
  • Base Computacional

Vale ressaltar que existe mais itens na lista, porém esse é o essencial pra começar

3) A vontade de aprender e se aprofundar deve estar em primeiro lugar, estudar Engenharia Reversa não é fácil, porém vasto material é que não falta, eu recomendo começar por pequenos casos e ir avançado até chegar nesse post em relação a desenvolvimento de exploit e exploração avançada.

4) Estude casos de técnicas, vou deixar abaixo alguns casos que são usados em cursos de Advanced Exploitation, partindo disso você já consegue ter noção de como é efetuada a exploração de um sistema operacional e suas aplicações também.

  • Estudo do caso CVE-2015-3104, pelo curso AWE da Offensive-Sec

“Usamos a técnica de heap spray  para pulverizar (spray) um grande número de objetos ByteArray e criamos furos no heap (nullifying ) anulando o ByteArray’s para que a nossa alocação vulnerável acabe em um dos buracos criados. Depois que fomos mostrados como obter o acesso de leitura / gravação para o espaço de memória, nós então passamos o ASLR vazando um ponteiro para a dll do NPSWF. Uma vez que ignoramos o ASLR, fomos mostrados como obter execução de código e ignorar a DEP usando cadeias de ROP.”

  • Explorando o Symantec EndPoint Protection

“Isso foi feito através da exploração de uma vulnerabilidade no Symantec Endpoint Protection que foi instalada na VM, após uma exploração bem-sucedida e manobra de shellcode, conseguimos obter um meterpretershell. Também ignoramos o WDEG (Windows Defender Exploit Guard), que é uma substituição do EMET na Atualização de outono do Windows 10 (pois o EMET chegou ao seu suporte de fim de vida útil).”

Estudo avançado, com base em treinamentos de Advanced Windows Exploitation

  • Egghunters
  • DEP and ASLR Bypass
  • Custom Shellcode Creation
  • Unicode Exploitation
  • Windows Kernel Driver Exploitation
  • Precision Heap Spraying
  • Bypassing Control Flow Guard (CFG) e Arbitrary Code Guard (ACG)

OBS: Enquanto estudava um pouco sobre CFG, descobrir que uma maneira de ignorar ele é sobreescrevendo um endereço de retorno na pilha e assumindo o controle do endereço de instrução

  • ROP (Return Oriented Programming Exploitation)
  • Address Space Layout Randomization
  • Flash Player Heap Internals Key Points

OBS: Quando for pesquisar algum conceito, recomendo colocar como palavra chave “BLACK HAT”

Mas e agora? Não tem ideia aonde colocar em prática? Tente esses 3 exercicios/quebra cabeças, mas para isso você deve montar o seu laboratório, afinal estamos falando de algo Advanced não acha?

https://www.exploit-db.com/exploits/12406 = Escalação de privilégio local (Avast)

https://www.exploit-db.com/exploits/18176 = Escalação de privilégio local (WinXP/2003)

https://www.exploit-db.com/exploits/37064 = Escalação de privilégio local (Win8.0/8.1)

Obviamente que as questões não param ai, por isso eu vou deixar um PDF disponibilizado pela Offensive Security com conteúdo do curso AWE

https://www.offensive-security.com/documentation/advanced-windows-exploitation.pdf

E recomendo pelo PDF acima, estudar os casos e exercicios propostos, além disso todo o conteúdo descrito acima é fácilmente achado na internet, especificamente o GOOGLE.

Autor

  • 8 years of academic and professional experience, Cyber Security Analyst, Cyber and Information Security Consultant, Information Security, Ethical Hacking and PenTester, OWASP Member and Researcher, Cybrary Teacher Assistant, Microsoft Instructor, Web Developer, Bug Hunter by HackerOne and OBB, Python Developer, has over +440 technology courses and +42 certifications, SANS Member, CIS Member and Research, Infosec Competence Leader in Security Awareness, Cyber Security Mentor, Writer Professional in Blog and Magazines, Exploit Developer, EC-COUNCIL Voluntary Blog Writer and IT Lover.

Hits: 124