OSX persistent Backdoor mit Empire Framework und Bash Bunny

Post-Exploitation Frameworks werden immer dann eingesetzt, wenn Penetrationstester schon Zugriff auf ein Zielnetzwerk haben und von hier weitere Angriffe auf dem IT-Gerät oder im Netzwerk ausführen möchten.
Ich habe in diesem Zusammenhang schon mehrfach über das Empire Framework berichtet. Es ist seit seiner Vorstellung während der BSides in Las Vegas im Juli 2015 ständig weiterentwickelt worden.
Zum gegenwärtigen Zeitpunkt liegt das Werkzeug in der Version 2.1 vor. Mittlerweile sind die bisherigen Projekte PowerShell Empire und Python EmPyre zusammengeführt und enthalten neben den reinen PowerShell2.0 Windows Agenten nun auch Python 2.6 / 2.7 Linux und OSX Agenten. Das Framework bietet eine kryptologisch sichere Kommunikation und eine flexible Architektur.

In diesem Beitrag möchte ich zeigen, wie man mit Hilfe des Empire Frameworks eine dauerhafte Hintertür in OSX erzeugen kann, sie mit dem Bash Bunny auf ein Zielsystem überträgt (Inject) und auch wieder löscht (Cleanup). Insgesamt müssen 4 Dateien erstellt werden. Wir gehen dazu Schritt für Schritt vor.

Wer noch nicht mit dem Empire Framework vertraut ist, den empfehle ich vorangegangen Beiträge oder meine Artikel in der Zeitschrift iX.  Das Framework lässt sich auf einem Linux System leicht installieren.

WeiterlesenOSX persistent Backdoor mit Empire Framework und Bash Bunny

Eine Dropbox für das Empire Framework

Penetrationstester müssen sich manchmal mit Szenarien befassen in denen der ausgehende Datenverkehr in Netzwerken blockiert oder sehr stark eingegrenzt wird. Häufig existieren dann nur bestimmte Freigaben auf freigegebene Webseiten (Whitelists) oder zu bestimmten externen Servern.

Ist dies der Fall, so können evtl. gesteuerte Zugriffe per DNS oder über File-Sharing-Services wie Dropbox bzw. Google Docs einen Datenaustausch ins externe Netzwerk (oder Internet) ermöglichen.

In diesem Blogeintrag möchte ich mich mit der Möglichkeit befassen, Dropbox als Plattform zum Austausch von Befehlen zu nutzen. Ein möglicher Angreifer wäre somit in der Lage, diese Funktionalität für böswillige Aktivitäten auszunutzen um somit Zugriff auf interne Netzwerke zu erlangen.

Mit dem Empire Framework ist dem Penetrationstester ein Werkzeug an die Hand gegeben, mit dem sich eine solches Szenario nachstellen lässt, um mögliche Auswirkungen im eigenen Netzwerk nachvollziehen zu können. In der Version 2.0 wurde der dbx Listener hinzugefügt, mit dem sich die Dopbox als „Command and Control Service“ ausnutzen lässt.

Wer noch nicht mit dem Empire Framework vertraut ist, den empfehle ich vorangegangen Beiträge oder meine Artikel in der Zeitschrift iX.  Das Framework lässt sich auf einem Linux-System leicht installieren.

WeiterlesenEine Dropbox für das Empire Framework

OpenVAS 9 auf Ubuntu Server 16.04 LTS installieren

Am 8. März 2017 hat das OpenVAS-Projekt die Version 9 des Schwachstellenscanners bereitgestellt.

Das sofort sichtbare Highlight dieser neuen Version ist die aktualisierte Benutzeroberfläche. Diese reicht von einer erweiterten Dashboard-Funktion über ein Vollbild-Browser-Fenster bis hin zu intelligenten Dialogen.

Das neue Asset-Management ermöglicht eine Sicht auf die Scan-Ergebnisse für Hosts und Betriebssysteme und bildet die Grundlage für den neuen Schwachstellenmanagement-Workflow. Außerdem ist es nun möglich weitere Systeme als Schwachstellenscanner einzubinden, um so einen weiteren Schritt in die Richtung einer kompletten Multi-Scanner-Architektur zu machen.

In diesem Beitrag wird die Installation von OpenVAS 9 auf einem Ubuntu Server 16.04 LTS beschrieben.

Schritt 1 – Paketquelle festlegen

Das Hinzufügen einer Paketquelle verlangt Root-Rechte. Ist dies erfolgt, so müssen die Quellen neu eingelesen werden. Somit ist sichergestellt, dass  die neuen Pakete einsetzbar sind.

sudo add-apt-repository ppa:mrazavi/openvas
sudo apt-get update
									

