Discord-Cyber-Szenario-Bot: Schulung und Sensibilisierung für Cybersicherheit verbessern
Table of Contents
CyberScenarioBot
Discord Cyber Scenario, Quiz und Cyber Awareness Training Bot.
Sie können überspringen zu
🚀 Quick Start
zum Hinzufügen CyberScenarioBot
auf Ihren Server zu übertragen.
Einleitung
Dieser Bot kann in einem Schulungs- oder Sensibilisierungsprogramm für Cybersicherheit nützlich sein, bei dem die Benutzer verschiedenen Cybersicherheitsszenarien ausgesetzt werden und lernen, wie sie diese verhindern oder darauf reagieren können. Durch die Verwendung eines Discord-Bots können die Szenarien leicht mit Benutzern in einer Serverumgebung geteilt werden, und der Bot kann nach Bedarf um zusätzliche Befehle oder Funktionen erweitert werden. Außerdem kann der Bot in einem Docker-Container ausgeführt werden, was die Bereitstellung und Verwaltung in verschiedenen Umgebungen erleichtert.
🚀 Schnellstart
Wie man es ausführt:
Python:
Wenn Sie ein Unix-basiertes System verwenden, öffnen Sie ein Terminal und wechseln Sie in das Verzeichnis, in dem sich das Skript bot.py befindet. Führen Sie dann den folgenden Befehl aus:
export BOT_TOKEN="INSERT YOUR BOT TOKEN HERE"
export GUILD_ID="INSERT YOUR GUILD ID HERE (only needed for timed quizes and leaderboard)"
export LEADERBOARD_CHANNEL_ID="INSERT YOUR LEADERBOARD CHANNEL ID HERE (Only needed for leaderboard for prompts)"
export CHANNEL_ID="INSERT YOUR CHANNEL ID HERE (only needed for timed quizes)"
export APLUSROLE="INSERT YOUR A+ ROLE ID HERE (only needed for timed quizes)"
export NETPLUSROLE="INSERT YOUR Network+ ROLE ID HERE (only needed for timed quizes)"
export SECPLUSROLE="INSERT YOUR Security+ ROLE ID HERE (only needed for timed quizes)"
export QUIZROLE="INSERT YOUR QUIZ ROLE ID HERE (only needed for timed quizes)"
python bot.py
Wenn Sie ein Windows-basiertes System verwenden, müssen Sie einen etwas anderen Befehl verwenden, um die Umgebungsvariable zu setzen. Hier ist ein Beispielbefehl, der unter Windows funktionieren sollte:
set BOT_TOKEN="INSERT YOUR BOT TOKEN HERE"
set GUILD_ID="INSERT YOUR GUILD ID HERE (only needed for timed quizes)"
set LEADERBOARD_CHANNEL_ID="INSERT YOUR LEADERBOARD CHANNEL ID HERE (Only needed for leaderboard for prompts)"
set LEADERBOARD_PERSIST_CHANNEL_ID="INSERT YOUR LEADERBOARD PERSIST CHANNEL ID HERE (Only needed for leaderboard for prompts)"
set CHANNEL_ID="INSERT YOUR CHANNEL ID HERE (only needed for timed quizes)"
set APLUSROLE="INSERT YOUR A+ ROLE ID HERE (only needed for timed quizes)"
set NETPLUSROLE="INSERT YOUR Network+ ROLE ID HERE (only needed for timed quizes)"
set SECPLUSROLE="INSERT YOUR Security+ ROLE ID HERE (only needed for timed quizes)"
set QUIZROLE="INSERT YOUR QUIZ ROLE ID HERE (only needed for timed quizes)"
python bot.py
Docker:
Wenn Sie den Docker-Container ausführen, können Sie die Umgebungsvariable BOT_TOKEN mit dem Flag -e wie folgt übergeben:
docker run -e BOT_TOKEN="INSERT YOUR BOT TOKEN HERE" -it --rm simeononsecurity/discord-cyber-scenario-bot:latest
Um den Bot im Hintergrund laufen zu lassen:
docker run -td --name scenario-bot -e BOT_TOKEN="INSERT YOUR BOT TOKEN HERE" simeononsecurity/discord-cyber-scenario-bot:latest
Um den Bot im Hintergrund mit allen geplanten Aufforderungen und Rollen laufen zu lassen:
docker run -td --name scenario-bot \
-e BOT_TOKEN="INSERT YOUR BOT TOKEN HERE" \
-e GUILD_ID="INSERT YOUR GUILD ID HERE" \
-e LEADERBOARD_CHANNEL_ID="INSERT YOUR LEADERBOARD CHANNEL ID HERE" \
-e LEADERBOARD_PERSIST_CHANNEL_ID="INSERT YOUR LEADERBOARD PERSIST CHANNEL ID HERE" \
-e CHANNEL_ID="INSERT YOUR CHANNEL ID HERE" \
-e APLUSROLE="INSERT YOUR A+ ROLE ID HERE" \
-e NETPLUSROLE="INSERT YOUR NET+ ROLE ID HERE" \
-e SECPLUSROLE="INSERT YOUR SEC+ ROLE ID HERE" \
-e QUIZROLE="INSERT YOUR QUIZ ROLE ID HERE" \
simeononsecurity/discord-cyber-scenario-bot:latest
Funktionen
Vorhandene Befehle
Befehlspräfix: ‘!’, ‘/’****
📝 Quiz- und Szenario-Befehle
- Aplus: Antwortet mit der A+-bezogenen Aufforderung von CompTIA.
- Bluescenario: Antwortet mit einem Blue-Team-Szenario.
- CCNA: Antwortet mit der CCNA-Multiple-Choice-Aufforderung von Cisco.
- CEH: Antwortet mit der CEH-Multiple-Choice-Aufforderung von EC-Council.
- CISSP: Antwortet mit der CISSP-Multiple-Choice-Aufforderung von ISC2.
- Linuxplus: Antwortet mit der Linux+-Multiple-Choice-Abfrage von CompTIA.
- Netplus**: Antwortet mit der Network+-bezogenen Aufforderung von CompTIA.
- Quiz: Antwortet mit einer zufälligen Cyber Security Awareness-Frage.
- Rotes Szenario**: Antwortet mit einem Redteam-Szenario.
- Secplus: Antwortet mit einer CompTIA Security+-bezogenen Frage.
💯🎯 Leaderboard
Multiple-Choice-Fragen werden ähnlich wie bei den echten Prüfungen dynamisch gewichtet, je nachdem, ob sie richtig oder falsch beantwortet werden.
- Verfolgen Sie Ihren Fortschritt im Laufe der Zeit und sehen Sie, wie Sie im Vergleich zu anderen auf Ihrem Server abschneiden.
- Ergebnisse für jede Quiz-Kategorie und für die Gesamtwertung*
🛠️ Tool-Befehle
- Dns: Nimmt eine
domain name
und liefert A-, AAAA-, NS-, TXT- usw. Datensätze. - Hash: Nimmt auf
1 of 4 supported algos
und einestring
und gibt einen entsprechenden Hashwert aus. - Ping: Nimmt eine
IP address
und kehrt mit einer Erfolgsmeldung und der durchschnittlichen Latenzzeit oder einer Fehlermeldung zurück. - Phonelookup: Nimmt eine
phone number
und gibt den Träger und den Standort aus. - Shodanip: Nimmt eine
IP address
und gibt nützliche Informationen von https://internetdb.shodan.io/ aus. - Teilnetz: Nimmt ein
IP address
und eineSubnet Mask
und gibt den Bereich, die nutzbaren IPs, die Gateway-Adresse, die Broadcast-Adresse und die Anzahl der unterstützten Hosts aus. - Whois: Nimmt eine
domain name
und gibt Domain-Whois-Informationen aus.
ℹ️ Informationsbefehle
- Befehle: Antwortet mit dieser Nachricht.
- Socials: Antwortet mit den verschiedenen Social-Media-Konten und Websites des Bot.
⚙️ Einfache Einrichtung
- *Siehe 🚀 Quick Start
Kommende Funktionen
Diese Funktionen haben ein geplantes Implementierungsdatum, aber wir verfolgen sie und würden uns freuen contributions für sie.
- Erweiterte Ranglistenfunktionen, einschließlich wöchentlicher und monatlicher Ranglisten.
- Individuell anpassbare Aufforderungen und Quizze, um den spezifischen Schulungsanforderungen im Bereich Cybersicherheit gerecht zu werden.
- Erweiterte Berichte und Analysen zur Verfolgung von Fortschritt und Leistung der Benutzer.
Verwendung
Der CyberScenarioBot bietet verschiedene Befehle und Funktionen, um Ihr Programm zur Schulung und Sensibilisierung für Cybersicherheit zu verbessern. Hier sind einige häufige Anwendungsfälle:
Quizzes und Szenarien: Verwenden Sie den
/quiz
um eine zufällige Frage zum Thema Cybersicherheit zu erhalten. Verwenden Sie Befehle wie/aplus
/netplus
/secplus
um auf spezifische Eingabeaufforderungen zuzugreifen, die sich auf CompTIA-Zertifizierungen beziehen. Verwenden Sie Befehle wie/bluescenario
und/redscenario
um Szenarien für das blaue bzw. rote Team zu erhalten.Leaderboard: Verfolgen Sie den Fortschritt der Benutzer und vergleichen Sie die Ergebnisse mit anderen auf Ihrem Server, indem Sie die Quiz- und Zertifizierungsfragen beantworten.
Tool-Befehle: Verwenden Sie verschiedene Tool-Befehle, um Aufgaben im Zusammenhang mit DNS, Hashing, Ping, Telefonnummernabfrage, Shodan-IP-Suche, Subnetzberechnungen und WHOIS-Domänenabfrage durchzuführen. Verwenden Sie Befehle wie
/dns
/hash
/ping
/phonelookup
/shodanip
/subnet
und/whois
gefolgt von den entsprechenden Argumenten.Informative Befehle: Verwenden Sie die
/commands
um eine Liste der verfügbaren Befehle zu erhalten. Verwenden Sie den/socials
Befehl, um Informationen über die Social-Media-Konten und Websites des Bots zu erhalten.
Experimentieren Sie ruhig mit den verfügbaren Befehlen, um Ihre Cybersicherheitsschulung zu verbessern und Ihre Servermitglieder einzubinden.
Probleme
Wenn Benutzer auf Probleme stoßen oder Verbesserungsvorschläge haben, können sie einen GitHub-Problembericht erstellen, um sie zu melden. Ermutigen Sie die Benutzer, detaillierte Informationen über das Problem und die Schritte zur Reproduktion des Problems anzugeben.
Führen Sie die folgenden Schritte aus, um einen Fehler zu melden:
- Gehen Sie zur Registerkarte “Probleme” im GitHub-Repository des Projekts: Issues
- Klicken Sie auf die Schaltfläche “Neue Ausgabe”.
- Geben Sie einen aussagekräftigen Titel und eine klare Beschreibung des Problems an.
- Fügen Sie alle relevanten Protokolle, Screenshots oder Codeschnipsel hinzu, die bei der Fehlersuche helfen.
- Reichen Sie das Problem ein und warten Sie auf weitere Mitteilungen von den Projektbetreuern.
Beitragen
Wir begrüßen alle Beiträge. Dieses Projekt ist als ein Entwicklungs- und Lernprojekt gedacht, das von the CyberSentinels club und wir helfen Ihnen gerne dabei, Ihren Beitrag zu leisten und beantworten alle Ihre Fragen.
Automatisierte Python-Tests
Dieses Repo enthält automatisierte Tests, Sie können Beispiele sehen, wie man das implementiert here
Discord API und Entwicklerdokumentation
Um Änderungen zu testen und Funktionen zu implementieren, benötigen Sie einige Dinge.
Zusammenarbeit mit den Entwicklern
Sie können die Entwicklungsarbeiten auf dem Community-Discord-Server diskutieren here