Hier bin ich wieder mit Tag 3 meiner Reise zum OSCP. Es ist nicht einfach, jeden Tag alles zu dokumentieren, aber ich muss das Versprechen mir selbst gegenüber einhalten. Wie auch immer, heute werde ich die primären Kali Linux-Dienste behandeln, die wir später die meiste Zeit nutzen werden, während wir einige reale Penetrationstests durchführen.
Apache-HTTP-Dienst
Beginnen wir mit dem Dienst, den wir bei Penetrationstests häufig verwenden, dem “Apache-HTTP-Dienst“. Dieser wird meist als Plattform für das Herunterladen von Dateien auf den Opfercomputer verwendet. Mit dem apache HTTP-Dienst können wir unseren Webserver lokal hosten, ohne dass ein einziger Befehl erforderlich ist. Der “apache HTTP-Dienst” ist TCP-basiert und lauscht standardmäßig auf Anschluss 80.
Lassen Sie uns zunächst unsere private IPv4-Adresse über die Befehlszeile herausfinden, indem wir“ifconfig” ausführen, was dem Programm“ipconfig” unter Windows entspricht. Kopieren Sie sie und fügen Sie sie in den Webbrowser ein. Vergewissern Sie sich nach der Weiterleitung, dass dort http:// und nicht https:// steht, gefolgt von Ihrer IPv4-Adresse.
Sie sollten die Meldung“Unable to connect” sehen, was bedeutet, dass nichts mehr läuft. Starten wir unseren Apache-Webserver mit“sudo systemctl start apache2“.
Standardmäßig zeigt Kali keine Ausgaben auf dem Terminal an. Aktualisieren Sie nun die Seite in Ihrem Webbrowser, und schon haben Sie einen lokal laufenden Webserver. Der alternative Befehl lautet“sudo service apache2 start“. Wir können auch einen anderen Port angeben, aber dazu später mehr.
┌──(kali㉿kali)-[~] └─$ sudo systemctl start apache2 #Die Seite jetzt neu laden
┌──(kali㉿kali)-[~] └─$ sudo systemctl stop apache2 #Die Seite wieder neu laden
Wir können auch mit den Befehlen“ss” und“grep” überprüfen, ob der HTTP-Dienst läuft und am TCP-Port 80 lauscht. Der ältere Befehl ist“netstat“,“ss” arbeitet viel schneller und zeigt mehr Informationen an. Der Standardbefehl zeigt an, welche Ports offen sind und womit sie verbunden sind.
Geben wir also“sudo ss -antlp | grep apache” ein. Ich verwende jedoch immer noch gerne den Befehl“netstat“, weil ich ihn manchmal besser lesbar finde. WGrundsätzlich führen wir den Befehl aus und leiten die Ausgabe mit dem ”
|
” Symbol in grep ein, um die Ausgabe nach “apache“. Mehr über grep und Piping an Tag 6.
Ein weiterer nützlicher Befehl zur Überprüfung des Status des Dienstes ist“service apache2 status“.
("apache2",pid=63767,fd=4),("apache2",pid=63766,fd=4),("apache2",pid=63765,fd=4),
("apache2",pid=63764,fd=4),("apache2",pid=63762,fd=4))
┌──(kali㉿kali)-[~] └─$ sudo netstat -antlp | grep apache tcp6 0 0 :::80 :::* LISTEN 63762/apache2
┌──(kali㉿kali)-[~] └─$ sudo systemctl enable apache2 Synchronisiert den Status von apache2.service mit dem SysV-Service-Skript mit /lib/systemd/systemd-sysv-install. Wird ausgeführt: /lib/systemd/systemd-sysv-install enable apache2 Symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service erstellt.
┌──(kali㉿kali)-[~] └─$ sudo systemctl disable apache2 Synchronisiert den Status von apache2.service mit dem SysV-Service-Skript mit /lib/systemd/systemd-sysv-install. Wird ausgeführt: /lib/systemd/systemd-sysv-install disable apache2 Entfernt /etc/systemd/system/multi-user.target.wants/apache2.service.
Bedeutung der Option -antlp (Sie können Ihre eigenen Kombinationen erstellen):
-a Auflistung aller Ports (sowohl TCP als auch UDP)
-n zeigt die Portnummer an
-t ermöglicht die Auflistung der TCP-Ports
-l gibt nur lauschende Sockets/Ports aus
-tp
wird der Name des Dienstes mit seiner PID-Nummer angezeigt, mit der Option ss -tp wird “PID/Programmname” angezeigt.
-u ermöglicht die Auflistung der UDP-Ports
-lx Auflistung aller aktiven UNIX-Abhörports
Wenn Sie möchten, dass der Dienst beim Booten gestartet wird, verwenden Sie den Befehl“sudo systemctl enable apache2“, auch hier werden Sie keine Ausgabe sehen. Zum Beenden ersetzen Sie enable durch disable.
Der sichere Ruf
Der sichere SHell (SSH) Dienst wird meist für den Fernzugriff auf einen Computer über ein sicheres, verschlüsseltes Protokoll verwendet. Der SSH-Dienst ist TCP-basiert und lauscht standardmäßig auf Anschluss 22ab, kann aber auch geändert werden (mehr dazu später). Ändern Sie das Standardpasswort auf Ihrem Rechner, bevor Sie den Dienst nutzen, um zu verhindern, dass sich jemand mit den Standardanmeldeinformationen auf Ihrem Rechner anmeldet.
Um den SSH-Dienst in Kali zu starten, führen wir “
sudo systemctl start
ssh
“, alternativ “sudo service ssh start“. Auch hier gibt der Befehl keine Ausgabe zurück, wenn er erfolgreich abgeschlossen wurde. Wir müssen dies mit dem Befehl “sudo ss -antlp | grep sshd” oder“service ssh status” überprüfen. So starten oder stoppen Sie den ssh-Dienst beim Starten “
sudo systemctl aktivieren
oder deaktivieren Sie
ssh
“.
┌──(kali㉿kali)-[~] └─$ sudo ss -antlp | grep sshd LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=65357,fd=3)) LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=65357,fd=4))
┌──(kali㉿kali)-[~] └─$ sudo netstat -antlp | grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 65357/sshd: /usr/sb tcp6 0 0 :::22 :::* LISTEN 65357/sshd: /usr/sb
┌──(kali㉿kali)-[~] └─$ sudo systemctl stop ssh
┌──(kali㉿kali)-[~] └─$ sudo systemctl enable ssh Synchronisiert den Status von ssh.service mit dem SysV-Service-Skript mit /lib/systemd/systemd-sysv-install. Wird ausgeführt: /lib/systemd/systemd-sysv-install enable ssh Symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service erstellt. Symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service erstellt.
┌──(kali㉿kali)-[~] └─$ sudo systemctl disable ssh Synchronisiert den Status von ssh.service mit dem SysV-Service-Skript mit /lib/systemd/systemd-sysv-install. Wird ausgeführt: /lib/systemd/systemd-sysv-install disable ssh Entfernt /etc/systemd/system/sshd.service. Entfernt /etc/systemd/system/multi-user.target.wants/ssh.service.
Die meisten Dienste in Kali Linux sind verwaltet ähnlich wie SSH und HTTP verwaltet, und zwar über ihre Dienst oder Init-Skripte.
Um eine Tabelle mit allen verfügbaren Diensten anzuzeigen, führen Sie “
systemctl
list-unit-files
“.
Um alle laufenden oder deaktivierten Dienste zu sehen, führen Sie “service –status-all“.
Sie können eine Liste der verschiedenen Anwendungen und Port/Protokoll-Kombinationen in der Datei /etc/services unter Linux mit dem Befehl“cat” (der in Tag 1 behandelt wurde) anzeigen:
cat /etc/services
OR
cat /etc/services | less
Extra:
Nachstehend sind die verschiedenen Hafenkategorien aufgeführt:
0-1023 – die bekannten Ports, die auch als Systemports bezeichnet werden.
1024-49151 – die registrierten Ports, auch bekannt als Benutzerports.
49152-65535 – die dynamischen Ports, die auch als private Ports bezeichnet werden.
TCP | UDP |
FTP (21) | DNS (53) STANDARD |
SSH (22) | DHCP (67,68) |
Telnet (23) | TFTP (69) |
SMTP (25) | SNMP (161) |
DNS (53) FALLBACK | |
HTTP (80) / HTTPS (443) | |
POP3 (110) | |
SMB (139 + 445) | |
IMAP (143) |
0 Comments