Você está na página 1de 10

PenTest é o ato de testar vulnerabilidades e ver até aonde você consegue

chegar efetuando uma exploração, assim simulando um ataque real

dependendo da ocasião.

Existe 3 tipos de PenTest sendo esses

1) Black Box: Simula um ataque real, aonde o profissional só vai ter geralmente

o nome da empresa ou apenas a url do site

2) White Box: O profissional tem conhecimento total do ambiente a ser testado

3) Gray Box: O profissional tem conhecimento parcial do alvo, sabendo talvez

alguns ips e nada mais do que isso.

Nesse exemplo vamos fazer um PenTest em um laboratório simulando um

ataque real.

Baixe e configure os laboratórios:

Windows 7 e Server 2008 ou 2012

Linux de sua preferência, pode ser até mesmo

laboratórios como Metasploitable ou PenTest Lab

Utilize um software de virtualização como desejar, seja vmware ou virtual box

Agora vamos brincar um pouco de PenTest

Temos o nosso cliente X, definimos um contrato comercial e técnico, definimos

também o Escopo, também temos um cronograma e agora vamos efetuar os

testes.

Fase de Reconhecimento
Vamos entrar na parte de reconhecimento que é essencial em um PenTest,

para isso vou utilizar as seguintes ferramentas:

Google Hacking

Bing
Maltegoce

Whois

Recon-ng

TheHaverster

SpiderFoot

Caso seja um website é essencial a utilização dessas ferramentas para levantar

mais informações sobre o alvo e conhecer devidas informações que possam ser

útil futuramente em um PenTest

Podemos efetuar a busca de sistemas operacionais no alvo, para isso você

pode utilizar ferramentas como

Shodan

Censys

Nmap

Assim você pode procurar sistemas dentro de um dominio ou realizar algum

tipo de varredura a procura de saber o serviços e o tipo de sistema operacional

que está sendo utilizado por trás daquele alvo.

Geralmente as empresas que utilizam hospedagem de site já faz com que

descartamos qualquer tipo de varredura no ip do servidor do website, mas

podemos pesquisar mais informações sobre o alvo por meio do Maltegoce e

outras ferramentas de OSINT, para ter alguma informação relevante da

organização e até mesmo achar funcionários que trabalham na empresa para

tentar técnicas de comprometimento por meio de engenharia social.

Mandando e-mails para o RH, funcionários e até mesmo alguém do TI de uma

forma que ninguém desconfie que é um e-mail falso, assim você pode utilizar

de IP Logger para ter acesso ao ip da vítima ou até mesmo acesso aos tipos de

serviços que ela utiliza.


Por isso a parte de reconhecimento é essencial para que você possa ter mais

de uma possibilidades de comprometimento na hora da exploração, então

quanto mais informações você obter e realizar reconhecimento de formas mais

profundas, ai sim, fica mais fácil de analisar um ambiente e explorar mais

ainda.

Consulte no Github as ferramentas de OSINT e de Footprinting para você

efetuar analises com outras ferramentas.

https://osintframework.com/

https://github.com/search?q=osint

https://securitytrails.com/blog/top-20-intel-tools

Varredura e Enumeração
Então na hora de realizar uma varredura para buscar informações do alvo, seja

serviços de rede, sistema operacional, tipo de máquina se é um servidor ou

uma máquina comum, quais portas estão abertas e para qual finalidade

geralmente é utilizado aquele servidor e os mecanismos de segurança por trás.

Então usando um Nmap com comandos mais avançados e tentativas de utilizar

pacotes fragmentados para coibir um firewall e afins.

Então geralmente utilizado ferramentas como Nmap ou Nikto, você consegue

obter informações do alvo caso seja um host ou uma rede ou e até mesmo um

website.

https://hkh4cks.com/blog/2018/01/22/common-enumeration-

tools/

Você pode fazer a enumeração que é a fase crucial antes da exploração que

permite

•Nomes de usuários, nomes de grupos


•Nomes de host

•Compartilhamentos e serviços de rede

•Tabelas IP e Tabelas de Roteamento

•Configurações de serviço e configurações de auditoria

•Aplicativo e banners

E você pode enumerar serviços como por exemplo:

1.Enumeração NetBios

2.Enumeração SNMP

3.Enumeração LDAP

4.Enumeração NTP

5.Enumeração SMTP

6.Enumeração DNS

7.Enumeração do Windows

8.Enumeração UNIX / Linux

Para mais detalhes: https://resources.infosecinstitute.com/what-is-

enumeration/#gref

Exploração
Agora vamos para a parte de exploração, assim depois de reunir o maior

número de informações o momento de comprometer um sistema é agora.

Caso o sistema seja um Windows, recomendo:

1.Procurar brechas no sistema alvo, geralmente a versão

do sistema pode conter exploits que explora algum serviço


vulnerável, exemplo: Windows 7 (Eternalblue e Bluekeep),

realizando uma breve varredura do alvo você vai saber se

tem ou não vulnerabilidade.

2.Verificar o tipo de softwares que o alvo utiliza, exemplo:

Uma versão do adobe reader vulnerável, uma versão java

vulnerável, falta de aplicações de patches, algum serviço

de rede sem nenhuma configuração, versão de pacote

office e até mesmo softwares utilizados constantemente

