Lese-Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.

truffleHog3 – Passwörter und Zugangsdaten in Git, Github, Gitlab oder AWS finden und entfernen

Bereits im April dieses Jahres wurde Version 3 des Repository-Security-Tools Trufflehog veröffentlicht. Zeit, einen eigenen Artikel über das bekannte Kali Tool zu verfassen.

Was ist Trufflehog

Leaked credentials oder secret keys sollten nicht in Github Repositorys zu finden sein, dennoch passiert dies öfters als gedacht. Genau hier setzt das Tool truffleHog3 an, es scannt Repositorys und mehr auf Geheimnisse wie Zugangsdaten, API Keys usw.

Das Security-Tool durchläuft dabei die gesamte Commit-Historie jedes Branches, prüft jedes diff von jedem commit und sucht nach Geheimnissen.

Möglich wird dies unter anderem durch die Verwendung von regulären Ausdrücken und Entropie.

Mit der Version 3 unterstützt truffleHog inzwischen mehr als 700 verschiedene Key Types von AWS, Azure, Confluent oder Facebook. Eine Übersicht der Detektoren ist hier zu finden.

Folgende Code Quellen werden momentan unterstützt:

  • git
  • github
  • gitlab
  • S3
  • filesystem
  • syslog

Installation

Die Trufflehog Installation erfordert eine funktionierende GO Installation. Alternativ kann auch auf Python Pip zurückgegriffen werden, allerdings wird via Pip momentan keine aktuelle Version angeboten. Für einen Test bietet sich die Docker Variante an.

#Aktuellste Version
git clone https://github.com/trufflesecurity/trufflehog.git
cd trufflehog
go install oder go build

#Via Python Pip (allerdings steht hier nur Version 3.0.x zur Verfügung)
pip3 install trufflehog3

#Die aktuellste Version via Docker Paket laufen lassen

docker run -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity

Anwendungsbeispiele

#Hilfe
trufflehog --help

#github scan mit Optionen
trufflehog github --repo=https://github.com/trufflesecurity/trufflehog

trufflehog github --repo=https://github.com/trufflesecurity/trufflehog --json --only-verified

#AWS scan
trufflehog s3 --bucket=<bucket name> --only-verified

#Dateisystem
trufflehog filesystem --directory=/home/guenny/ansible/repository

Da die aktuellste Version momentan nur via Source/Docker zur Verfügung steht, können Gitlab, S3 und Co nur darüber gescannt werden

  git [<flags>] <uri>
    Find credentials in git repositories.

  github [<flags>]
    Find credentials in GitHub repositories.

  gitlab --token=TOKEN [<flags>]
    Find credentials in GitLab repositories.

  filesystem --directory=DIRECTORY
    Find credentials in a filesystem.

  s3 [<flags>]
    Find credentials in S3 buckets.

  syslog [<flags>]
    Scan syslog

trufflehog


Passwörter und andere Geheimnisse aus Git-Repositories entfernen

Was tun, wenn ein Passwort gefunden wurde?

Git Filter Branch bietet eine Möglichkeit, um dieses Problem zu beheben.

Beispielsweise:

git filter-branch --prune-empty --index-filter "git rm --cached -f --ignore-unmatch löschdatei" -- --all

Git Filter Branch ist ein sehr mächtiges Tool, daher verweist Github selbst auf den BFG Repo Cleaner und git filter-Repo

Mit ersterem lassen sich relativ einfach sensitive Dateien löschen oder ersetzen.

bfg --delete-files id_{dsa,rsa}  my-repo.git
bfg --replace-text passwords.txt  my-repo.git
git push --force

Wenn ein Passwort im letzten Commit vorhanden ist, würde übrigens auch amend ausreichen:

git commit --amend

Fazit

Vergessene Zugangsdaten in Repositorys schaffen unnötige Sicherheitslücken. Diese lassen sich mit TruffleHog einfach aufspüren. Das Tool unterstützt inzwischen weit mehr als nur Github. So lässt sich der gesamte Software Development Life Cycle/SDLC bei Bedarf überwachen.

Mit TruffleHog Enterprise bietet der Hersteller inzwischen eine GUI in der Cloud an, allerdings lässt er sich diese auch bezahlen. Für eine automatisierte Überwachung der eigenen Repositorys lassen sich alle Aufgaben via Kommandozeile erledigen.

Download



Ähnliche Artikel

Security Tools: Trivy – Docker Container auf Sicherheitslücken durchsuchen

Nuclei - schneller Schwachstellen Scanner mit praktischen Vorlagen

Security: GVM 21.04 - mit Docker in 15 Minuten zum OpenVAS Schwachstellen Scanner

IIS Crypto 3.3 - Protokolle und Cipher Suites unter Windows verwalten