WeiterlesenOpenVAS 9 auf Ubuntu Server 16.04 LTS installieren

Bash Bunny – Auslesen von WLAN Passwörtern

Im letzen Beitrag wurde hier der Bash Bunny vorgestellt. Derzeit existieren bereits eine große Anzahl an fertigen Skripten für die verschiedensten Anwendungsbereiche.

Die als Payloads bezeichneten Anwendungen sind in einer Bibliothek zusammengefasst und sollten zunächst auf dem Bash Bunny übertragen werden. Dazu lädt man alle Verzeichnisse als Zip-Datei von github.com herunter und überträgt die ausgepackten Dateien und Verzeichnisse auf den Bash Bunny.

Folgende Dateien und Verzeichnisse sind relevant:

  • docs – Kurzdokumentation (Qick-Reference) mit wichtigen Informationen zu Einstellungen und Nutzung
  • languages – verschieden Spracheinstellungen in Dateiform
  • payloads – wichtige Erweiterungen, alle derzeit verfügbaren Payloads als Bibliothek, Beispielskripte in den Switchen 1 und 2

Im Wurzelverzeichnis kann in der Datei config.txt eine globale Einstellung für die zu verwendende Sprache vorgenommen werden. Für die deutsche Sprache ist hier DUCKY_LANG de einzutragen.

WeiterlesenBash Bunny – Auslesen von WLAN Passwörtern

PenTesters Framework auf Ubuntu MATE installieren

Das PenTesters Framework (PTF) ist eine von David Kennedy  in der Programmiersprache Python geschriebene Anwendung, die vorrangig für Debian und Ubuntu-Systeme entwickelt wurde. Mit Hilfe dieses Werkzeuges lassen sich verschiedene Tools für Penetrationstests in Verzeichnissen zusammenfassen und aktualisieren.

Das so zusammengetragene Toolset vereinigt regelmäßig eingesetzte Werkzeuge (Module) in einer zentralen Umgebung, die sich für die eigene Nutzung erweitern lassen.

Für einen ersten Test werden wir PTF in einer virtuellen Umgebung auf einem Ubuntu-MATE-System (64 bit) installieren.

WeiterlesenPenTesters Framework auf Ubuntu MATE installieren

Windows Keylogger mittels Word Makro und Empire

Vor fast genau einem Jahr hatte ich gezeigt, wie man mittels des „Empire Frameworks“ ein Makro erzeugen und in MS-Powerpoit einbinden kann.

Mich hat heute interessiert, ob diese Methode bereits von Virenschutzprogrammen aktuell erkannt und ein Angriff damit automatisch verhindert wird. Als Testkandidat habe ich Symantec Endpoint Protection gewählt.

Die Installation von „Empire“ auf Kali Linux erfolgte mittels git ohne Probleme. Mittlerweile sind dort zwei „Stager“ („macro“ und „scrambled_macro“) vorhanden, mit denen Makros erzeugt werden können.

Der Stager „macro“ erzeugt ein VBA Skript, dass in MS-Office Dokumente eingebunden werden kann. „Scrambled_macro“ ist eine weiterentwickelte Variante. Durch Obfuscation wird versucht, den Programmcode schwer verständlich oder unlesbar zu machen.  Virenschutzprogramme sollen dadurch getäuscht bzw. in Ihrer Arbeit behindert werden.

Wer mehr über das Empire Framework erfahren will, den empfehle ich meine Artikelserie in der iX 05/2016, 06/2016 und 07/2016.

Tatsächlich fiel auf, dass die mit beiden Methoden erstellten Makros, durch den Virenschutz aktuell erkannt werden.

WeiterlesenWindows Keylogger mittels Word Makro und Empire

Digispark – die USB Rubber Ducky Alternative (Teil4)

In den vorangehenden Beiträgen wurde gezeigt, wie man mit Hilfe des Attiny85 Mikrocontrollers „Digispark“ Penetrationstests unter Windows und Linux durchführen kann. Auch unter macOS Sierra lässt sich die Platine einsetzen. Folgendes Szenario wäre denkbar:

Bei Einstecken des Digispark in eine freie USB-Schnittstelle in einem Mac werden alle Dokumente eines bestimmten Ordners an den Angreifer per E-Mail übermittelt.

Wenn man AppleScript als Hilfsmittel verwendet, lässt sich unser Szenario relativ leicht umsetzen. Es setzt voraus, dass der Mac über eine Verbindung ins Internet verfügt. Zunächst wird das Skript von Webserver des Angreifers heruntergeladen, dann ausgeführt und die gefundenen Dokumente schließlich per E-Mail übermittelt.

WeiterlesenDigispark – die USB Rubber Ducky Alternative (Teil4)

Digispark – die USB Rubber Ducky Alternative (Teil3)

