
Raccolta di strumenti offensivi in C#
Questa è una raccolta di strumenti C# e POC che ho creato per l'uso in operazioni. Ogni progetto è progettato per non utilizzare librerie esterne. Apri il file .SLN di ogni progetto in Visual Studio e compila come "Release".
| Progetto | Descrizione | Versione minima .NET |
|---|---|---|
| AbandonedCOMKeys | Enumera le chiavi COM abbandonate (in particolare InprocServer32). Utile per la persistenza poiché puoi, in alcuni casi, scrivere nella posizione mancante e chiamare con rundll32.exe -sta {CLSID}. Tecnica menzionata in questo post di @bohops | 4.0 |
| COMHunter | Enumera i server COM impostati nelle chiavi LocalServer32 e InProc32 su un sistema utilizzando WMI | 4.0 |
| CredPhisher | Chiede all'utente corrente le proprie credenziali utilizzando la funzione WinAPI CredUIPromptForWindowsCredentials. Supporta un argomento per fornire il testo del messaggio che verrà mostrato all'utente. | 3.5 |
| DriverQuery | Raccolta di dettagli sui driver del sistema e possibilità di filtrare per trovare solo quelli non firmati da Microsoft | 3.5 |
| EncryptedZIP | Comprime una directory o un file e poi crittografa il file ZIP con una chiave fornita utilizzando AES256 CFB. Questo assembly cancella anche la chiave dalla memoria usando RtlZeroMemory. Usa il programma Decrypter incluso per decrittare l'archivio. | 3.5 |
| ETWEventSubscription | Simile alle sottoscrizioni di eventi WMI ma sfrutta Event Tracing for Windows. Quando si verifica l'evento sul sistema, attualmente quando un utente accede o un processo specificato viene avviato, viene eseguito il metodo DoEvil(). | 4.6 |
| GPSCoordinates | Tiene traccia delle coordinate GPS del sistema (attualmente accurate entro 1 km) se i servizi di localizzazione sono abilitati. Funziona attualmente su Windows 10, ma si spera di coprire tutte le versioni 7+. | 4.0 |
| HijackHunter | Analizza l'intestazione PE di un target per trovare DLL referenziate vulnerabili al dirottamento. Fornisce motivazioni e tecniche di abuso per ogni opportunità di dirottamento rilevata |
| 4.0 |
| HookDetector | Rileva le funzioni API Native hookate nel processo corrente, indicando la presenza di EDR | 4.0 |
| ImplantSSP | Installa una DLL Security Support Provider (SSP) fornita dall'utente sul sistema, che verrà caricata da LSA all'avvio del sistema. La DLL deve esportare SpLsaModeInitialize. Ispirato da Install-SSP di @mattifestation. | 3.5 |
| InspectAssembly | Ispeziona il CIL di un assembly .NET target per chiamate a deserializzatori e utilizzo di .NET remoting per aiutare nel triage di potenziali escalation di privilegi. | 4.0 |
| JunctionFolder | Crea una cartella junction nella cartella Avvio di Accessori di Windows come descritto nei leak di Vault 7. All'avvio o quando un utente sfoglia la directory, la DLL referenziata verrà eseguita da verclsid.exe a integrità media. | 3.5 |
| MockDirUACBypass | Crea una directory trusted fittizia, C:\Windows \System32\, e sposta un eseguibile Windows ad auto-elevazione nella directory fittizia. Una DLL fornita dall'utente che esporta le funzioni appropriate viene rilasciata e quando l'eseguibile viene eseguito, la DLL viene caricata e eseguita ad alta integrità. Tecnica scoperta da @ce2wells e descritta in questo post. | 3.5 |
| PhantomService | Cerca e rimuove servizi non-ASCII che non possono essere rimossi facilmente con gli strumenti Windows integrati. Riferimento | 4.0 |
| SessionSearcher | Cerca in tutte le unità collegate chiavi private PuTTY e file di connessione RDP e li analizza per dettagli rilevanti. Basato su SessionGopher di @arvanaghi. | 4.0 |
| UnquotedPath | Produce un elenco di percorsi di servizi non quotati che non si trovano in System32/SysWow64 per posizionarvi un PE. Riferimento ATT&CK | 3.5 |