Um Cipher Suites auf Windows Servern zur verwalten, muss in die Registry (HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL) eingegriffen werden. Nartac Software möchte diesen Eingriff am offenen Herzen vereinfachen und bietet seit Jahren das Tool IIS Crypto an.

IIS Crypto 3.3

IIS Crypto ermöglicht die einfache Verwaltung von Server-Protokollen, Chipers, Hashes und Schlüsselaustauschalgorithmen unter einer Oberfläche.

Ich habe dieses Tool früher oft verwendet, um Windows Server zu härten. Es werden die Versionen 2008, 2012, 2016, 2019 und 2022 unterstützt. Am besten hat mir die Möglichkeit gefallen, Cipher Suites neu anzuordnen.

Neben Windows Server 2022 wurde in der aktuellen Version die Unterstützung für TLS 1.3 implementiert.

Vorhandene Vorlagen wurden angepasst. So werden im Strict Template nun CBC Ciphers Suites unter Windows 2016 und höher entfernt.

iss-crypto

Fazit

Wenn man bedenkt, wie lange TLS 1.3 bereits im Einsatz ist, haben sich die Entwickler hinter IIS Crypto sehr (sehr) viel Zeit gelassen.

Unabhängig davon bietet das Tool mit seinen Best Practices (siehe Screenshot) unerfahrenen Nutzern eine einfache Möglichkeit, Windows Server zu härten und besser abzusichern.

Download

Shellclear - History automatisch auf sensible Inhalte untersuchen

Das kleine Tool shellclear automatisiert das Überprüfen der Shell History auf sensible Inhalte wie Passwörter oder Zugangstoken.

shellclear

Unterstützt werden Shells wie Bash, Zsh, PowerShell und Fish. Das Tool greift auf ein Pattern-File zurück, welches beliebig erweitert werden kann.

Beim Start der Shell werden die Inhalte der History automatisch über dieses YAML-Pattern-File auf Passwörter und Token geprüft.

Sind sensible Inhalte vorhanden, werden diese gelistet und können gelöscht werden.

Momentan wird auf AWS Access Keys, Github Tokens, Gitlab Tokens, Slack, Cloudflare, Twitter, Facebook und vieles mehr getestet.

Installation

curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | bash

Einbinden in die Shell

nano ~/.bashrc
eval $(shellclear --init-shell)

bzw. 

nano ~/.zshrc
eval $(shellclear --init-shell)

Powershell

$PROFILE

Invoke-Expression (&shellclear --init-shell)

Fish

nano ~/.config/fish/config.fish

shellclear --init-shell | source

shellclear-findings

Verwendung

Durch das Einbinden in beispielsweise Zsh oder Bash prüft shellclear bei jedem Start automatisch auf sensible Inhalte in der History. Dieser Vorgang kann zusätzlich manuell gestartet und konfiguriert werden. Auch das Banner "your shell is clean from sensitive data" lässt sich ausblenden.

#sensible Inhalte suchen
shellclear find

#sensible Inhalte als Tabelle ausgeben
shellclear find --format table

#sensible Inhalte bereinigen
shellclear clear

#banner ausblenden
shellclear --no-banner

#eigene Config festlegen
shellclear config

#history verstecken
shellclear stash

Fazit

Kleiner Helfer für den Alltag, der tut, was er soll. Dank des YAML Formats ist das Tool beliebig erweiterbar. Abgesehen davon sind die größten Cloud-Firmen bereits integriert und das Tool erfüllt im Hintergrund seinen Zweck.

Kali Linux als virtuelle Maschine unter macOS mit UTM ausführen

Der Einsatz von Kali Linux auf einem »alten« Apple-Rechner ist einfach: Sie installieren zuerst VirtualBox und dann in einer virtuellen Maschine die x86-Version von Kali Linux. Die Vorgehensweise ist im Internet vielfach dokumentiert.

Schon etwas komplizierter wird die Sache, wenn Sie einen M1- oder demnächst einen M2-Mac besitzen. VirtualBox steht für diese CPU-Architektur nicht zur Verfügung. Sie haben die Wahl zwischen den beiden kommerziellen und relativ teuren Virtualisierungssystemen Parallels und VMware Fusion sowie dem Programm UTM, das auf der unter Linux beliebten Virtualisierungs-Software QEMU basiert. Dieser Blog-Beitrag zeigt, wie Sie die ARM-Variante von Kali Linux unter UTM installieren.

Die ARM-Variante von Kali Linux läuft in einem Fenster unter macOS (getestet auf einem Mac Mini M1)

UTM

Sie können UTM wahlweise für nur 10 € im Apple Store kaufen und so die Entwickler ein wenig unterstützen oder die App kostenlos von der folgenden Seite herunterladen:

https://mac.getutm.app