Im ersten Teil des Tutorials wurde beschrieben, wie eine Entwicklungsumgebung für den Digispark unter Window eingerichtet werden kann. Im darauf folgenden Artikel habe ich gezeigt, dass der Digispark einen USB Rubber Ducky ersetzen kann. Auch wenn die Platine viel kleiner ist und längst nicht die Möglichkeiten des Ducky hat, konnten wir den „15 Sekunden Passwort Hack“ mit ihr umsetzen.

Die Platine lässt sich auch für Penetrationstests unter Linux einsetzen, wie das folgende Beispiel zeigen wird. Folgendes Szenario wäre denkbar:

Auf einem Linux System wird Ubuntu mit grafische Oberfläche eingesetzt. Sobald die Platine in eine freie USB-Schnittstelle gesteckt wird, beginnt der PC einen Schadcode vom Angreifer herunterzuladen. Dieser wird auf dem Linux-System ausgeführt damit eine permanente (reverse) Verbindung zum Angreifer hergestellt. Da dieser Verbindung aus verschiedenen Gründen schon mal unterbrochen werden kann, ist eine Schleife eingebaut, die diese Verbindung nach einer vorgegebenen Zeitspanne neu einrichtet. Man hat quasi eine Hintertür (Backdoor) im Linux-System geschaffen, die immer erneuert wird. Egal ob der Angreifer sich im lokalen Netzwerk oder im Internet befindet – er hat immer eine permanente Meterpreter-Verbindung und kann mit den Rechten des angemeldeten Nutzers weitere Befehle ausführen (Post-Exploitation).

Der Angreifer nutzt Kali Linux in der aktuellen Version, das Metasploit-Framework und Apache als Webserver. Auf dem Linux-System wird Ubuntu 16.04 LTS und Unity eigesetzt. Dieses Szenario lässt sich auch mit wenigen Änderungen auf einem Linux-Server einsetzen.

WeiterlesenDigispark – die USB Rubber Ducky Alternative (Teil3)

Digispark – die USB Rubber Ducky Alternative (Teil2)

Im ersten Teil dieses Tutorials wurde gezeigt, wie man eine „Enwicklungsumgebung“ für die Mikrocontroller-Entwicklungsplatine Digispark unter Windows einrichtet. Nun wollen wir die kleine Platine für Penetrationstests einsetzen.

Derzeit ist eine Header-Datei verfügbar, die alle Tastenkombinationen und Befehle enthält. Leider wird derzeit nur eine US-Tastatur unterstützt. Um die Platine für den deutschspachigen Raum nutzbar zu machen, kann man aber einen kleinen Trick anwenden.

Die zur Verfügung stehende Skriptsprache unterscheidet sich zwar etwas vom Duckyscript, ist aber ähnlich leicht zu verstehen und einzusetzen. Hier einige wichtige Befehle:

Tasten- und Tastenkombinationen:
DigiKeyboard.sendKeyStroke(KEY_V)
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT)
DigiKeyboard.sendKeyStroke(KEY_M, MOD_GUI_LEFT | MOD_SHIFT_LEFT)
DigiKeyboard.sendKeyStroke(KEY_DELETE, MOD_ALT_RIGHT | MOD_CONTROL_LEFT)

Eingabe von Zeichenketten:
DigiKeyboard.println(„mspaint“)

Verzögerungen in Millisekunden:
DigiKeyboard.delay(5000)

WeiterlesenDigispark – die USB Rubber Ducky Alternative (Teil2)

Linux Cryptsetup Schwachstelle

Die Sicherheitsforscher Hector Marco & Ismael Ripoll von der Cybersecurity Group der Polytechnischen Universität Valencia haben eine schwerwiegende Schwachstelle entdeckt, die  root-Zugriffe auf  verschlüsselte Linux-Systeme ermöglichen. Betroffen sind u.a. Debian, Ubuntu, Fedora und deren Ableger.

Durch eine Lücke in Cryptsetup erhält man bei mehrmaliger falscher Passwort-Eingabe Zugriff auf eine einfache Nutzerumgebung  mit eingeschränkten administrativen Rechten. In dieser BusyBox-Shell können  zahlreiche Linux-Befehle ausgeführt werden, die sich u.a. zu einer Rechterweiterung missbrauchen lassen.

Eine detaillierte Beschreibung der unter CVE-2016-4484 aufgeführten Schwachstelle findet man hier. Um das Problem zu beseitigen  können Anwender ihr System so konfigurieren, dass es nach der Eingabe von mehreren falschen Passwörtern den Bootprozess unterbricht. Das notwendige Vorgehen kann hier nachgelesen werden.

WeiterlesenLinux Cryptsetup Schwachstelle