11 Bash Tools für OSINT

Für viele Dinge kannst Du Webseiten nutzen, die Abfragen ermöglichen. Oftmals bekommst Du im Gegenzugr Werbung und was die Webseiten mit den Daten anfangen, weißt Du auch nicht. Viele Anfragen kannst Du einfach mit der Bash durchführen. (Installationen werden hier für debianbasierte Systeme wie Ubuntu oder Linux Mint vorgestellt.) Außerdem habe ich in diesem Artikel die wichtigsten Befehle für die Bedienung der Bash gezeigt. Alle vorgestellten Programme sind in Linux Mint über apt installierbar oder vorinstalliert.

1. Whois

Einer der Abfragen, die man bei Webseiten immer durchführt ist whois. Diese Abfrage kannst Du auch in der Bash durchführen. Du musst allerdings vorher das Programm whois installieren:

sudo apt install whois
whois 1.2.3.4
whois example.com

Mit whois erhältst Du Registrationsinformationen. Seit vielen Jahren ist whois nicht mehr so ergiebig wie früher, aber Du erfährst immer noch eine Firma, die etwas mit dieser IP oder Domain zu tun hat. Meist eine Telekommunikationsfirma z.B. bei dynamischen IP-Adressen oder einen Hoster, z.B. bei Domains. Wer eine gesetzliche Berechtigung hat, kann natürlich diesen Firmen weitere Fragen zu der IP oder Domain stellen.

2. Ping

Mit dem Ping Kommando wird ein Datenpaket an die Zieladresse gesendet. Wenn diese Ping akzeptiert wird ein Paket zurückgesendet. Die Zeit zwischen Versand und Ankunft der Antwort wird gemessen und lässt Rückschlüsse auf die Entfernung dazu. Zu dem Thema Entfernung habe ich in meinem Artikel über Geolocation von IP-Adressen schon berichtet

ping 1.2.3.4
ping example.com

Pingst Du eine IP, erfährt Du ob sie erreichbar ist (Ping Pakete können aber von Zielservern auch weggeworfen werden) und wie gesagt, die zeitliche Entfernung. Bei Domains erhältst Du die IP-Adresse (oder eine IP-Adresse) der Domain die Du anpingst. Ggf. erscheint auch eine abweichende Domain. In dem Fall kannst Du davon ausgehen, dass die IP von mehreren Domains genutzt wird.

3. Wget

Mit wget kannst Du Dir Dateien, Webseiten und sogar komplette Webpräsenzen herunterladen.

sudo apt install wget
wget "https://example.com/datei.pdf"

Wget hat sehr viele Parameter, die Du mitgeben kannst. Angefangen von der Anzahl der Links der gefolgt werden soll, über welchen User-Agent-String Du mitschicken willst, bis hin dazu ob robots.txt ignoriert werden soll. Mit dem Befehl

man wget

kann man sich die Parameter auch ansehen. Und in meinem Artikel zum Download von Webseiten über TOR habe ich auch schon ausführlicher dazu geschrieben.

4. Curl

Curl eignet sich wie wget zum Übertragen von Dateien und Webseiten, aber der Schwerpunkt liegt nicht so sehr auf dem Download oder dem Verfolgen von weiteren Links dieser Webseite

curl "https://example.com/seite.html"

Auch hier kannst Du einen eigenen User-Agent-String mitgeben und weitere Parameter benutzen. Manche Webseiten unterstützen auch curl dahinhgehend, dass sie die Daten für derartige Anfragen schön aufbereiten wie

curl "https://wttr.in"

Curl und wget sind jedenfalls sehr mächtige Programme, die Du aus meiner Sicht kennen solltest und die jeweils in unterschiedlichen aber manchmal auch den gleichen Szenarien eingesetzt werden können. Curl nutze ich dann, wenn ich mit der Ausgabe weiterarbeiten möchte. Wget, wenn ich keine Ausgabe sondern einen Download möchte. Aber natürlich kannst Du eine mit curl erzeugte Ausgabe speichern.

curl "https://example.com/seite.html" > example_com_seite.html

5. Tor

Mit dem Programm tor kannst Du Dir Zugriff auf das TOR-Netzwerk aus der Bash verschaffen und mit torsocks Programmen den Zugriff auf das TOR-Netzwerk ermöglichen. Dies habe ich bereits ausführlich beschrieben

sudo apt install tor
torsocks wget -p -x -k "o2cgnt55iwlishovskr6xovntd4o67loqmwh4g24bdg7qh3gmtydmxyd.onion" -o log

6. Traceroute

Traceroute ermöglicht es einem, den Weg zur Ziel-IP oder -Domain nachzuvollziehen. Wobei Du immer erleben wirst, dass einzelne Zwischenserver nicht antworten. In diesem Fall werden Sternchen angezeigt. Dennoch erhältst Du so IPs die auf dem Weg liegen und manchmal auch Domainnamen. Je näher dieser traceroute kommt um so eher ist es Teil der Infrastruktur in der die Ziel-IP gerade genutzt wird.

sudo apt install traceroute
traceroute example.com
traceroute 1.2.3.4

Und natürlich kannst Du die IPs und Domains wieder mit ping und whois abfragen. In dem Beispiel könntest Du natürlich auch googeln um herauszufinden was edgecastcdn.net nun für ein Dienst ist.

7. Dig

Der dig-Befehl wird genutzt um das Domain Name System zu durchsuchen. Dig hat sehr viele Parameter und wäre einen eigenen Artikel wert. Ich zeige jetzt nur mal ein paar Beispiele. Im ersteren erhältst Du Informationen aus dem DNS über example.com, beim zweiten kannst Du sich die zusätzlichen TXT Einträge ansehen (Google verlangt von Site-Betreibern einen Verification-Code im DNS einzutragen). Beim dritten werden Dir die Mailserver aufgelistet. Mit man dig findest Du alle Optionen und kurze Erläuterungen. Und wie immer finden sich im Netz auch viele Seiten, die den Befehl beschreiben.

dig example.com
dig example.com TXT
dig example.com MX
man dig

8. Nslookup

Ein weiteres Tool um den DNS zu durchsuchen ist nslookup. Hier kannst Du das DNS z.B. fragen welche IP eine Domain hat oder welcher Domainname einer IP zugeordnet wird.

nslookup example.com
nslookup -q=any example.com
nslookup 1.2.3.4
nslookup -type=mx example.com
nslookup -type=txt example.com

9. Exiftool

Mit dem exiftool kannst Du Dir die Metadaten aus einem digitalem Bild extrahieren

sudo apt install exiftool
exiftool bild.jpg

10. Git

Mit git kannst Du Dir sehr viele sogenannte Repositories von der Github-Seite klonen. Anschließend kannst Du diese Programme installieren oder andersweitig nutzen. Git pull sieht nach ob es eine Aktualisierung gab und lädt diese herunter.

sudo apt install git
git clone https://github.com/thewhiteh4t/nexfil.git
git pull

11. Pip

Mit pip kannst Du viele OSINT-Projekte installieren, die über pipy.org veröffentlicht wurden

sudo apt install python3-pip
pip install nexfil

Über dem Umgang mit pip und git habe ich schon einen Artikel veröffentlicht. Es gibt in dem Bereich unzählige Projekte, die meistens über die Bash installiert, aber oft auch in der Bash betrieben werden. Und ja, sie werden auch in anderen Shells funktionieren.