# 3.Praktikum Portscanner Nmap
[Aufgabenblatt](https://drive.proton.me/urls/DGF73PSM34#HkrnIk9bmEJe)
## P1. Nmap Einstieg
**1. Localhost und einen Rechner eines Gruppenmitglieds scannen und Ergebnis notieren**
1.1 Terminal öffnen
1.2 nmap 127.0.0.1 oder nmap localhost eingeben
Dieser Befehl führt einen Standard-Scan auf offenen Ports durch.
Weitere Befehle:
```
nmap -p- 127.0.0.1 -> nmap scannt normalerweise nur 1.000 am häufigsten verwendeten Ports. Um alle Ports (65.535) zu scannen, diesen Befehl verwenden.
```
```
nmap -A 127.0.0.1 -> liefert zusätzlich Informationen wie Betriebssystemerkennung, Versionen und sogar Skript-Scans:
```
```
nmap -sV 127.0.0.1 -> liefert zusätzlich Informationen wie Services auf den Ports laufen und welche Versionen sie verwenden
```
```
nmap -oN output.txt 127.0.0.1 -> Ausgabe in eine Textdatei
```
Erwartete Ausgabe:
Eine Liste von offenen Ports und Diensten, die auf dem Rechner aktiv sind. Typische offene Ports könnten SSH (22) oder Webserver (80) sein, falls Dienste laufen.
---
Auf dem Jumphost (10.20.175.54):




Auf dem AP1 (172.16.56.101)


---
1.3 nmap <IP-Adresse des Gruppenmitglieds>
Erwartete Ausgabe:
Eine Liste von offenen Ports und Diensten, die auf dem Rechner aktiv sind. Typische offene Ports könnten SSH (22) oder Webserver (80) sein, falls Dienste laufen.
<br>
<br>
<br>
**2. Starten bzw. stoppen folgender Dienste auf den Rechnern der Gruppe:**
webserver:
```
sudo systemctl start apache2.service
```
Erwartete Ausgabe: Webserver wird aktiv und der Port 80 solle als offen angezeigt werden, wenn er gescannt wird
ssh:
```
sudo systemctl stop ssh
```
Erwartete Ausgabe: Der Port 22 (SSH) wird geschlossen und nmap sollte ihn als nicht erreichbar anzeigen
<br>
<br>
<br>
**3. Rechner eines Gruppenmitglieds scannen**
3.1. IP-Adresse des Rechners eines Gruppenmitglieds identifizieren
```
ipconfig
oder
ip a
```
3.2 Wireshark öffnen, Netzwerkinterface auswählen, Paketaufzeichnung starten
evtl. Capture-Filter setzen
```
ip.addr == <IP-Adresse>
```
3.3. Terminal öffnen und nmap-Scan ausführen
```
nmap -sn <Ziel-IP>
```
-> Generiert ICMP-Echo-Anfragen (Ping)
-> In Wireshark: Sichtbar als ICMP Type 8 (Echo Request)
```
nmap -sS <Ziel-IP>
```
-> sendet TCP-SYN-Pakete
-> In Wireshark: Sichtbar als TCP-Pakete mit "SYN" im Flag-Feld
Mögliche Antworten:
SYN/ACK: Der Port ist offen, jede SYN-ACK-Antwort stellt eine Verbindungsmöglichkeit dar
RST: Der Port ist geschlossen, der Computer ist jedoch aktiv (RST=Reset)
```
nmap -sT <Ziel-IP>
```
-> vollständiger TCP-Verbindungs-Scan (SYN, ACK, FIN)
-> In Wireshark: Sichtbar als vollständiger TCP-Handshake
```
nmap -sU <Ziel-IP>
```
-> sendet UDP-Pakete
-> In Wireshark: Sichtbar als UDP-Pakete (löst manchmal ICMP-"Port Unreachable"-Antworten aus)
## P.2 Rechner IPs suchen
```
nmap -sn: Führt nur einen Ping-Scan durch (kein Port-Scan).
```
Weitere Möglichkeit:
```
sudo arp -a
```
Zeigt die ARP-Tabelle des Systems, in der IP-Adressen mit MAC-Adressen der zuletzt kommunizierenden Geräte verknüpft sind.
Weitere Möglichkeit:
```
sudo arp-scan --localnet
```
--localnet scannt das gesamte lokale Netzwerk basierend auf dem Subnetz.
Die Ausgabe zeigt die IP- und MAC-Adressen aller aktiven Geräte im Netzwerk.
Voraussetzung: arp-scan muss installiert sein. (sudo apt install arp-scan)


## P.3 Portscans mit zenmap
1. Zenmap starten
1.1 Terminal starten
1.2 sudo zenmap eingeben
2. Die vordefiniterten Profile „Intense scan“, „Quick scan“ und „Slow comprehensive scan“ auf die verwendeten Optionen von nmap analysieren
a) Intense scan








