
C# Targeted Attack Reconnissance Tools
Dies ist eine benutzerdefinierte .NET-Assembly, die eine Reihe von Lagebewusstseinsaktivitäten durchführt. Es gibt mehrere aktuelle Funktionspakete:
Ich wusste nicht, dass GhostPack entwickelt wurde, als ich dies schrieb; wir veröffentlichten unsere Tools ungefähr zur gleichen Zeit. Tatsache ist, dass GhostPack jetzt weitaus funktionsreicher ist. Ich entferne die PrivescCheck-Funktion, da SharpUp deren gesamte Funktionalität und mehr abdeckt.
Der entscheidende Punkt ist, dass alles in purem .NET implementiert ist – also kein PowerShell.
Es wird über Befehlszeilenparameter konfiguriert und gesteuert, was es für die Verwendung mit Beacons execute-assembly-Direktive geeignet macht.
Dies sammelt eine Reihe von Informationen vom Host. Achtung, es könnte eine MENGE an Ausgabe geben. Es wird angezeigt:
Das Verb 'basic' muss in der Befehlszeile übergeben werden, gefolgt von der spezifischen Prüfung, die erforderlich ist. Wenn das Wort 'all' als zweiter Parameter übergeben wird, wird jede Prüfung durchgeführt.
| Prüfung | Beschreibung |
|---|---|
| env | Zeigt alle Umgebungsvariablen an. |
| info | Zeigt die IP-Adresse des Hosts und die Haupt-/Nebenversion des Betriebssystems an. |
| mru | Durchsucht verschiedene Listen "zuletzt verwendet". Diese umfassen derzeit den Verlauf des Ausführen-Dialogs und die Office-Datei- und Pfad-MRU für alle Versionen von Word, Excel, PowerPoint, Access, Publisher und Visio. Es zeigt auch den Speicherort des speziellen Ordners "Zuletzt verwendet" an. |
| favourites | Zeigt die in den Favoriten gespeicherten URLs an (im Grunde die Lesezeichen des Benutzers). Es unterstützt derzeit keine Unterordner; das muss ich noch beheben. |
| mappeddrives | Zeigt die Netzlaufwerke aus der Benutzersitzung an. Nützlich, um schnell zentrale Dateifreigaben und Heimatverzeichnisse zu finden. Wenn es gemappt ist, enthält es wahrscheinlich nützliche Daten. |
| installedapplications | Listet die installierten Anwendungen auf. Dies umfasst Anwendungen, die als Administrator (lokal auf dem Rechner) installiert wurden, und Anwendungen, die vom aktuellen Benutzer installiert wurden. Sie werden an unterschiedlichen Stellen in der Registry aufgelistet. |
| onedrive | Zeigt Informationen zu OneDrive an (einschließlich synchronisierter Teamwebsites/Mandanten). |
Beachten Sie, dass bei Verwendung von 'all' automatisch ein 'proxycheck http://www.google.com' eingefügt wird. Siehe Abschnitt proxycheck für Details.
Alle grundlegenden Prüfungen durchführen: beacon> execute-assembly /tmp/Reconerator.exe oder beacon> execute-assembly /tmp/Reconerator.exe basic all
Nur MRU-Enumeration durchführen: beacon> execute-assembly /tmp/Reconerator.exe basic mru
Nur gemappte Laufwerke auflisten: beacon> execute-assembly /tmp/Reconerator.exe basic mappeddrives
Relativ sicher. Es wird die Systemregistrierung abgefragt; es ist unwahrscheinlich, dass dies überwacht wird.
Damit können Sie eine LDAP-Abfrage durchführen. Am einfachsten lässt sich dies anhand eines Beispiels demonstrieren.
Dies zeigt alle Benutzer in der Domäne 'dc=stufus,dc=lan' mit W2K8DC als Domänencontroller an:
beacon> execute-assembly /tmp/Reconerator.exe ldap "LDAP://W2K8DC/dc=stufus,dc=lan" "objectClass=user" 0
Dies zeigt maximal 5 Benutzer in der Domäne 'dc=stufus,dc=lan' mit W2K8DC als Domänencontroller an:
beacon> execute-assembly /tmp/Reconerator.exe ldap "LDAP://W2K8DC/dc=stufus,dc=lan" "objectClass=user" 5
Dies zeigt alle Mitglieder der Domänenadministratorengruppe in der Domäne 'dc=stufus,dc=lan' mit W2K8DC als Domänencontroller an:
beacon> execute-assembly /tmp/Reconerator.exe ldap "LDAP://W2K8DC/dc=stufus,dc=lan" "(&(objectClass=group)(cn=Domain Admins))" 0
Dies zeigt alle Mitglieder der Domänenadministratoren- oder Unternehmensadministratorengruppen in der Domäne 'dc=stufus,dc=lan' mit W2012DC als Domänencontroller an:
beacon> execute-assembly /tmp/Reconerator.exe ldap "LDAP://W2012DC/dc=stufus,dc=lan" "(&(objectClass=group)(|(cn=Enterprise Admins)(cn=Domain Admins)))" 0
Dies erzeugt Netzwerkverkehr zu dem von Ihnen angegebenen Domänencontroller. Um Missverständnisse zu vermeiden: Es wird LDAP verwendet (im Gegensatz zu RPC oder ähnlichem).
Dies führt eine DNS-Abfrage mit dem DNS-Server des Hosts durch.
Auflösen von www.google.com:
beacon> execute-assembly /tmp/Reconerator.exe resolvehost www.google.com
Dies erzeugt eine DNS-Abfrage an den Domänencontroller, aber es ist unwahrscheinlich, dass dies als Alarm ausgelöst wird, aufgrund des schieren Volumens legitimer DNS-Anfragen.
Dies ermöglicht die Interaktion mit der Windows-Suche (ehemals Windows-Indexdienst), mit der Sie schnell nach interessanten Dateien und Ordnern (und deren Inhalten) suchen können. E-Mails werden normalerweise indiziert, Netzwerkordner jedoch nicht. Daher ist es möglicherweise nicht optimal für die Suche in Benutzer-Heimatverzeichnissen, wenn diese remote gespeichert sind. Dennoch ist es sehr schnell.
Die Schnittstelle zur Windows-Suche ist SQL-artig; diese Implementierung ermöglicht es Ihnen, im Wesentlichen den Inhalt der 'WHERE'-Klausel anzugeben. Am einfachsten lässt es sich anhand von Beispielen erklären, aber Sie müssen MSDN lesen, wenn Sie alle möglichen Kriterien kennenlernen möchten.
Findet alles, was indiziert wurde und irgendwo das Wort 'password' enthält (d.h. durchsucht die Inhalte von Dateien und E-Mails):
beacon> execute-assembly /tmp/Reconerator.exe indexsearch "CONTAINS('password')"
Findet alles, was indiziert wurde und das Wort 'stufus' im Pfad oder Dateinamen enthält:
beacon> execute-assembly /tmp/Reconerator.exe indexsearch "System.ItemPathDisplay LIKE '%stufus%'"
Findet alles, was indiziert wurde und das Wort 'stufus' im Dateinamen ODER das Wort 'secret' enthält: