Skip to content

Killjoybr/relatorio_pentest_vulnweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avaliação Final CS | Relatório do site Vulnweb.com

Escopo

Gerar um relatório de invasão dos sites indexados no vulnweb.com | Teste black-box porém o site oferece conhecimento dos aplicativos rodando em cada endpoint.

Sites:


imagem_dos_sites


Fases:

  • Recon(footprinting + varredura): Coleta de informações sobre o alvo.
  • Enumeração: Identificação de serviços em portas abertas, SO que está sendo utilizado.
  • Exploit: Explorar falhas encontradas no sistema.
  • Relatório: Elaboração deste documento, explicando cada etapa, comandos, tecnologias e resultados com prints.

Relatórios

Visão geral dos Sites

Os sites, por serem de uma empresa focada em soluções de segurança para empresas, fornece exatamente qual tipo de vulnerabilidade e quais são as tecnologias utilizadas em cada endpoint.

Na aba Technologies temos a stack utilizada e na aba Resources podemos encontrar um artigo, da própria empresa, sobre como mitigar ou informações sobre um possível exploit daquele endpoint específico.

Metodologia

Recon

Na fase de reconhecimento foram utilizados os dados do próprio site(vulnweb.com), Google dorks (operações avançadas de busca) exemplo - site:testphp.vulnweb.com +"Index of /admin", pesquisa pelos sites builtwith.com, whois.com e ferramentas de enumeração/exploit automatizadas como: dirb, sqlmap e nmap.

Enumeração

Para identificação dos serviços, IPs, portas abertas e SOs utilizados foi utilizado o NMap, na descrição dos sites temos quais aplicativos estão rodando mas, ainda assim, achei interessante usar essa ferramenta e tirar o máximo dessa atividade prática.

Para enumeração/listagem dos bancos de dados, SGBDs e tabelas, foi utilizado o SQLMap.

Para listagem de diretórios nos websites foi utilizado o DIRB.

Exploit

A ferramenta que se mostrou muito importante para essa fase foi o SQLMap. Uma vez que o foco dessa avaliação era o SQLInjection.

Para os outros sites eu testei algumas ferramentas como XSSer, BEEF e XSRFProbe.

A vulnerabilidade de Cross Site Scripting foi exemplificada com dois prints presentes no diretório a seguir: diretório

Conclusão

Com estes testes podemos perceber como as vulnerabilidades e erros de código, que são simples de se evitar, podem acabar com a confiabilidade de uma empresa ou prejudicar diversas entidades ao mesmo tempo.

Embora as outras ferramentas não me geraram muitos resultados, por falta de conhecimento, estou estudando ativamente para entender mais sobre essas vulnerabilidades e como utilizar as ferramentas adequadamente. O BEEF é uma ferramenta muito robusta e é possível até rastrear pacotes enviados e recebidos pelo browser.

Por fim, para evitar SQLInjection podemos utilizar queries com parametros e validar a entrada do usuário. Possuo exemplificação em código de uma API que desenvolvi em 2023.

Exemplo de uma query bem construída utilizando node.js e javascript:

Com biblioteca:

const encontrarClientePorEmail = async (email) => {
	const clienteEncontrado = await knex('clientes').where({ email }).first();

	return clienteEncontrado;
};

Sem biblioteca:

const cadastrarUsuario = async (request, response)=>{
    const { nome,email,senha } = request.body;
   
    const { rowCount } = await pool.query(`select email from usuarios where email = $1`,[email]);

    const { rows } = await pool.query(
        `insert into usuarios (nome,email,senha) values ($1,$2,$3) returning *`,
        [nome,email,encryptedPassword] // nessa parte a senha é retornada apenas para cadastro, cortei muita parte do código, no retorno para o client ou front, devemos remover a senha e voltar apenas nome e email.
    );
};

Referências

About

Relatório p/ atividade acadêmica de Ciber Segurança

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages