No description
  • Python 66.4%
  • C++ 19.2%
  • C 7.5%
  • YARA 6.9%
Find a file
2022-05-24 14:44:14 +02:00
01-email-maldoc added the shellcode 2022-05-03 16:36:38 +02:00
02-malware lab task sheets 1 and 2 published 2022-04-05 15:14:05 +02:00
03-malware published lab task sheet 3 2022-05-24 11:16:48 +02:00
lecture added a sample set labeled as FANCY BEAR X-Agent by Intezer to play around with pivoting 2022-05-24 11:44:47 +02:00
maltego_transforms README for maltego transforms 2022-05-24 14:44:14 +02:00
git-addkey.png General lab info for mcti22 2022-04-04 20:46:19 +02:00
git-settings-ssh.png General lab info for mcti22 2022-04-04 20:46:19 +02:00
README.md General lab info for mcti22 2022-04-04 20:46:19 +02:00
SampleCollectionApiUsage.md General lab info for mcti22 2022-04-04 20:46:19 +02:00

Praktikumsaufgaben

In diesem Repository finden Sie die Praktikumsaufgaben. Nachdem Sie eine Aufgabe bearbeitet haben, committen und pushen Sie bitte Ihre Lösung in Ihr persönliches Projekt, das zu Beginn für Sie erstellt wurde.

Einmalig: Einrichten der git-Umgebung

SSH Public Key hinterlegen

Sie müssen einmalig ein SSH-Schlüsselpaar erzeugen und den öffentlichen Schlüssen (public key) im gitlab hinterlegen. Gehen Sie dazu wie folgt vor. Rufen Sie auf der Kommandozeile das Programm ssh-keygen auf. Sofern dies Ihr erstes Schlüsselpaar ist, können Sie jegliche Fragen einfach per ENTER (ohne Eingaben) abfrühstücken.

# SSH-Schlüsselpaar erzeugen
chris@ubuntu:~$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chris/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/chris/.ssh/id_rsa.
Your public key has been saved in /home/chris/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:54JFs5zxhMM7cVo8V0yk9vChCVHzdSKolQ+dXkgS8rw chris@cubuntu
chris@cubuntu:~$ 

# Dies erstellt 2 Dateien im Verzeichnis `.ssh` unterhalb Ihres Home Directory
chris@cubuntu:~$ ls -al .ssh
-rw-------  1 chris chris  1675 Apr 30 11:08 id_rsa
-rw-r--r--  1 chris chris   395 Apr 30 11:08 id_rsa.pub

Die Datei id_rsa.pub ist der öffentliche Schlüssel. Den Inhalt dieser Datei müssen Sie in die Zwischenablage kopieren.

chris@cubuntu:~$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCr2Xs1grwGkXVnQURYX6UsK31Z5BheqhnftrpiuljXTRnkbciOfe1H7JwDmMfPlrIfbJRBnWQ4TGqs3xDLUspoLcxsaL1L5MmjmTrJt6hRUzYZaLbcu15tixSpQbGbLmEf11bfR7xZm/v1feIsOwOro8orvD1EmmyunF3/PUsnf3LOUNP227ZUdm0NSEJ91cApN+4Ob/RrCTBxVGlcdYme8L9Bew4JzIZPMhaWaJ10RFbT76gaQDv5W0UYSFV8jBgD7FguQAc7JQeST0RISUPbDqoUr+CI4E60U9C12mltZKPa9QVmv/RGp+a/9TybZ4f7qs3GUSdmHwBRJJv79xsN chris@cubuntu

Besuchen Sie dann Ihre Profileinstellungen in gitlab unter https://gitlab.internet-sicherheit.de/profile

Dort klicken Sie im Menü links auf den Punkt SSH Keys.

Fügen Sie nun den öffentlichen Schlüssel ein, sprich den gesamten Inhalt der Datei .ssh/id_rsa.pub. Klicken Sie abschließend auf Add key.

Auschecken der Repositories

Gehen Sie wie folgt vor, um sich die git-Umgebung für das Praktikum einzurichten. Sie benötigen 2 Repositories:

  • mcti22/tasks
  • mcti22/<IHR_BENUTZERNAME>

Erstellen Sie dazu am besten ein übergeordnetes Verzeichnis mcti22. Wechseln Sie dann in das Verzeichnis mcti22 und klonen Sie die beiden Repositories wie folgt:

# Übergeordnetes Verzeichnis erstellen und betreten
mkdir mcti22
cd mcti22

# Repository für Aufgabenblätter klonen
git clone git@gitlab.internet-sicherheit.de:mcti22/tasks.git

# Repository für Ihre Lösungen (<IHR_BENUTZERNAME> ist Ihr gitlab-Benutzername, z.B. 'rmueller') klonen
git clone git@gitlab.internet-sicherheit.de:mcti22/<IHR_BENUTZERNAME>.git

# Ihr Lösungsrepository ist leer und muss wie folgt einmalig initialisiert werden, indem Sie eine leere 
# Datei mit dem Namen README.md erzeugen:
cd <IHR_BENUTZERNAME>
touch README.md                     # erzeugt die leere Datei README.md
git add README.md                   # fuege die Datei zur git-Versionsverwaltung hinzu
git commit -m "add README"          # Commit aller bisherigen Aktionen
git push -u origin master           # Die Aenderungen auf den Server schieben

Die resultierende Verzeichnis- und Dateistruktur sollte wie folgt aussehen:

atlas:mcti22 chris$ tree

mcti22
├── tasks                        # hierunter sind alle Aufgabenblätter
│   ├── README.md                   
│   └── 01-email                    # Unterlagen zum Aufgabenblatt 1
│       └── lab1.pdf                # Aufgabenblatt 1 als PDF
│
└── <IHR_BENUTZERNAME>              # Ihre Lösungen
    ├── README.md                   
    ├── 1                           # Lösungen für Aufgabenblatt 1
    │   └── 1.1                     # Lösung für Aufgabe 1.1
    │       ├── logfile.txt         # z.B. eine einzureichende Datei
    │       └── password.txt        # z.B. eine 2. einzureichende Datei
    │
    └── 2                           # Lösungen für Aufgabenblatt 2
        └── 2.?                     # Lösung für Aufgabe 2.?, usw.

Neues Aufgabenblatt "abholen"

Zum Abfragen einer neuen Aufgabe müssen Sie das Projekt tasks aktualisieren.

atlas:mcti22 chris$ cd tasks
atlas:tasks chris$ git pull

Sobald das geklappt hat, sollten neue Aufgabenblätter (sofern verfügbar) in neuen Unterverzeichnissen liegen.

Lösung einreichen

Sie sollen unterhalb Ihres Repositories eine bestimmte Verzeichnisstruktur (wird im Folgenden erläutert) anlegen und mittels git auf den Server "pushen".

Erzeugen Sie unterhalb Ihres Repositories ein Verzeichnis mit dem Namen 1 und darunter ein Verzeichnis mit der Aufgabennummer, also z.B. 1.1. Legen Sie in dieses neue Verzeichnis die einzureichenden Dateien, z.B. falls gefordert ein Passwort in einer Textdatei mit dem Namen password.txt.

atlas:mcti22 chris$ cd <IHR_BENUTZERNAME>
atlas:<IHR_BENUTZERNAME> chris$ git add 1
atlas:<IHR_BENUTZERNAME> chris$ git commit -m 'Aufgabenblatt 1 geloest'
atlas:<IHR_BENUTZERNAME> chris$ git push -u origin master

Reverse Engineering mit Ghidra

Hilfreiche Videos zum Reverse Engineering mit Ghidra:

Wir stellen einen Ghidra-Server zur Verfügung, mit dem Sie in einer Gruppe an einem Shared Project (gemeinsamen Projekt) in Ghidra arbeiten können. Schauen Sie sich dazu folgendes Video an: Reversing: Ghidra: Shared projects on the Ghidra server and version tracking. Unser Ghidra-Server ist unter ghidra.internet-sicherheit.de, Port 13100, erreichbar. Zugangsdaten erhalten Sie auf Wunsch in Ihrem persönlichen Repository.