
Implantação de honeypot SSH de interação média que captura tráfego real de força bruta, depósitos de malware e comportamento de invasores. Inclui gravação de sessão TTY, coleta de credenciais e inteligência de ameaças referenciada contra 159 fontes.
Um honeypot Cowrie de interação média implantado em um VPS Linux alugado com internet pública, projetado para atrair, registrar e analisar tráfego real de força bruta SSH. Durante uma janela de captura de 8 dias, o sensor registrou 37.477 sessões de 1.582 IPs de atacantes únicos, capturando 794 drops de malware — cada observação foi referenciada cruzada com 159 fontes públicas da indústria e acadêmicas.
| 📊 Live Report — HTML interativo | 📜 Logs/ — logs diários do Cowrie | 📸 ScreenShots/ — capturas de sessão |
| 🏗️ docs/ — diagrama de arquitetura | 🗂️ Reports/ — fonte do relatório | 🐛 Abra a análise renderizada |
O honeypot reside em um VPS Linux alugado. O tcp/22 da internet pública é redirecionado silenciosamente via NAT para o Cowrie no tcp/2222, enquanto o daemon OpenSSH real é movido para uma porta de gerenciamento não padrão (tcp/49222) acessível apenas com uma chave privada. Para um atacante, a máquina parece um servidor Debian vulnerável na porta 22; para o administrador, é totalmente acessível em uma porta separada e silenciosa.

Duas pistas através da mesma máquina: a pista do atacante (superior) atravessa o iptables NAT e chega ao Cowrie, que escreve logs TTY e uma pasta de quarentena. A pista do administrador (inferior) passa diretamente pelo iptables até o daemon OpenSSH real no tcp/49222. As duas pistas nunca se tocam.
Fonte vetorial:
docs/architecture.svg

Captura ao vivo: múltiplos IPs de atacantes atingindo tcp/2222 simultaneamente — CONNECTs (ciano), LOGIN SUCCESS / FAILED e os pares de credenciais que tentaram. Mesmo minuto, múltiplas campanhas.

Sequência completa de comandos pós-login de um atacante — chattr -ia ~/.ssh, o implante de chave mdrfckr, cat /proc/cpuinfo, uname, lscpu, crontab -l. Capturado literalmente com carimbos de tempo de milissegundos e um ID de sessão.

Visão agregada em várias sessões: connects (ciano), logins falhos (vermelho), logins bem-sucedidos (verde), comandos (amarelo), transferências de arquivos (roxo). O padrão repetitivo de implante de chave mdrfckr + chattr -ia .ssh é visível em IPs de atacantes distintos — mesma campanha, bots diferentes.

O drop característico RedTail XMRig cryptominer: seis arquivos em uma sessão de 213.209.159.158 — instaladores clean.sh e setup.sh, mais quatro binários ELF específicos de arquitetura (redtail.arm7, redtail.arm8, redtail.i686, redtail.x86_64) cobrindo roteadores, IoT, x86 legado e servidores em um único drop.
ls, wget, cat /proc/cpuinfo registrado com carimbos de tempo de alta resoluçãowget / curl são interceptados e colocados em quarentena em downloads/🌍 Principais regiões de origem: Hong Kong (Alibaba Cloud) · China (ChinaNet) · Bulgária (IT7 Networks) · Rússia (Aeza Group, sancionada)
🐛 Principais campanhas identificadas: RedTail XMRig cryptominer · a família de implante de chave SSH mdrfckr · recrutadores IoT derivados do Mirai · a assinatura de propagação SSH 3245gs5662d34
Análise completa com gráficos interativos, mapeamento MITRE ATT&CK e discussão com fontes por descoberta → Abra o relatório ao vivo.
cowriesudo useradd -m -s /bin/bash cowrie
sudo passwd -l cowrie
su - cowrie
git clone https://github.com/cowrie/cowrie.git
cd cowrie
python3 -m venv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
sshd real para fora da porta 22 (antes de adicionar qualquer regra NAT)sudo sed -i 's/^#\?Port .*/Port 49222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
⚠️ Verifique a partir de um segundo terminal que você ainda pode fazer login na porta 49222 antes de continuar.
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
sudo iptables-save | sudo tee /etc/iptables/rules.v4
bin/cowrie start
SSH-Honeypot-Research/
├── README.md ← you are here
├── docs/
│ ├── architecture.png ← architecture diagram (rendered)
│ └── architecture.svg ← architecture diagram (vector source)
├── Logs/ ← daily Cowrie logs (cowrie_YYYY-MM-DD.log)
│ ├── cowrie_2026-05-08.log
│ ├── cowrie_2026-05-09.log
│ └── ... (8 days total)
├── Reports/
│ └── honeypot_report.html ← full interactive report
└── ScreenShots/ ← session captures, log snapshots, payloads
├── live session.png ← multi-IP CONNECT/LOGIN stream
├── CMD1.png · CMD2.png ← captured post-login command sequences
├── sh1.png · sh2.png ← aggregated daily log views
└── RedTail Payload.png ← signature 4-arch cryptominer drop
Referenciado cruzadamente com 159 fontes da indústria e acadêmicas — a lista anotada completa está na seção de Referências do relatório ao vivo. Principais âncoras acadêmicas:
Este honeypot foi implantado apenas para fins de pesquisa defensiva. Todos os artefatos capturados (IPs, payloads, credenciais) são observados passivamente a partir de tráfego não solicitado de entrada. O honeypot não inicia varreduras, não retalia e não hospeda nenhum serviço além do ouvinte Cowrie em sandbox. Reutilize a configuração de forma responsável e dentro da lei aplicável.
Construído com Cowrie. 🛠️
| Camada | O que faz | Porquê |
|---|
Usuário não privilegiado cowrie | O honeypot é executado como um usuário do sistema sem sudo, sem shell do host | Em pior caso, comprometimento da sandbox não ganha acesso ao host |
| Ambiente virtual Python | Árvore de dependências fixada e isolada (Twisted, cryptography, etc.) | Sem conflito com o Python do sistema; desmontagem e reconstrução limpas |
| Sistema de arquivos simulado | As escritas do atacante vão para uma sobreposição efêmera do Cowrie | O disco real nunca é tocado, mesmo em sessões longas |
| Redirecionamento NAT do iptables | A regra PREROUTING reescreve o tcp/22 de entrada para tcp/2222 | O Cowrie vincula uma porta alta (sem necessidade de root); o engano permanece invisível |
| Migração da porta de gerenciamento | sshd real movido para tcp/49222, autenticação apenas por chave | O ruído de força bruta contra o daemon real cai para zero |
| Métrica | Valor |
|---|
| Total de sessões | 37.477 |
| IPs de atacantes únicos | 1.582 |
| Logins falhos | 14.968 |
| Logins para shell | 22.720 |
| Comandos de shell capturados | 21.968 |
| Drops de malware | 794 |
| Fontes externas referenciadas | 159 |