Scripts e Automações

Samuel Jaeger
4 min readSep 24, 2023

Concluído o Módulo de Scripting da Desec Security achei muito interessante a visão e os ensinamentos passados.

“Automações são importantes, desde que você entenda elas.”

Melhor que apenas usar a Ferramenta de alguém é Criar a sua própria ou aprimorar uma já existente. Nenhuma Ferramenta fará um milagre para você. Mas Conforme Você mesmo for Desenvolvendo as suas Ferramentas você pegará um gosto por isso, sem contar que evolui seu aprendizado.

Resolvendo os Laboratórios da Desec Security fui Analisando, Desenvolvendo, Errando, Aprimorando, Testando Novamente, Errando Novamente, Mas uma Hora acertei :)

Segue Alguns Scipts que fiz para Resolução dos Laboratórios:

Parsing.sh:

O Parsing é uma Ferramenta Básica para Coletar Informações de Domínios Vinculados a um Site. Esse é um Script projetado para realizar uma Análise em uma página web e lista os Domínios encontrados. Após ser feito essa lista de Domínios ele consulta o IP do Domínio.

Explicando o Funcionamento da Ferramenta:

wget -q "$1" -O -: Com o wget é feito o Download do conteúdo da página especificada no primeiro argumento ($1).

  • -q: Torna a saída do wget silencioso.
  • "$1": Substitui $1 pelo primeiro argumento da linha de comando, que deve ser a URL da página web a ser baixada.
  • -O -: Redireciona o Resultado do Comando para a próxima etapa que nesse caso é| (pipeline).
  • grep -o 'http[s]\?://[^"]*': Faz uma Pesquisa no Conteúdo Baixado pela Expressão "http" ou "https". O[s]\? significa que o "s" é opcional (pode ou não estar presente). O://: Corresponde aos dois pontos duplos que seguem "http://" ou "https://". O[^"]*: Garante que apenas URLs sejam capturados até a próxima aspas dupla.
  • cut -d '/' -f 3: Ele divide as URLs em partes com base no caractere "/". Ele então extrai o terceiro campo (-f 3), que geralmente é o domínio da URL. Por exemplo, na URL "http://www.vulnweb.com", o terceiro campo seria "www.vulnweb.com".
  • sort -u: Remove Domínios Duplicados Encontrados.
  • > dominios.txt: Os Domínios Encontrados ele Jogará numa Pasta Chamada "dominios.txt".

Portscan_Portknoking.sh

Esse Código é um Script de Port Knocking, que é uma técnica de segurança usada para ocultar Serviços em um Servidor até que uma sequência específica de Conexões sejam feitas em determinadas Portas. O Script Executa o Port Knocking em uma faixa de endereços IP em várias Portas Específicas.

Explicando o Funcionamento da Ferramenta:

  • Primeiro é definido a variável “alvo” com o IP. Onde o Port Knocking será realizado.
  • Depois é definido um array chamado “portas” que contém uma lista de portas nas quais o Port Knocking será realizado.
  • Em seguida, definimos a função “port_knocking” que recebe um Endereço IP como Argumento. Esta Função realiza o Port Knocking em um IP específico usando as Portas definidas no arrayportas”.
  • O loopfor” alterna as Portas e usa o “hping3” para enviar um Pacote TCP SYN para cada porta no endereço IP. Se a Conexão for bem-sucedida, a Porta é considerada aberta. O Script tenta Acessar uma página web no IP e Porta especificados usando o “curl”. Se o acesso for bem-sucedido, ele mostra um “ok”, caso contrário, a porta é considerada “FALHA”.

Automação de PortScan com Nmap

Dentro de ~/.bashrc foi criado uma Função que faz algumas Varreduras em Portas TCP e UDP. Separei as Varreduras em: Todas Portas TCPs, Top Mil Portas TCPs Mais Usadas e 100 Portas UDPs mais Usadas.

Criando essa Função ela te facilita de ter que repetitivamente escrever o mesmo Comando toda vez que for fazer um PortScan.

Uma Automação bem simples de ser feita e fácil de entender.

São bem simples mas ajudam a entender um pouco mais sobre esse Processo de Desenvolvimento. Conforme for Criando mais Automações ou Scrips vou fazendo Novas Publicações e deixando Público no Github.

Referências:

https://www.linkedin.com/in/mswell

https://www.linkedin.com/in/luciano-domingues

--

--

Samuel Jaeger

CyberSecurity, Pentest, Bug Bounty e Amante de Tecnologia