Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Einführung in Penetration Testing mit Metasploit und John the Ripper – Ein Leitfaden für das CS6262 Projekt 1

Lerne die Grundlagen des Penetration Testing am Beispiel des CS6262 Projekts 1. Von Netzwerkscans über Shellshock-Exploits bis hin zu Passwort-Cracking mit John the Ripper – dieser Leitfaden bereitet dich auf die Praxis vor.

Penetration Testing Metasploit Tutorial John the Ripper Shellshock Exploit CS6262 Projekt 1 Netzwerk-Scanning Brute-Force Angriff Privilege Escalation Passwort-Cracking Ethical Hacking VM einrichten Nmap Scan SSH Login SetUID GPG knacken Sicherheitslücken ausnutzen

Einführung in Penetration Testing

Penetration Testing – oft auch als Ethical Hacking bezeichnet – ist eine der gefragtesten Fähigkeiten in der Cybersicherheit. Im Rahmen des CS6262 Project 1 (Fall 2025) lernst du, wie Angreifer vorgehen und wie du Schwachstellen identifizieren und ausnutzen kannst. Dieser Leitfaden begleitet dich durch die wichtigsten Schritte: von der Netzwerkerkundung bis zum Passwortknacken – ganz ohne die Lösung komplett zu verraten.

Stell dir vor, du bist ein Sicherheitsanalyst bei einem großen Fintech-Unternehmen. Dein Chef bittet dich, die Netzwerksicherheit zu überprüfen. Du startest einen Portscan, entdeckst einen alten Apache-Server mit der Shellshock-Lücke und nutzt Metasploit, um eine Reverse-Shell zu öffnen. Genau solche Szenarien übst du in diesem Projekt.

Netzwerk-Scanning – Die erste Erkundung

Bevor du angreifen kannst, musst du wissen, was im Netzwerk lauert. Netzwerk-Scanning ist der erste Schritt. Mit Tools wie nmap identifizierst du offene Ports, laufende Dienste und Betriebssysteme. Im Projekt verwendest du dazu die virtuelle Maschine (VM), die mit Ubuntu 24.04 Server und Docker-Containern ausgestattet ist.

Ein typischer Befehl: nmap -sV 192.168.1.1. Damit erhältst du eine Liste offener Ports und der darauf laufenden Software. Genau wie ein Detektiv am Tatort sammelst du Hinweise. In der VM findest du zum Beispiel einen SSH-Dienst auf Port 22 und einen Webserver auf Port 80.

Shellshock-Exploit – Die alte Lücke

Die Shellshock-Sicherheitslücke (CVE-2014-6271) betrifft die Bash-Shell. Sie erlaubt es Angreifern, beliebige Befehle auszuführen, indem sie Umgebungsvariablen manipulieren. Obwohl die Lücke schon Jahre alt ist, finden sich immer noch ungepatchte Systeme – wie der Apache-Server in deiner VM.

Ein einfacher Test: curl -H "User-Agent: () { :;}; /bin/bash -c 'id'" http://target/cgi-bin/test.cgi. Wenn der Server verwundbar ist, siehst du die Ausgabe von id. Im Projekt wirst du diese Lücke nutzen, um eine Reverse-Shell zu öffnen. Denk daran: Verantwortungsvolles Hacking bedeutet, nur in autorisierten Umgebungen zu testen.

Brute-Force mit Metasploit

Metasploit ist ein mächtiges Framework für Exploit-Entwicklung und Penetration Testing. Im Projekt verwendest du es, um einen Brute-Force-Angriff auf einen Dienst durchzuführen. Dabei probierst du systematisch Benutzernamen und Passwörter aus, bis du Zugang erhältst.

Ein typischer Workflow in msfconsole:

use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.10
set USER_FILE /usr/share/wordlists/metasploit/username.txt
set PASS_FILE /usr/share/wordlists/metasploit/password.txt
run

Das klingt nach viel Arbeit, aber Metasploit automatisiert den Prozess. Stell dir vor, du knackst den SSH-Zugang eines Servers, der sensible Kundendaten speichert – genau das trainierst du hier.