b) Quick scan



c) Slow comprehensive scan







## P.4 Laborrechneranalyse
Mit interner Adresse (172.16.56.0)





Mit externer Adresse (192.168.66.0)






## P.5 Schwachen Rechner analysieren
Linux-Kernel 2.2 wurde im Januar 1999 veröffentlicht und durch neuere Kernelserien (z. B. 2.4, 2.6, 3.x, 4.x, 5.x) ersetzt. Die letzte stabile Version 2.2.26 wurde im Februar 2004 veröffentlicht.
-> Risiko: Angreifer haben Zugriff auf öffentliche Exploits für den Kernel 2.2
## P.6 Zenmap im Testumfeld der Cloud
- VNC-Client $\to$ vncviewer $\to$ jumphost
- Aufruf $\boxed{vncviewer\space10.20.175.154}$
| User | Passwd |
| -------- | -------- |
| user1 | !!user1! |
| user2 | !!user2! |
| user3 | !!user3! |
| user4 | !!user4! |
| user5 | !!user5! |
| root | !!root! |
Zenmap (linke Spalte "Services")
| Services | Standardport | Bedeutung |
| ----------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| http | 80 | Webserver, der unverschlüsselte Webseiten bereitstellt |
| ftp | 21 | |
| mysql | 3306 | Datenbankdienst, der Verbindungen zu einer MySQL-Datenbank ermöglicht |
| domain | 53 | Der Rechner fungiert als DNS-Server |
| intermapper | 8181/8182 | Netzwerküberwachungstool, das Netzwerkgeräte, Server und Dienste visualisiert |
| ipp | 631 | Internet Printing Protocoll, Netzwerkprotokoll für das Drucken über das Internet oder lokale Netzwerke. Wird von Druckern und Druckservern verwendet, um Druckaufträge zu empfangen und verwalten |
| netbios-ssn | 139 | NetBIOS Session Service, älteres Protokoll für Datei- und Druckerfreigabe, häufig in älteren Windows-Umgebungen für SMB |
| ppp | 1723 | Point-to-Point Protocoll. Wird in älteren VPN-Lösungen eingesetzt, um Remote-Benutzern Zugriff auf ein Netzwerk zu gewähren |
| tcpwrapped | | Wenn Zenmap/Nmap einen Port als tcpwrapped kennzeichnet, heißt das, dass der Dienst Verbindungen nicht zulässt, die nicht explizit autorisiert sind |
| X11:1 | 6001 | X11 ist ein Protokoll, das GUI über ein Netzwerk bereitstellt. Wird in Linux-Umgebungen verwendet um grafische Oberflächen remote anzuzeigen (z.B. über ssh -X) |
Zenmap (rechte Spalte "Liste der gefundenen Services")
| Hostname | Port| Protocol | State| Version |
| -------- | -------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| | Port, auf dem der Dienst lauscht | das jeweilige Netzwerkprotokoll | Status des Ports, den den Dienst hostet open = Post ist offen, Dienst ist ereichbar. filtered = Port wird durch eine Firwall blockiert. closed = Port ist erreichbar, aber es läuft kein Dienst drauf | genaue Version des Dienstes, z.B. Apache 2.4.38 für http |
2. SSH Host-Keys finden
```
nmap -p 22 --script ssh-hostkey 192.168.66.xxx
```
Das Skript ssh-hostkey identifiziert die SSH-Host-Keys und zeigt die Fingerabdrücke (z. B. RSA, DSA, ED25519) an.
Die Anzahl der angezeigten Schlüssel entspricht der Anzahl der untersuchten SSH-Server.
In Zenmap:
Bereich Profile oder im Befehlseingabefeld das Skript eingeben
Gründe für mehrfaches Auftreten mancher Schlüssel:
* manche Hosts können mehrfach im Scan erscheinen, wenn sie mehrere Schnittstellen haben
* wenn ein Host-System geklont wurde, ohne neue SSH-Keys zu generieren, verwendet der Klon denselben Schlüssel
Speichern der Ergebnisse:
In Zenmap: -> Menü -> Datei -> Exportieren
In Nmap:
```
nmap -p 22 --script ssh-hostkey 192.168.66.xxx -oN ergebnisse.txt
```