REDE ONLINE · 7 fabricantes · 84 artigos · 1.2k comandos
v2.1.0 PT_BR
CircuitoCarioca
Home
↳ Visão geral Datacom Nokia Huawei Mikrotik Cisco Intelbras Parks
↳ Visão geral VLAN QinQ MPLS BGP OSPF
Ferramentas
↳ Visão geral Linux Windows Zabbix Grafana LibreNMS Firewall VPN Hardening
Wiki Comunidade Sobre
entrar cadastrar
honeypot · SSH/Telnet · média interatividade

Cowrie

Honeypot de média interatividade para SSH e Telnet — captura força bruta, shell falso e malware baixado. Da arquitetura interna à análise de logs e integração com SIEM.

Nesta página

1. Contexto e arquitetura 2. Instalação 3. Configuração básica 4. Redirecionar porta 22 5. Sistema de arquivos falso e credenciais 6. Análise de logs com exemplos 7. Integração com SIEM 8. Monitoramento e métricas 9. Segurança da implantação 10. Dimensionamento e performance 11. Comparação com outros honeypots SSH 12. Troubleshooting 13. Glossário 14. Referências

1. Contexto e arquitetura

O Cowrie é um honeypot de média interatividade que emula um servidor SSH/Telnet completo. Ele fornece um shell falso, um sistema de arquivos fictício e aceita credenciais configuráveis, permitindo que o atacante "entre" e execute comandos — mas tudo é registrado sem que haja um sistema real por trás.

Arquitetura interna:

  • Módulo SSH/Telnet — implementa o protocolo e negocia sessão com o cliente.
  • Motor de shell falso — interpreta comandos e simula respostas.
  • Sistema de arquivos virtualfs.pickle, um mini-filesystem em memória.
  • Registro de eventos — logs em JSON, gravando cada comando, login e download.
  • Módulo de download — intercepta wget/curl e salva o arquivo baixado.

2. Instalação

apt update
apt install git python3-venv python3-dev libssl-dev libffi-dev build-essential -y
adduser --disabled-password cowrie
su - cowrie
git clone http://github.com/cowrie/cowrie
cd cowrie
python3 -m venv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

3. Configuração básica

cp etc/cowrie.cfg.dist etc/cowrie.cfg

# Trechos relevantes:
[ssh]
enabled = true
listen_endpoints = tcp:2222:interface=0.0.0.0
version = SSH-2.0-OpenSSH_8.4p1

[telnet]
enabled = true
listen_endpoints = tcp:2223:interface=0.0.0.0

[honeypot]
hostname = srv-app-03
log_path = var/log/cowrie
bin/cowrie start
bin/cowrie status
tail -f var/log/cowrie/cowrie.log

4. Redirecionar porta 22

Para que o Cowrie escute na porta 22 (como um SSH real), redirecione com iptables e mova o SSH administrativo para outra porta:

# SSH real para porta 2200
# /etc/ssh/sshd_config -> Port 2200

iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223

⚠️ Nunca esqueça de mudar o SSH real de porta antes — senão você redireciona seu próprio acesso administrativo para o honeypot.

5. Sistema de arquivos falso e credenciais

Credenciais aceitas em etc/userdb.txt. O * como senha significa aceitar qualquer senha para o usuário:

root:x:*
admin:x:admin123

Aceitar qualquer senha para "root" é decisão deliberada comum — maximiza a captura de sessões pós-login.

6. Análise de logs com exemplos

# Log estruturado em JSON
tail -f var/log/cowrie/cowrie.json | jq .

# Comandos digitados em uma sessão
grep "cowrie.command.input" var/log/cowrie/cowrie.json | jq '.input'

# IPs de origem mais frequentes
grep "login.success\|login.failed" var/log/cowrie/cowrie.json | jq -r '.src_ip' | sort | uniq -c | sort -rn | head

# Malware baixado
ls var/lib/cowrie/downloads/

Padrões a monitorar: rajadas de tentativas de login (varredura), sequências de comandos típicas de botnets (ex.: wgetchmod +x → execução), e dicionários de credenciais conhecidos de campanhas.

7. Integração com SIEM

Cowrie suporta saída para Splunk, ElasticSearch, Graylog e syslog. Configure [output_syslog] ou [output_json] para enviar eventos ao seu SIEM. A integração permite correlação com outros logs e automação de resposta.

8. Monitoramento e métricas

  • Número de tentativas de login — alerta se houver pico.
  • Comandos únicos — detectar novas técnicas de ataque.
  • Malware capturado — volume e tipo.
  • Tempo médio de sessão — indica engajamento do atacante.

9. Segurança da implantação

  • Rodar como usuário não-privilegiado dedicado.
  • Isolar em VM/container separado.
  • Egress filtering — bloquear saída para internet, exceto o necessário.
  • Atualizar o Cowrie regularmente para corrigir vulnerabilidades da própria ferramenta.

10. Dimensionamento e performance

O Cowrie é leve — uma única instância pode lidar com centenas de conexões simultâneas em um VPS com 2 vCPUs e 4 GB de RAM. O principal gargalo é o log (JSON cresce rápido); configure rotação e retenção adequadas.

11. Comparação com outros honeypots SSH

FerramentaInteratividadeFoco
CowrieMédiaSSH/Telnet, shell falso, captura de malware
KippoMédiaAntigo, predecessor do Cowrie (descontinuado)
SSH-HoneypotBaixaApenas registrar tentativas de login

12. Troubleshooting

Serviço não sobe

Verificar dependências Python no log. Versão de biblioteca desalinhada é a causa mais comum após atualização do SO.

Nenhuma conexão registrada

Confirmar redirecionamento de portas e acessibilidade externa.

Atacante percebe o honeypot

Customizar banner e filesystem para parecer mais realista.

13. Glossário

Honeypot de média interatividade Emula um shell e sistema de arquivos, mas não executa um sistema real.
JSON logging Formato estruturado de log que facilita o processamento automatizado.
fs.pickle Arquivo que contém o sistema de arquivos virtual do Cowrie.
userdb.txt Arquivo de credenciais aceitas pelo honeypot.
Malware capture Recurso de interceptar downloads de malware feitos pelo atacante.

14. Referências

Conteúdo técnico independente. Nenhum trecho é cópia literal de fonte de terceiro.