Terminal-Tools

Die Seite Terminal-Tools enthält eine Sammlung nützlicher Terminal-Befehle, die mit jedem GNU/Linux-System kompatibel sein sollten – vorausgesetzt, das entsprechende Paket bzw. Tool ist installiert.

Nutzung auf eigene Gefahr

Sprungmarken zu den Themen


1. Dateiebene

Allgemein

Festplattenplatz anzeigen:

df -h

Größe eines Verzeichnisses anzeigen:

du -h pfad

Programmpfad anzeigen:

which programm

Anzeige offener Dateien eines Programmes

lsof | grep programm

Anzeige der Prozesse, die auf eine angegebene Datei zugreifen

lsof | grep dateiname

find

Suche nach Dateiname:

find /pfad -name "dateiname.typ"

oder alternativ via grep:

grep -R 'String' /pfad

Suche nach speziellem Dateityp:

find /pfad -type f -iname "*.dateityp"

Suchen und Löschen eines speziellen Dateityps:

find /pfad -type f -iname "*.dateityp" -exec rm -rf {} \;

Alle Dateien nach einem String durchsuchen:

find /pfad -type f -execdir grep -i 'string' {} /dev/null \;

oder alternativ via grep:

grep -r -i 'string' /pfad

dd

Festplatte/Device mit Nullen überschreiben [X] = Device/Festplatte:

dd if=/dev/zero of=/dev/sdX bs=1M

Festplatte/Device mit zufälligen Daten (sicherer) überschreiben [X] = Device/Festplatte:

dd if=/dev/urandom of=/dev/sdX bs=1M

sha256sum

Checksumme (SHA-256) prüfen:

sha256sum -c dateiname.SHA256

Checksumme erstellen:

sha256sum dateiname

gpg

Datei verschlüsseln:

gpg -e dateiname

Datei enschlüsseln:

gpg -d dateiname.gpg > decrypted-datei

Signatur prüfen:

gpg -v --verify signatur datei

2. TLS / Cipher-Suites

nmap

Überprüfen der angebotenen Verschlüsselungsalgorithmen | Cipher-Suites eines SSH-Servers:

nmap -n -sV --script ssh2-enum-algos  -p 22 ip-address

Überprüfen der angebotenen Verschlüsselungsalgorithmen | Cipher-Suites eines Webservers:

nmap -n -sV --script ssl-enum-ciphers -p 443 ip-address

Cipher-Suite-Test

Für einen umfangreichen Test der Cipher-Suites sollte testssl.sh verwendet werden.

openssl

Prüfen, ob eine Domain OCSP-Stapling aktiviert hat:

openssl s_client -connect domainname:443 -servername domainname -status < /dev/null 2>&1 | grep -i "OCSP response"

Ausgabe:

OCSP response: OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response

3. Netzwerk

netstat

Anzeige von TCP-/UDP-Ports, die lokal angeboten werden:

netstat -tulpen

Anzeige von aktiven IPv4-TCP-Verbindungen:

netstat -p | grep tcp | grep VERBUNDEN

Anzeige von wartenden IPv4-TCP-Verbindungen:

netstat -p | grep tcp | grep TIME_WAIT

oder alternativ via lsof:

lsof -i -P | grep ESTABLISHED

ss

Anzeige von TCP-/UDP-Ports, die lokal angeboten werden:

ss -ltup

Anzeige von aktiven IPv4-TCP-Verbindungen:

ss -p4 state established

oder alternativ via lsof:

lsof -i -P | grep ESTABLISHED

4. DNS

dig

Prüfen ob der eingestellte DNS-Server DNSSEC unterstütz bzw. Domains validiert:

dig dnssectest.sidn.nl +dnssec +multi @DNS-Server-IP-Adresse

Haltet in der Antwort im Header Ausschau nach den Flags bzw. nach dem AD-Flag (Authenticated answer):

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7016
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

5. Kernel (Debian GNU/Linux)

Auflisten der installierten Kernel-Images:

dpkg -l | grep linux-image-* | awk '{print$2}'

Auflisten der installierten Kernel-Headers:

dpkg -l | grep linux-headers-* | awk '{print$2}'

Aktuell benutzen Kernel anzeigen:

uname -sr

Nicht benutze Kernel-Images/-Header entfernen:

apt-get remove --purge kernelimage/kernelheader

Nicht benutze Kernel-Libs entfernen:

rm /lib/modules/kernel/ -R

6. nginx

curl

Expire Header Test:

curl -i https://www.kuketz-blog.de/wp-content/themes/kuketz-security/images/it-security.png

Google Bot Access:

curl -i -H "User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html" https://www.kuketz-blog.de/robots.txt