
Estrutura de Conscientização em Segurança Cibernética (CSAF)

O Cyber Security Awareness Framework (CSAF) é uma abordagem estruturada que visa melhorar a conscientização e a compreensão sobre cibersegurança entre indivíduos, organizações e comunidades. Ele fornece orientações para o desenvolvimento de programas eficazes de conscientização em cibersegurança, abrangendo áreas-chave como avaliação das necessidades de conscientização, criação de materiais educacionais, realização de treinamentos e simulações, implementação de campanhas de comunicação e medição dos níveis de conscientização. Ao adotar este framework, as organizações podem promover uma cultura de segurança robusta, aumentar sua capacidade de detectar e responder a ameaças cibernéticas e mitigar os riscos associados a ataques e violações de segurança.
---
config:
layout: elk
---
flowchart TD
kali_attack["Kalilinux Attack"]
kali_defense["Kalilinux Defense"]
kali_monitor["Kalilinux Monitor"]
subgraph Webserver["Webserver"]
dvwa["DVWA"]
dvwa_monitor["DVWA Monitor"]
wackopicko["Wackopicko"]
juiceshop["Juiceshop"]
end
subgraph Database["Database"]
mariadb["MariaDB"]
mongodb["MongoDB"]
end
subgraph Phishing["Phishing LAB"]
gophish["Gophish"]
phishing["Phishing WEB"]
mail_server["Mail Server"]
mitmproxy["Mitmproxy"]
end
subgraph Ransomware["Ransomware LAB"]
ransomware["Ransomware WEB"]
end
subgraph Breach["Breach LAB"]
caldera["Caldera"]
infection_monkey["Infection Monkey"]
end
subgraph Versioning["Versioning"]
gitea["Gitea"]
end
subgraph Monitor["SOC LAB"]
subgraph WAF["WAF"]
bunkerweb["BunkerWEB"]
modsecurity["Modsecurity"]
end
subgraph SIEM["SIEM"]
wazuh["Wazuh"]
splunk["Splunk"]
end
subgraph DFIR["DFIR"]
velociraptor["Velociraptor"]
end
end
dvwa -->|Connect| mariadb
dvwa -->|Sending Alert| wazuh
dvwa -->|Sending Log| splunk
dvwa_monitor -->|Connect| mariadb
dvwa_monitor -->|Sending Alert| wazuh
dvwa_monitor -->|Sending Log| splunk
wackopicko -->|Lateral Movement| juiceshop
wackopicko -->|Lateral Movement| dvwa
wackopicko -->|Lateral Movement| dvwa_monitor
gitea -->|Update Code| dvwa
gitea -->|Update Code| dvwa_monitor
caldera -->|Control| dvwa
caldera -->|Control| dvwa_monitor
infection_monkey -->|Connect| mongodb
velociraptor -->|Control| dvwa
velociraptor -->|Control| dvwa_monitor
bunkerweb -->|Protect| dvwa_monitor
bunkerweb -->|Protect| wackopicko
bunkerweb -->|Protect| juiceshop
modsecurity -->|Protect| dvwa_monitor
gophish -->|Sending Phishing| mail_server
phishing -->|Seding Data| mitmproxy
mail_server -->|Access| phishing
ransomware -->|Infection| kali_attack
ransomware -->|Infection| kali_defense
ransomware -->|Infection| kali_monitor
kali_attack -->|Attack| bunkerweb
kali_attack -->|Attack| modsecurity
kali_attack -->|Attack| wackopicko
kali_attack -->|Access| gophish
kali_attack -->|Collect Data| mitmproxy
kali_attack -->|Access| caldera
kali_attack -->|Access| infection_monkey
kali_defense -->|Patch Source Code| gitea
kali_defense -->|Control Rule| bunkerweb
kali_defense -->|Remote SSH| dvwa
kali_defense -->|Remote SSH| dvwa_monitor
kali_defense -->|Access| mail_server
kali_monitor -->|Monitor| splunk
kali_monitor -->|Monitor| wazuh
kali_monitor -->|Monitor| velociraptor
kali_monitor -->|Monitor| bunkerweb
kali_monitor -->|Access| mail_server
%% Styling
classDef attackStyle fill:#ff6b6b,stroke:#c92a2a,stroke-width:3px,color:#fff
classDef defenseStyle fill:#51cf66,stroke:#2f9e44,stroke-width:3px,color:#fff
classDef monitorStyle fill:#748ffc,stroke:#4c6ef5,stroke-width:3px,color:#fff
classDef webserverStyle fill:#ffa94d,stroke:#fd7e14,stroke-width:2px,color:#fff
classDef databaseStyle fill:#868e96,stroke:#495057,stroke-width:2px,color:#fff
classDef phishingStyle fill:#ffd43b,stroke:#fab005,stroke-width:2px,color:#333
classDef ransomwareStyle fill:#fa5252,stroke:#e03131,stroke-width:3px,color:#fff
classDef breachStyle fill:#e64980,stroke:#c2255c,stroke-width:2px,color:#fff
classDef versioningStyle fill:#74c0fc,stroke:#339af0,stroke-width:2px,color:#fff
classDef wafStyle fill:#20c997,stroke:#0ca678,stroke-width:2px,color:#fff
classDef siemStyle fill:#845ef7,stroke:#7048e8,stroke-width:2px,color:#fff
classDef dfirStyle fill:#5c7cfa,stroke:#4263eb,stroke-width:2px,color:#fff
%% Apply styles
class kali_attack attackStyle
class kali_defense defenseStyle
class kali_monitor monitorStyle
class dvwa,dvwa_monitor,wackopicko,juiceshop webserverStyle
class mariadb,mongodb databaseStyle
class gophish,phishing,mail_server,mitmproxy phishingStyle
class ransomware ransomwareStyle
class caldera,infection_monkey breachStyle
class gitea versioningStyle
class bunkerweb,modsecurity wafStyle
class wazuh,splunk siemStyle
class velociraptor dfirStyle
%% Link Styling (Arrows)
linkStyle 0,1,2,3,4,5 stroke:#868e96,stroke-width:2px
linkStyle 6,7,8 stroke:#e64980,stroke-width:2px
linkStyle 9,10 stroke:#74c0fc,stroke-width:2px
linkStyle 11,12 stroke:#e64980,stroke-width:2px
linkStyle 13 stroke:#868e96,stroke-width:2px
linkStyle 14,15 stroke:#5c7cfa,stroke-width:2px
linkStyle 16,17,18 stroke:#20c997,stroke-width:2px
linkStyle 19 stroke:#20c997,stroke-width:2px
linkStyle 20 stroke:#fab005,stroke-width:2px
linkStyle 21 stroke:#fab005,stroke-width:2px
linkStyle 22 stroke:#fab005,stroke-width:2px
linkStyle 23,24,25 stroke:#fa5252,stroke-width:3px
linkStyle 26,27,28,29,30,31,32 stroke:#ff6b6b,stroke-width:2px
linkStyle 33,34,35,36,37 stroke:#51cf66,stroke-width:2px
linkStyle 38,39,40,41,42 stroke:#748ffc,stroke-width:2px
%% Subgraph Styling
style Webserver fill:#fff4e6,stroke:#fd7e14,stroke-width:3px,color:#000
style Database fill:#e9ecef,stroke:#495057,stroke-width:3px,color:#000
style Phishing fill:#fff9db,stroke:#fab005,stroke-width:3px,color:#000
style Ransomware fill:#ffe3e3,stroke:#e03131,stroke-width:3px,color:#000
style Breach fill:#ffdeeb,stroke:#c2255c,stroke-width:3px,color:#000
style Versioning fill:#e7f5ff,stroke:#339af0,stroke-width:3px,color:#000
style Monitor fill:#f3f0ff,stroke:#7048e8,stroke-width:4px,color:#000
style WAF fill:#d3f9e8,stroke:#0ca678,stroke-width:2px,color:#000
style SIEM fill:#e5dbff,stroke:#7048e8,stroke-width:2px,color:#000
style DFIR fill:#dbe4ff,stroke:#4263eb,stroke-width:2px,color:#000
Clone o repositório
git clone https://github.com/csalab-id/csaf.git
Navegue até o diretório do projeto
cd csaf
Baixe as imagens Docker
docker compose --profile=all pull
Gere o certificado SSL do Wazuh
docker compose -f generate-certs.yml run --rm generator
Crie um arquivo de ambiente local para o Docker Compose:
cp .env.example .env
Atualize os valores no .env conforme necessário ou use as exportações de shell abaixo.
Defina estas antes de executar o Docker Compose (os padrões vêm do docker-compose.yml):
Exemplo:
export ATTACK_PASS=ChangeMePlease
export DEFENSE_PASS=ChangeMePlease
export MONITOR_PASS=ChangeMePlease
export SPLUNK_PASS=ChangeMePlease
export VELOX_PASS=ChangeMePlease
export GOPHISH_PASS=ChangeMePlease
export MAIL_PASS=ChangeMePlease
export PHISHING_URL=https://example.com/
export PHISHING_TITLE="Example Login"
export PHISHING_FAVICON=https://example.com/favicon.ico
export BIND_ADDR=127.0.0.1
Inicie todos os contêineres
docker compose --profile=all up -d
Você pode executar laboratórios específicos com estes perfis
Por exemplo
docker compose --profile=attackdefenselab up -d
attack.lab (VNC na porta 6080), defense.lab (7080), monitor.lab (8080).dvwa.lab, wackopicko.lab, juiceshop.lab, gitea.lab.mail.server.lab (iRedMail), gophish.lab, phishing.lab.infectionmonkey.lab, mongodb.lab, caldera.lab.ransomware.lab.attackpassword / defensepassword / monitorpassword (substituir via env).csalab / giteapassword.GOPHISH_PASS.[email protected] / mailpassword.admin / splunkpassword.admin / veloxpassword.admin / SecretPassword.docker compose down -v remove contêineres e volumes.docker compose --profile=all up -d.docker compose --profile=<profile> up -d.docker compose down.docker compose ps.docker compose logs -f <service>.docker compose -f generate-certs.yml run --rm generator antes da primeira inicialização do laboratório SOC.BIND_ADDR=127.0.0.1 para vincular serviços localmente.docker compose down -v para apagar dados persistentes..env antes de expor os serviços.BIND_ADDR=127.0.0.1 e acesse via SOCKS5 ou SSH.

Uma porta exposta pode ser acessada usando um proxy SOCKS5, cliente SSH ou cliente HTTP. Escolha uma para a melhor experiência.
Este aplicativo Docker Compose é lançado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.
Este projeto destina-se apenas a uso educacional e em laboratório. Não exponha nenhum dos serviços fornecidos diretamente à internet ou a ambientes de produção sem hardening e validação de segurança independente. Você é o único responsável por cumprir as leis, regulamentos e políticas organizacionais aplicáveis ao implantar ou usar este projeto.
wazuh-manager.lab, wazuh-indexer.lab, wazuh-dashboard.lab, splunk.lab, velociraptor.lab.bunkerweb.lab reverse proxy/WAF para DVWA, Juice Shop e WackoPicko. Configuração da UI: https://bunkerweb.lab/setup. Aliases: dvwa-bunkerweb.lab, juiceshop-bunkerweb.lab, wackopicko-bunkerweb.lab.