#let response(body) = {
  set text(
    weight: "semibold",
    purple,
  )
  [#body]
}

= 060 Portscans

== Aufgabe 1
Erklären Sie die Begriffe sowie die Bedeutung Authentisierung, Autorisierung und Accounting.

#response[
  - Authentisierung:
    -  Identitätsnachweis
  - Autorisierung:
    - Rechtevergabe
  - Accounting:
    - audit trail über logging
]

#link("https://en.wikipedia.org/wiki/Authentication%2C_authorization%2C_and_accounting")[
  wikipedia: Authentication, authorization, and accounting
]

== Aufgabe 2
Was ist ein Port?

#response[
    Als Port versteht man einen Kommunikationsendpunkt. Auf der Softwareebene ist ein Port ein Konstrukt, mit dem man ein spezifischen Prozess oder ein network-service identifizieren kann.
]

#link("https://en.wikipedia.org/wiki/Port_(computer_networking)")[
  wikipedia: Port\_(computer_networking)
]

== Aufgabe 2
Was ist ein Portscanner und wofür wird er verwendet?

#response[
  Ein Portscanner ist eine Applikation, die dazu dient offene Ports bei bspw. Applikationen und Servern zu ermitteln. Dieser kann sowohl von Administratoren verwendet werden um Sicherheitslücken zu ermitteln, als auch von Angreifern um sich zugriff zu schaffen.
]

#link("https://en.wikipedia.org/wiki/Port_scanner")[
  wikipedia: Port_scanner
]

== Aufgabe 3
Ein Portscanner sendet eine Anfrage zur Verbindung mit einem Port eines Computers und zeichnet die Antwort auf. Es gibt drei mögliche Antworten, welche sind es?

#response[
  + Open or Accepted
  + Closed or Denied
  + Filtered, Dropped or Blocked
]

#link("https://en.wikipedia.org/wiki/Port_scanner")[
  wikipedia: Port_scanner
]

== Aufgabe 4
Welche Portscan-Techniken gibt es?

#response[
  - TCP 
  - SYN 
  - UDP
  - ACK
  - Window
  - FIN
]

#link("https://en.wikipedia.org/wiki/Port_scanner")[
  wikipedia: Port_scanner
]


== Aufgabe 5
Welche Möglichkeiten gibt es zur Erkennung von Portscannern?

#response[
  Mehrere Requests durch einen oder mehrere IP-Adressen an unterschiedlichen Ports (abtasten).
]

== Aufgabe 6
Welche Auswirkungen kann ein Portscan haben?

#response[
  - Entdeckung von offenen Ports
  - Geldstrafe lulz
]

== Aufgabe 7
An welchem Angriffs-Muster könnte man einen Portscan identifizieren und wie lässt sich dies vermeiden?

#response[
  + inkrementierende Portnummer-Anfragen durch eine Person
  + Auslastung und Testen aller Ports anhand eines Botnets
]

== Aufgabe 8 - Praxis
Welche Möglichkeiten gibt es auf einem Linux-System mit Kommandozeilenzugriff die offenen Ports herauszufinden ohne einen Portscan durchzuführen? (bspw. auf dem Kali-Container)

#response[
  `#netstat -lntu`
]

#image("netstat.png")

== Aufgabe 9 - Praxis
Führen Sie mit Hilfe der folgenden Tools jeweils einen Port-Scan für Port 20 bis 80 durch: nmap, netcat bzw. nc, echo, bash 

#response[
  === nmap
  #image("nmap.png")
]