
Multithreaded C# .NET Assembly zum Auflisten von zugänglichen Netzwerkfreigaben in einer Domäne
Multithreaded C# .NET-Assembly zur Aufzählung zugänglicher Netzwerkfreigaben in einer Domäne
Basiert auf dem SharpShares von djhohnstein-Projekt
> .\SharpShares.exe help
Usage:
SharpShares.exe /threads:50 /ldap:servers /ou:"OU=Special Servers,DC=example,DC=local" /filter:SYSVOL,NETLOGON,IPC$,PRINT$ /verbose /outfile:C:\path\to\file.txt
Optional Arguments:
/threads - maximale Anzahl paralleler Threads festlegen (Standard=25)
/dc - Domain Controller angeben (falls nicht auf einem domänengebundenen Host ausgeführt)
/domain - Domänennamen angeben (falls nicht auf einem domänengebundenen Host ausgeführt)
/ldap - Hosts aus den folgenden LDAP-Filtern abfragen (Standard=all)
:all - Alle aktivierten Computer mit der primären Gruppe 'Domain Computers'
:dc - Alle aktivierten Domain Controller (keine schreibgeschützten DCs)
:exclude-dc - Alle aktivierten Computer, die keine Domain Controller oder schreibgeschützten DCs sind
:servers - Alle aktivierten Server
:servers-exclude-dc - Alle aktivierten Server außer Domain Controller oder schreibgeschützten DCs
/ou - LDAP-OU angeben, aus der aktivierte Computerobjekte abgefragt werden sollen
z. B. "OU=Special Servers,DC=example,DC=local"
/stealth - Freigabenamen auflisten, ohne Lese-/Schreibzugriffsprüfungen durchzuführen
/filter - Kommagetrennte Liste von Freigaben, die von der Aufzählung ausgeschlossen werden sollen
Standard: SYSVOL,NETLOGON,IPC$,PRINT$
/outfile - Datei angeben, an die Freigaben angehängt werden (statt Ausgabe auf stdout)
/verbose - Nicht autorisierte Freigaben zurückgeben
execute-assembly /path/to/SharpShares.exe /ldap:all /filter:sysvol,netlogon,ipc$,print$
[+] Parsed Arguments:
threads: 25
ldap: all
ou: none
filter: SYSVOL,NETLOGON,IPC$,PRINT$
stealth: False
verbose: False
outfile:
[*] Excluding SYSVOL,NETLOGON,IPC$,PRINT$ shares
[*] Starting share enumeration with thread limit of 25
[r] = Lesbare Freigabe
[w] = Beschreibbare Freigabe
[-] = Nicht autorisierte Freigabe (erfordert /verbose-Flag)
[?] = Nicht geprüfte Freigabe (erfordert /stealth-Flag)
[+] Performing LDAP query for all enabled computers with "primary" group "Domain Computers"...
[+] This may take some time depending on the size of the environment
[+] LDAP Search Results: 10
[+] Starting share enumeration against 10 hosts
[r] \\DC-01\CertEnroll
[r] \\DC-01\File History Backups
[r] \\DC-01\Folder Redirection
[r] \\DC-01\Shared Folders
[r] \\DC-01\Users
[w] \\WEB-01\wwwroot
[r] \\DESKTOP\ADMIN$
[r] \\DESKTOP\C$
[+] Finished Enumerating Shares
Die Flags /ldap und /ou können zusammen oder separat verwendet werden, um eine Liste von Hosts für die Aufzählung zu generieren.
Alle von diesen Flags zurückgegebenen Hosts werden vor Beginn der Aufzählung zusammengeführt und dedupliziert.