Model Context Protocol (MCP) är ett öppet protokoll som möjliggör kommunikation mellan AI-modeller och externa verktyg. Det låter dig bygga kraftfulla integrationer där AI kan interagera med databaser, API:er, säkerhetsverktyg och operativsystem.
Varför MCP för CTF och pentest?
MCP ger dig möjlighet att kombinera kraften i Kali Linux med Claude's förmåga att resonera, planera och utföra komplexa analyser. Istället för att manuellt köra kommandon kan du beskriva vad du vill uppnå och låta Claude orkestrera verktygen.
Arkitektur: Windows Host + Kali VM
I denna workshop använder vi en hybrid-setup där Claude körs på Windows men exekverar kommandon i en Kali Linux VM:
Windows (Host): Kör Claude Desktop och MCP-bryggan
Kali Linux (VM): Kör säkerhetsverktyg och exponerar dem via REST API
MCP Brygga: Översätter mellan MCP-protokollet och Kali API:et
Huvudkomponenter
Vi kommer använda följande projekt: MCP-Kali-Server. Man är också välkommen att bygga en egen om man hellre vill det :)
Kali API Server (kali_server.py): Flask-baserad REST API som exekverar kommandon i Kali
MCP Server (mcp_server.py): Python-applikation som exponerar Kali-funktioner som MCP-verktyg
Claude Desktop: AI-klient som använder MCP-verktygen
Installation & Setup
▼
Översikt: Windows + Kali VM
I denna workshop kör vi Claude Desktop på Windows (host) och Kali Linux i en VM (guest). Arkitekturen ser ut såhär:
Arkitektur: Claude Desktop (Windows) → MCP Bridge (Windows) → Kali API (Kali VM) → Verktyg
Vi använder två komponenter:
kali_server.py: REST API som exponerar Kali-kommandon (körs i Kali VM)
mcp_server.py: MCP-brygga som översätter mellan MCP och Kali API (körs på Windows, startas av Claude)
Steg 1: Förutsättningar
Windows 10/11 med Python 3.10 eller senare
Kali Linux VM (VMware, VirtualBox, Hyper-V, etc.)
Nätverksanslutning mellan Windows och Kali VM
Claude Desktop installerat på Windows
Ladda ner Claude Desktop:
Besök claude.ai/download för att installera på Windows.
Steg 2: Klona MCP-Kali-Server Repository
Ladda ner projektet från GitHub på din Windows-maskin:
git clone https://github.com/Wh0am123/MCP-Kali-Server.git
cd MCP-Kali-Server
Alternativt, ladda ner komponenterna manuellt.
Steg 3: Installera Python-beroenden (Windows)
Installera nödvändiga paket på Windows-maskinen:
pip install mcp requests
Steg 4: Setup Kali VM
4.1 - Kopiera kali_server.py till Kali
Överför kali_server.py till din Kali VM via SCP, delad mapp eller annan metod.
4.2 - Installera beroenden i Kali
# I Kali VM
sudo apt update
pip3 install Flask --break-system-packages
4.3 - Starta Kali API-servern
# I Kali VM
python3 kali_server.py --ip 0.0.0.0
Servern kommer att lyssna på port 5000. Anteckna Kali VM:s IP-adress (använd ip a för att hitta den).
Steg 5: Konfigurera Claude Desktop (Windows)
Redigera Claude Desktop-konfigurationen, observera att man kan behöva skapa filen om den inte finns:
Byt C:\\Users\\Charlie\\mcp_server.py mot din sökväg till mcp_server.py
Byt 192.168.222.128 mot din Kali VM:s IP-adress
Byt py mot ditt python alias. T.ex py,python eller python3
Steg 6: Verifiera Setup
6.1 - Testa Kali API
Från Windows, testa att Kali API:et svarar:
# PowerShell eller CMD
curl http://192.168.222.128:5000/health
6.2 - Starta om Claude Desktop
Stäng och starta om Claude Desktop för att ladda den nya konfigurationen.
Viktigt:
Se till att kali_mcp dyker upp och är påslagen
6.3 - Testa MCP-anslutningen
Öppna Claude Desktop och testa med en enkel prompt:
Kan du köra "whoami" i Kali?
Vinst!
Om Claude svarar med resultat från Kali så fungerar din setup. Du är nu redo att börja använda Kali-verktyg genom Claude!
Felsökning
Problem: Kan inte nå Kali API
Kontrollera att kali_server.py körs i Kali
Verifiera IP-adressen med ip a i Kali
Kontrollera att Kali VM:s firewall tillåter port 5000
Testa ping från Windows till Kali: ping 192.168.222.128
Problem: Claude hittar inte verktygen
Kontrollera att Python är installerat på Windows (testa med py --version)
Verifiera att alla Python-beroenden är installerade
Kolla Claude Desktop-loggarna för felmeddelanden
Testa att köra mcp_server.py manuellt för att se eventuella fel
Effektiva Prompts
▼
Grundläggande Prompt-struktur
För bästa resultat med MCP, strukturera dina prompts tydligt och ge så mycket kontext som möjligt.
Mer kontext = Bättre resultat
Inkludera gärna:
Flaggformat
IP / URL / Filsökväg till uppgiften
CTF kategori
CTF beskrivning
Eventuella pointers t.ex om du har listat ut första steget men kört fast
Exempel
Kan du hjälpa mig lösa en CTF utmaning i "Cryptography"-kategorin.
Flaggformat: picoCTF{xxx}
Jag har fått två filer som jag lagt under: /home/kali/Desktop/CTF/
CTF beskrivning: "Can you get sense of this code file and write the function that will decode the given encrypted file content."
Använd kali_mcp
Observera att Claude inte kan köra program interaktivt, dvs om den väntar på input från ett program eller netcat anslutning så kommer den fastna.
Man kan då behöva avbryta och komma med ny input som hänvisar att använda python för att interagera med programmet eller anslutningen
Ibland vill Claude installera nya tools (med sudo). Den kommer då vänta på sudo lösenordet i kali förutsatt att den inte redan körs som root.
Tips: Tveka inte att avbryta och kom med ny kontext om du märker att Claude snöar in sig i fel sak
Testuppgifter (CTF)
▼
Testa dina färdigheter med dessa CTF-utmaningar! Använd MCP-verktygen för att lösa dem.
(Ja flaggan ligger direkt i JavaScripten, men det är inte poängen här)
Cryptography
Custom encryption (PicoCTF)
Medel
Can you get sense of this code file and write the function that will decode the given encrypted file content.
Find the encrypted file here flag_info and code file might be good to analyze and get the flag.
Forensics
MSB (PicoCTF)
Medel
This image passes LSB statistical analysis, but we can't help but think there must be something to the visual artifacts present in this image...
Problem: Kommandon verkar inte exekverara / Claude använder inte MCP servern
Lösning:
Kontrollera att kali_mcp är påslaget i chatten
Under Settings->Capabilities, se till att "Code execution and file creation" är avstängt. Annars kommer Claude försöka köra något eget race istället för att använda vår MCP.
Problem: MCP-server svarar inte
Lösning:
Kontrollera att servern körs: curl http://localhost:8000/health
Kolla loggar för felmeddelanden
Verifiera att rätt port används i konfigurationen
Problem: Claude hittar inte verktygen
Lösning:
Starta om Claude Desktop efter konfigurationsändringar
Kontrollera att sökvägen i claude_desktop_config.json är korrekt
Verifiera att MCP-servern har registrerat verktygen korrekt
Problem: Timeout vid verktygsanrop
Lösning:
Öka timeout-värdet i MCP-serverkonfigurationen
Vissa verktyg (som Nmap) kan ta lång tid - var tålmodig
Använd mindre omfattande scans eller skit i nmap/gobuster, ge en prompt som säger explicit att undvika det
Nätverksproblem
Kontrollera firewall-inställningar om servern inte kan nås
Verifiera att rätt IP-adress och port används
Testa med telnet localhost 8000 för att bekräfta anslutning
Behöver mer hjälp?
Kolla MCP-dokumentationen på modelcontextprotocol.io eller gemenskapen på GitHub.
Till polisens SOC (Security Operations Center) söker vi nu ytterligare IT-säkerhetsanalytiker som arbetar resultatinriktat och gärna delar med sig av sin kunskap till sina kollegor.
Beskrivning
Du kommer att övervaka och arbeta i en stor IT-miljö med ny teknik och höga säkerhetskrav. Via larm och threat hunting ska du hitta spår efter hotaktörer som kan störa polisens operativa förmåga. En stor del av tiden kommer du också att vidareutveckla vår IT-säkerhetsövervakning genom att analysera nya trender, utveckla ny detektion och samarbeta med andra grupper inom Polisen.
Arbetsuppgiften som IT-säkerhetsanalytiker innebär att:
Identifiera och analysera säkerhetsincidenter genom IT-säkerhetsövervakning och threat hunting.
Utveckla detektion (detection engineering) inom en eller flera plattformar både med host- och nätverksinriktning.
Löpande verifiera och kvalitetssäkra framtagen detektion.
Genomföra purple team-övningar tillsammans med polisens penetrationstestare.