
Strumento di hooking delle API di Windows che spoofa e nasconde dinamicamente gli argomenti dei processi tramite la libreria Detours e la manipolazione del PEB, consentendo la creazione furtiva di processi per operazioni red team.
Twitter: @AzizWho
NoArgs è uno strumento progettato per falsificare e nascondere dinamicamente gli argomenti dei processi rimanendo non rilevato. Lo fa agganciando le API di Windows per manipolare dinamicamente gli internals di Windows al volo. Questo permette a NoArgs di alterare gli argomenti dei processi in modo discreto.




Lo strumento opera principalmente intercettando le chiamate di creazione dei processi effettuate dalla funzione API di Windows CreateProcessW. Quando un processo viene avviato, questa funzione è responsabile della generazione del nuovo processo, insieme agli eventuali argomenti della riga di comando specificati. Lo strumento interviene in questo flusso di creazione del processo, assicurando che gli argomenti vengano nascosti o manipolati prima dell'avvio del nuovo processo.
L'hooking in CreateProcessW è ottenuto tramite Detours, una libreria popolare per intercettare e reindirizzare le funzioni API Win32. Detours permette il reindirizzamento delle chiamate a funzioni a implementazioni personalizzate, preservando al contempo la funzionalità originale. Agganciando CreateProcessW, lo strumento è in grado di intercettare le richieste di creazione dei processi ed eseguire la propria logica personalizzata prima di consentire l'avvio del processo.
Il Process Environment Block (PEB) è una struttura dati utilizzata da Windows per memorizzare informazioni sull'ambiente e sullo stato di esecuzione di un processo. Lo strumento sfrutta il PEB per manipolare gli argomenti della riga di comando dei nuovi processi creati. Modificando le informazioni della riga di comando memorizzate nel PEB, lo strumento può alterare o nascondere gli argomenti passati al processo.
Vista di Process Hacker:

Vista di Process Monitor:

Iniezione nel Prompt dei comandi (cmd): Lo strumento inietta il suo codice nel processo del Prompt dei comandi, incorporandolo come Position Independent Code (PIC). Ciò consente un'integrazione perfetta nello spazio di memoria di cmd, garantendo un'operazione nascosta senza dipendere da indirizzi di memoria specifici. (Solo per l'eseguibile offuscato nella pagina delle release)
Hooking delle API di Windows: Detours vengono utilizzati per intercettare le chiamate alla funzione CreateProcessW. Reindirizzando il flusso di esecuzione a un'implementazione personalizzata, lo strumento può eseguire la sua logica prima della funzione API originale di Windows.
Funzione personalizzata di creazione dei processi: Dopo aver intercettato una chiamata a CreateProcessW, viene eseguita la funzione personalizzata, creando il nuovo processo e manipolando i suoi argomenti come necessario.
Modifica del PEB: All'interno della funzione personalizzata di creazione dei processi, il Process Environment Block (PEB) del nuovo processo viene accesso e modificato per raggiungere l'obiettivo di manipolare o nascondere gli argomenti del processo.
Reindirizzamento dell'esecuzione: Al termine delle manipolazioni, l'esecuzione ritorna senza soluzione di continuità al Prompt dei comandi (cmd) senza interruzioni. Questo reindirizzamento dinamico garantisce che i comandi successivi immessi subiscano una manipolazione discreta, eludendo i meccanismi di rilevamento e registrazione che si basano sull'ottenimento dei dettagli del processo dal PEB.
Opzione 1: Compilare la DLL di NoArgs:
Avrai bisogno di Microsoft Detours installato.
Compilare la DLL.
Iniettare la DLL compilata in qualsiasi istanza di cmd per manipolare dinamicamente gli argomenti dei processi appena creati.
Opzione 2: Scaricare l'eseguibile compilato (pronto all'uso) dalla pagina delle release.