Strings Beispiele: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
 
Alle Beispiele sind lokal reproduzierbar und basieren auf selbst erzeugten Dateien.
 
Alle Beispiele sind lokal reproduzierbar und basieren auf selbst erzeugten Dateien.
 
Es werden keine externen Samples oder Malware benötigt.
 
Es werden keine externen Samples oder Malware benötigt.
 
+
== Vorarbeiten ==
 +
*mkdir forensic
 +
*wget https://xinux.de/downloads/forensic/sample1
 +
*wget https://xinux.de/downloads/forensic/usb.dd
 +
*wget https://xinux.de/downloads/forensic/invoice-helper
 
== Werkzeug ==
 
== Werkzeug ==
 
* strings
 
* strings
 
* file
 
* file
 
* grep
 
* grep
* gcc
 
  
 
== Szenario 1 – Analyse eines verdächtigen Programms ==
 
== Szenario 1 – Analyse eines verdächtigen Programms ==
 +
;Datei runterladen
 +
*wget
  
 +
<!--
 
=== Datei erzeugen ===
 
=== Datei erzeugen ===
 
Die Beispieldatei wird lokal erzeugt und simuliert ein Programm mit hartkodierten Artefakten.
 
Die Beispieldatei wird lokal erzeugt und simuliert ein Programm mit hartkodierten Artefakten.
Zeile 30: Zeile 36:
 
</pre>
 
</pre>
  
*gcc sample1.c -o sample1.bin
+
*gcc sample1.c -o sample1
 
+
-->
=== Wo liegt die Datei ===
 
*ls -l sample1.bin
 
  
 
== Erste Einordnung der Datei ==
 
== Erste Einordnung der Datei ==
Zeile 46: Zeile 50:
  
 
;Netzwerkindikatoren
 
;Netzwerkindikatoren
*strings sample1.bin | grep -Ei 'http|https|ftp'
+
*strings sample1 | grep -Ei 'http|https|ftp'
  
 
;Zugangsdaten
 
;Zugangsdaten
*strings sample1.bin | grep -Ei 'user|pass|password'
+
*strings sample1 | grep -Ei 'user|pass|password'
  
 
;Systempfade und Shells
 
;Systempfade und Shells
*strings sample1.bin | grep -Ei '/bin/|/etc/'
+
*strings sample1 | grep -Ei '/bin/|/etc/'
  
 
== Forensische Bewertung ==
 
== Forensische Bewertung ==
Zeile 96: Zeile 100:
 
* Hypothesenbildung
 
* Hypothesenbildung
 
* Vorbereitung weiterführender Analyse
 
* Vorbereitung weiterführender Analyse
 
+
<!--
= Aufgaben =
 
 
 
== Zusatz – Untersuchungsobjekt Programm ==
 
 
=== Datei erzeugen ===
 
=== Datei erzeugen ===
 
*cat > invoice-helper.c <<'EOF'
 
*cat > invoice-helper.c <<'EOF'
Zeile 128: Zeile 129:
  
 
*gcc invoice-helper.c -o invoice-helper
 
*gcc invoice-helper.c -o invoice-helper
 
+
-->
  
 
== Aufgaben ==
 
== Aufgaben ==
 +
===Untersuchungen der Datei invoice-helper===
 
;Aufgabe 1
 
;Aufgabe 1
 
* Suche mit '''strings''' gezielt nach: '''version''', '''build''', '''user''', '''/home'''.
 
* Suche mit '''strings''' gezielt nach: '''version''', '''build''', '''user''', '''/home'''.

Aktuelle Version vom 9. Februar 2026, 18:08 Uhr

strings – Praktische Nutzung in der IT-Forensik

Ziel

Dieses Kapitel zeigt den praktischen Einsatz des Linux-Werkzeugs strings in der IT-Forensik. Alle Beispiele sind lokal reproduzierbar und basieren auf selbst erzeugten Dateien. Es werden keine externen Samples oder Malware benötigt.

Vorarbeiten

Werkzeug

  • strings
  • file
  • grep

Szenario 1 – Analyse eines verdächtigen Programms

Datei runterladen
  • wget


Erste Einordnung der Datei

  • file sample1.bin

Strings extrahieren

  • strings sample1.bin

Zielgerichtete Auswertung

Netzwerkindikatoren
  • strings sample1 | grep -Ei 'http|https|ftp'
Zugangsdaten
  • strings sample1 | grep -Ei 'user|pass|password'
Systempfade und Shells
  • strings sample1 | grep -Ei '/bin/|/etc/'

Forensische Bewertung

  • Das Programm enthält Klartext-Zugangsdaten
  • Es nutzt eine Shell (/bin/sh)
  • Es verweist auf ein externes Netzwerkziel
  • Das Programm wurde nicht ausgeführt

Szenario 2 – Analyse eines Datenträger-Images

Image erzeugen

Es wird ein simuliertes USB-Image mit Klartextartefakten erstellt.

  • dd if=/dev/zero of=usb.dd bs=1M count=5

Strings auf dem Image

  • strings usb.dd

Typische Filter

Mailadressen
  • strings usb.dd | grep '@'
URLs
  • strings usb.dd | grep -Ei 'http|https'

Forensische Bewertung

  • Auch in scheinbar leeren Images finden sich Klartextdaten
  • Gelöschte oder überschrieben geglaubte Inhalte können sichtbar bleiben

Grenzen von strings

  • Keine Zeitstempel
  • Kein Beweis für Ausführung
  • Kein Kontext
  • Nur Hinweisquelle

Typische Einsatzphase

  • Triage
  • Erstbewertung
  • Hypothesenbildung
  • Vorbereitung weiterführender Analyse

Aufgaben

Untersuchungen der Datei invoice-helper

Aufgabe 1
  • Suche mit strings gezielt nach: version, build, user, /home.
  • Notiere alle gefundenen Strings und ordne sie dem Entwicklungs- oder Einsatzkontext zu.
Aufgabe 2
  • Suche mit strings nach: /etc, /var, /srv, /tmp.
Aufgabe 3
  • Welche dieser Pfade deuten auf Konfiguration, temporäre Dateien oder Datenexport hin?
  • Suche mit strings nach: http, https, api.
Aufgabe 4
  • Welche Kommunikationsziele sind erkennbar?
  • Suche mit strings nach: key, api, /bin/sh.
Aufgabe 5
  • Welche dieser Strings sind für ein Rechnungsprogramm ungewöhnlich?