
Collezione di alcuni strumenti facili da usare - in PowerShell.
Usa SharpZipLib in .NET, caricato in runtime (nessun file su disco) - rif. https://github.com/icsharpcode/SharpZipLib
Può essere usato con password (zip, unzip)
Sono supportati entrambi i metodi di cifratura AES e ZipCrypto.
Quando si comprime/decomprime - nessun file temporaneo viene creato - tutto viene eseguito in memoria.
Scritto in PowerShell e compilato in exe con GUI.
Usa la dll .NET openmcdf per lavorare con i file OLE - rif. https://github.com/ironfede/openmcdf
Questo tipo di file ha estensione .bup e in realtà sono un tipo di file OLE.
Il file BUP contiene due stream: Details e File_0. Details è il report dell'antivirus McAfee, mentre File_0 è il file in quarantena. Nota che i file in quarantena possono contenere più di un file in quarantena.
Gli stream sono codificati con XOR. La chiave è 0x6A.
Eseguire lo script e inserire la cartella sorgente con le regole yara. Nel PATH in cui viene eseguito lo script viene creato un nuovo file "merged.yar".
Confronta due cartelle - mostra le differenze - HASH MISMATCH.
Ci sono situazioni durante l'analisi di malware in cui è molto utile avere l'ASLR di sistema disabilitato. Ad esempio, è necessario che tutte le DLL vengano caricate secondo l'imagebase nell'optional header. In tale situazione, per ottenere moduli caricati nello spazio del processo sempre sul loro imagebase, l'ASLR di sistema deve essere disabilitato. Un altro vantaggio dell'ASLR di sistema disabilitato è che le impostazioni ASLR del modulo principale (il tuo campione) (Optionl header --> Dll Characteristics --> Dll can move) verranno anch'esse ignorate (disabilitate) quindi non è necessario applicare patch. Versione PS > 4.0
Questo strumento è un semplice modulo PowerShell in grado di trovare file con Alternate Data Stream "zone.identifier".
Analizzerà l'ADS e mostrerà tutte le informazioni correlate e alcune informazioni sui file in GridView.
Opzioni possibili:
-recurse (Cerca file in modo ricorsivo)
-path (Percorso iniziale per cercare i file)
-Export2CVS (Esporta la tabella in CSV nella directory corrente)
Esempio:
Import-Module .\Get-AlternateDataStream.ps1
Get-AlternateDataStream -Path ....\Downloads\ -recurse -Export2CSV
Requisiti:
Sistema operativo Windows
PowerShell Core o Windows PowerShell
Semplice one-liner per ottenere NAME, FOLDER_PATH e CSIDL.
Invoke-DetectItEasy è un modulo PowerShell e un wrapper per l'eccellente strumento chiamato Detect-It-Easy. È molto utile per Threat Hunting e Forensics.
LINK: https://github.com/Dump-GUY/Invoke-DetectItEasy
Get-PDInvokeImports è uno strumento (modulo PowerShell) in grado di eseguire il rilevamento automatico dell'uso di P/Invoke, Dynamic P/Invoke e D/Invoke negli assembly. Mostra tutte le posizioni da cui vengono referenziati ed esporta tutto in DnSpy_Bookmarks.xml
LINK: https://github.com/Dump-GUY/Get-PDInvokeImports
Esempio di semplice snippet su come aggiungere una DLL nativa all'IAT di un assembly .NET così che, quando viene eseguito, venga invocata DllMain.
Usando AsmResolver e PWSH 7.2+ (NET6.0), puoi usare una versione diversa di PWSH ma con il relativo AsmResolver appropriato
LINK: https://github.com/Washi1337/AsmResolver