3.Analisar a forma que o usuário leva a sério a segurança,

assim você pode gerar um payload malicioso para infectar

o alvo e comprometer o sistema operacional dele

4.Caso tenha conhecimentos avançados você pode tenta

explorações mais profunda como um Buffer Overflow.

https://github.com/yeyintminthuhtut/Awesome-Advanced-

Windows-Exploitation-References

https://www.youtube.com/watch?v=fgoZcGtT6SY

https://www.youtube.com/watch?v=tFoXTeABfHE

https://www.youtube.com/watch?v=CBTlIluX41w

https://www.youtube.com/watch?v=y_zCF0q2KRY

https://www.youtube.com/watch?v=4QCA8smosjA

https://www.youtube.com/watch?v=v3xn9MDmTaY
https://www.youtube.com/watch?v=T9zOl9Vcsn0

https://www.youtube.com/watch?v=H2ZTTQX-ma4

https://www.youtube.com/watch?v=59_gjX2HxyA

Caso seja um Linux, recomendo:

1.Procurar brechas no sistema, seja uma vulnerabilidade

no kernel que permite comprometer o sistema

2.Fazer a varredura no sistema a procura de serviços e

portas abertas para efetuar uma varredura e procurar

vulnerabilidades, por exemplo: Se a porta 21 que é a de

FTP estiver aberta que esteja rodando um serviço de

VSFTPD, você pode efetuar uma varredura mais profunda

para verificar se esse serviço tem alguma vulnerabilidade

ou você pode pegar só a versão do serviço e procurar um

exploit para explorar tal vulnerabilidade

3.Analisar a forma que o usuário leva a sério a segurança,

se ele fez as mitigações de riscos no sistema ou não, além

dos mecanismos de segurança que ele implementou e as

regras de firewall

4.Efetuar a explorações mais avançadas como Buffer

Overflow e tentar comprometer o alvo de alguma maneira.

https://www.youtube.com/watch?v=_LtZ0w_X1bE
https://www.youtube.com/watch?v=ZLCbp0BcUDQ

https://github.com/SecWiki/linux-kernel-exploits

https://github.com/xairy/linux-kernel-exploitation

https://www.hackingarticles.in/ftp-penetration-testing-on-

ubuntu-port-21/

https://www.hackingarticles.in/ssh-penetration-testing-port-22/

https://github.com/RustyShackleford221/OSCP-Prep

https://www.hackingarticles.in/ftp-service-exploitation-

metasploitable-3/

Pós Exploração
A pós exploração é necessário quando você consegue uma shell com poucos

privilégios ou até mesmo limitada, então para isso é necessário realizar

técnicas para realizar bypass dessas limitações, vamos conhecer?

Windows

•Procure métodos para explorar o WindowsUAC e garantir

acesso administrativo

•Migrar de uma simples shell para um Meterpreter

•Enumerar processos e migrar um processo para outro

•Quebrar a senha de usuários windows

•Utilizar o powershell para uma exploração mais eficiente


https://github.com/swisskyrepo/PayloadsAllTheThings/blob/mas

ter/Methodology%20and%20Resources/Windows%20-

%20Privilege%20Escalation.md

https://medium.com/@rahmatnurfauzi/windows-privilege-

escalation-scripts-techniques-30fa37bd194

Linux

•Procure métodos para explorar o chroot ou para adquirir

acesso root ao sistema

•Procure métodos para realizar o bypass de uma shell

limitada

•Quebrar a senha de usuários linux

•Enumerar informações do sistema

https://payatu.com/blog_12

https://github.com/swisskyrepo/PayloadsAllTheThings/blob/mas

ter/Methodology%20and%20Resources/Linux%20-%20Privilege

%20Escalation.md

Esses são alguns conceitos de pós exploração, mas geralmente em um PenTest

só tendo uma shell já é necessário para colocar em um relatório, porém é mais

engraçado quando você consegue explorar mais ainda o sistema.

Relatório
Algumas ferramentas geram uma relatório e outras você precisa gerar por você

mesmo, outros utilizando o comando script para gerar relatórios dos comandos
digitados e outros até mesmo utilizam ferramentas do próprio kali como o

Dradis

Eu recomendo a utilização do Dradis por ser uma ferramenta ótima para

registrar o seu PenTest e gerenciar os relatórios, seja de linha de tempo como

até mesmo o final.

Em um relatório é necessário

1.No inicio é necessário colocar o título, requerente,

profissionais, data da realização dos testes

2.Inserir o Sumário do teste, sobre padrões e normas e até

mesmo um pouco sobre a equipe

3.Introdução do relatório é necessário colocar informações

das metodologias usadas, escopo e o contexto do PenTest

4.Depois catalogar as ameaças de nivel, informativa,

baixa, media, alta e crítica

5.Inserir as informações separadas pela parte de

reconhecimento, varredura, exploração e pós exploração e

catalogar o nível de cada um

6.Colocar as ferramentas utilizadas para cada método e

quem testou

7.Fazer um relatório menos técnico, mais resumido, com

gráficos e conceitos mais leigos para apresentar ao

pessoal que não entende muito da área.


Esse é o básico de um relatório, mas recomendo consultar mais informações de

como montar um relatório de PenTest.

Você também pode gostar