UTM ist eine einfache, aber funktionelle Oberfläche für das unter Linux etablierte Programm QEMU. Sie können damit Linux-Distributionen installieren, die als ARM64-Image vorliegen.

Die Virtualisierungsoberfläche »UTM« unter macOS, hier mit zwei virtuellen Maschinen, Ubuntu und Kali Linux

Kali-Installation

Als Basis für die Kali-Installation wählen Sie auf der Kali-Download-Seite die Variante Bare Metal / Apple M1 / Installer aus. Die ISO-Datei ist ca. 2,5 GByte groß:

https://www.kali.org/get-kali/#kali-bare-metal

Nun richten Sie in UTM eine neue virtuelle Maschine ein. Im ersten Dialog des Assistenten wählen Sie die Option Virtualize, im zweiten Dialog geben Sie an, dass Sie eine Linux-Distribution ausführen möchten. Im dritten Dialog wählen Sie mit Browse das zuvor heruntergeladene Kali-Installations-Image aus. Die Optionen Use Apple Virtualization und Boot from kernel image bleiben deaktiviert.

In den nächsten zwei Dialogen geht es um die Hardware-Ausstattung der virtuellen Maschine. Je nachdem, wie üppig Ihr Mac ausgestattet ist, sollten Sie der virtuellen Maschine 2 bis 4 GByte RAM sowie zwei CPU-Cores zuweisen. Kali benötigt einen virtuellen Datenträger von zumindet 15 GByte. Mit 20 bis 25 GByte haben Sie ein wenig Platzreserve.

Im folgenden Dialog Shared Directory können Sie ein macOS-Verzeichnis zum Datenaustausch mit Kali Linux auswählen. Da die Nutzung dieses geteilten Verzeichnisses unter Kali Linux nicht vorgesehen ist, können Sie diesen Punkt überspringen.

Im abschließenden Dialog Summary sollten Sie die Option Open VM Settings aktivieren. Das gibt Ihnen in der Folge die Möglichkeit, zwischen mehreren Netzwerkmodi zu wählen. Für den Einsatz von Kali Linux ist zumeist Bridged empfehlenswert: Damit erhält Kali Linux eine IP-Adresse im lokalen Netzwerk und kann mit diesem kommunizieren. (Diese Einstellung können Sie aber auch nachträglich vornehmen. Dazu stoppen Sie die virtuelle Maschine und öffnen dann im UTM-Hauptfenster den Konfigurationsdialog der virtuellen Maschine.)

Bridged Networking integriert die virtuelle Maschine in das lokale Netzwerk

Nach dem Start der virtuellen Maschine gelangen Sie in das Kali-Boot-Menü. Bei meinen Tests erwies sich das Kommando Graphical Install als nicht zielführend: Das UTM-Fenster wird dann nach wenigen Sekunden vollständig schwarz und verhindert so die Bedienung des Installationsprogramms. (Das Problem ist anscheinend relativ neu. Es gibt hier einen Fehlerbericht.)

Entscheiden Sie sich daher mit Install für eine Installation im Textmodus. Der Ablauf ist exakt gleich wie bei einer Installation im Grafikmodus, die Dialoge sehen nur weniger schön aus; zur Navigation zwischen den Eingabefeldern verwenden Sie die Tabulatortaste.

Beim Kali-Bootmenü müssen Sie »Install« auswählen. »Graphical Install« führt nach wenigen Sekunden in ein schwarzes, nicht mehr bedienbares Fenster.
Software-Auswahl während der Installation

Erster Start und Betrieb

Nach dem Abschluss der Installation wird die virtuelle Maschine neu gestartet. Statt des frisch installierten Systems erscheint allerdings wieder das Installationsprogramm. Das liegt daran, dass die virtuelle Maschine noch immer das ISO-Image als Boot-Medium verwendet. Stoppen Sie die virtuelle Maschine mit dem Button Shut down, klicken Sie dann in der auf das CD/DVD-Symbol rechts in der Fenstertitelleiste und führen Sie CD/DVD (ISO) Image / Eject aus. Beim nächsten Neustart bootet Kali Linux von der virtuellen Disk und läuft dann erfreulicherweise auch im Grafikmodus. Die gewünschte Desktop-Auflösung (und damit auch die Fenstergröße) legen Sie innerhalb von Kali Linux mit Einstellungen / Anzeige fest.

Bei meinen Tests hat Kali Linux innerhalb von UTM ausgezeichnet funktioniert. Allerdings kommt es bei der Bildschirmdarstellung aufgrund der automatisch durchgeführten Skalierung zwischen dem Grafiksystem der virtuellen Maschine und dem Monitor des Macs zu unschönen Farbverschiebungen, vor allem bei der Darstellung von Texten.

Quellen/Links

❌