Privilege Escalation – Vom normalen User zum Root

Nachdem du Zugang zu einem System hast, willst du oft mehr Rechte – Privilege Escalation genannt. Eine klassische Methode sind SetUID-Programme. Wenn ein Programm mit SetUID-Bit ausgeführt wird, läuft es mit den Rechten des Eigentümers (oft root). Findest du ein solches Programm, das du manipulieren kannst, bist du dem Ziel nahe.

Im Projekt gibt es eine SetUID-Binärdatei, die du ausnutzen musst. Suche mit find / -perm -4000 2>/dev/null nach solchen Dateien. Ein Beispiel: /usr/bin/passwd hat SetUID, aber das ist sicher. Ein benutzerdefiniertes Programm könnte eine Hintertür bieten.

Passwort-Cracking mit John the Ripper

Passwörter sind oft die schwächste Stelle. John the Ripper ist ein beliebtes Tool zum Knacken von Passwort-Hashes. Im Projekt extrahierst du Hashes aus einer ZIP-Datei (task51.zip) und einer GPG-Datei (task52.gpg) und versuchst, sie zu knacken.

Für die ZIP-Datei: zip2john task51.zip > hash.txt, dann john hash.txt. Für GPG: gpg2john task52.gpg > hash.txt. John probiert dann verschiedene Wortlisten und Regeln aus. Moderne GPUs können den Prozess beschleunigen – aber im Projekt reicht eine CPU.

Umgebungsvariablen und VM-Einstellungen

Die VM für CS6262 Project 1 ist speziell konfiguriert. Sie läuft entweder als x86- oder ARM-Version. Wichtig: Die x86-VM verwendet standardmäßig Bridged Networking, was ein Sicherheitsrisiko darstellt. Wechsle zu NAT, es sei denn, du weißt, was du tust. Die ARM-Version nutzt KDE als Desktop, die x86-Version Xfce4.

Falls du auf einem ARM-Mac (Apple Silicon) arbeitest, musst du die x86-VM emulieren – das ist möglich, aber langsamer. Im Anhang findest du detaillierte Anleitungen.

Häufige Fehler und Tipps

  • Vergiss nicht, chmod +x task52 auszuführen, nachdem du die GPG-Datei entschlüsselt hast.
  • Der Autograder akzeptiert nur die Datei assignment_questionnaire.txt. Halte dich genau an die Vorgaben.
  • Führe ein READ ME.txt mit deinen Versuchen – das hilft ungemein, den Überblick zu behalten.
  • Nutze die unbegrenzten Einreichungen, aber missbrauche sie nicht – der Autograder erkennt Brute-Force-Versuche.

Trends und Aktualität

Im Juni 2026 sind Penetration-Testing-Fähigkeiten relevanter denn je. Die jüngsten Ransomware-Angriffe auf Krankenhäuser zeigen, wie wichtig es ist, Schwachstellen zu kennen. Auch im Bereich KI-gestützter Angriffe (z. B. automatisierte Exploits durch Large Language Models) wächst die Nachfrage nach Experten. Wenn du dieses Projekt meisterst, legst du den Grundstein für eine Karriere als Penetration Tester oder Sicherheitsanalyst.

Denk an die Ethereum-Blockchain: Auch dort werden regelmäßig Penetrationstests durchgeführt, um Smart Contracts abzusichern. Die Methoden aus CS6262 – Scanning, Exploitation, Privilege Escalation – sind universell.

Fazit

CS6262 Project 1 ist eine hervorragende Gelegenheit, praktische Hacking-Fähigkeiten zu erlernen. Von Netzwerkscans über Shellshock bis hin zu Passwort-Cracking – du durchläufst den gesamten Angriffsprozess. Nutze die VM, lies die Dokumentation und experimentiere. Und denk dran: Mit großer Macht kommt große Verantwortung. Verwende dein Wissen nur ethisch und legal.

Viel Erfolg bei deinem Projekt!