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 -ddateiname
.gpg >decrypted-datei
Signatur prüfen:
gpg -v --verifysignatur
datei
2. TLS / Cipher-Suites
nmap
Überprüfen der angebotenen Verschlüsselungsalgorithmen | Cipher-Suites eines SSH-Servers:
nmap -n -sV --script ssh2-enum-algos -p22
ip-address
Überprüfen der angebotenen Verschlüsselungsalgorithmen | Cipher-Suites eines Webservers:
nmap -n -sV --script ssl-enum-ciphers -p443
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 -connectdomainname:443
-servernamedomainname
-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