Detections #
Detections varie per Windows.
Cartelle particolari #
Ci sono cartelle da controllare molto utili:
-
C:\$Recycle.bin
;É la cartella del cestino. Si usa per controllare l’ultima eliminazione e svuotamento del cestino. Per visualizzare tali informazioni è necessario fare la seguente azione:
Opzioni > Visualizzazione > Nascondi file protetti di sistema > Off
-
shell:recent
;É la cartella degli oggetti recenti di Windows, una funzione che permette di visualizzare alcuni file con cui Windows e l’utente ha avuto a che fare. A volte si possono trovare
.dll
, magari injection clients. -
%temp%
;É la cartella dei file temporanei di Windows e si utilizza principalmente per trovare il file
.dll
che rilasciano gli autoclicker scritti in Java, che utilizzano la libreria JNativeHook. -
prefetch
.Apre la cartella che Windows utilizza per immagazzinare i file prefetch
.pf
.
Macro #
Programmi come XMouse
e altri simili sono bannabili (Timer resolution
non rientra in questa categoria). I software proprietari dei vari mouse salvano le loro impostazioni delle macro nelle seguenti cartelle:
-
Logitech;
%localappdata%\Logitech\Logitech Gaming Software\settings %localappdata%\LGHUB\settings
-
Red Dragon;
%homepath%\Documents\M--- Gaming Mouse\MacroDB
Nota bene: I trattini indicano la possibilità di numeri diversi in base al modello del mouse
-
Glorius;
%appdata%\BY-COMBO2
-
Roccat;
%appdata%\ROCCAT\SWARM\macro\custom_macro_list
-
Steel Series;
%localappdata%\steelseriesengine-3-client\Local Storage\LevelDB
-
Razer.
C:\ProgramData\Razer\synapse\Accounts %localappdata%\Razer\Synapse3\Log
Debounce timer #
Il debounce timer è una funzionalità dei mouse che è stata implementata, originariamente, per prevenire un difetto di con i tasti.
Il tasto è essenzialmente una molla, e come potete immaginare, sappiamo che le molle rimbalzano. Se il mouse viene cliccato in un modo particolare, questa molla rimbalza così vigorosamente che il mouse registra più click. Questo problema è noto da tempo come double click.
Minecraft è uno dei pochi giochi, se non l’unico, in cui la velocità di click fa la differenza tra vincere o perdere, perciò i giocatori cercano modi per cliccare sempre più velocemente. Un giorno dei giocatori con mouse difettosi, non disposti di funzionalità per prevenire il double click come il debounce timer, hanno iniziato a cliccare in modi particolari, e hanno scoperto che il mouse registrava più click di quante volte il tasto veniva realmente premuto. Questi metodi fanno parte della categoria che oggi è conosciuta come mouse abuse.
Il debounce timer, non è altro che un timer, che parte quando il mouse registra un click, e dura in genere 10 o 16 milliseconi. Durante tutta la durata del timer, il mouse blocca ogni altro input registrato.
Alcuni mouse hanno la possibilità di modificare il debounce timer. Solo con i metodi di click mouse abuse, ovvero:
- Butterfly click;
- Drag click.
i giocatori possono abusare di questo difetto del mouse. Il debounce timer è una funzionalità che ogni mouse implementa in modo differente e proprietario, perciò non esiste un programma generico per modificare tale funzionalità.
-
Glorius;
I mouse Glorius hanno il debounce timer modificabile a livello software tramite uno slider, questo implica che la modifica di
BYCOMBO-2
come abbiamo visto prima per le macro è tutto quello necessario per trovare qualsiasi modifica prima del controllo delle impostazioni. -
Cooler Master;
Stesso discorso per i mouse Glorius, i cooler master implementano il debounce timer modificabile tramite slider, e tutto questo si verifica nello stesso modo delle macro.
-
Roccat;
I mouse Roccat implementano il debounce timer con uno switch (zero debounce time on/off). Il problema dei mouse Roccat è che sono tutti, dal primo all’ultimo, difettosi e indipendentemente dalla funzionalità indicata, hanno un debounce time base inferiore a 10 millisecondi.
-
Bloody;
I mouse Bloody implementano il debounce timer modificabile tramite uno slider, ma hanno lo stesso problema dei Roccat, sono tutti difettosi, e anche se lo slider è a 16 millisecondi, la durata del debounce timer reale è sotto i 10 millisecondi.
-
RedDragon;
I mouse RedDragon implementano il debounce timer su alcuni mouse, tramite slider, e il metodo di controllo è il medesimo di quello delle macro.
-
MadCatz;
I mouse MadCatz, per quanto rari, hanno questa peculiarità di non avere direttamente nessun tipo di debounce timer e/o prevenzione per il double click.
-
Mars Gaming.
I mouse della Mars Gaming implementano il debounce timer tramite slider, e il metodo di controllo è uguale a quello per le macro.
System Informer #
Parleremo esclusivamente di System Informer, poichè il suo predecessore, Process Hacker, è ormai deprecato.
Fix permessi #
A volte System Informer non permette l’accesso a memorie di processi di basso livello (esempio: csrss.exe
). Per rendere nuovamente accessibile quella regione di memoria, dobbiamo andare nelle opzioni di System Informer ed abilitare la Kernel-Driver mode, che da pieno accesso alle risorse del computer. Questo consente anche a computer con versioni moderne di Windows di accedere ala memoria di processi bloccati/critici.
explorer.exe #
Il primo processo che si va a controllare, essendo quello che ha il “rate di volatibilità” più alto:
-
Parola (case insensitive) > pcaclient
;Una lista degli ultimi 10 programmi eseguiti. Questo è un metodo vecchio e deprecato. Nonostante la sua inefficacia contro i cheat moderni, rimane un ottimo artefatto iniziare un controllo.
-
Parola (case insensitive) > file:///
;La lista di file che sono stati visualizzati dall’esplora risorse di Windows.
-
Regex (case insensitive) > ^[A-Z]:\\.+:
.Un vecchio modo per detectare un metodo bypass (Wmic, nel prossimo capitolo). Questa è una stringa deprecata e se ne sconsiglia l’utilizzo.
csrss.exe #
-
Regex (case insensitive) > ^[A-Z]:\\.+.exe$
;Questo filtro trova ogni singolo path degli eseguibili
.exe
che sono stati avviati nel sistema. -
Regex (case insensitive) > ^[A-Z]:\\.+.dll$
;Questo filtro trova ogni singolo path degli eseguibili
.dll
che sono stati avviati nel sistema. -
Regex (case insensitive) > ^[A-Z]:\\((?!exe|dll).)*$
.Questo filtro trova ogni singolo percorso di eseguibili che hanno un estensione diversa da
.exe
,.dll
che sono stati avviati. Se appare qualcosa, è un ban quasi sicuro.
svchost.exe (-s dps) #
-
Regex (case insensitive) > ^!!(?!svchost|dwm|csrss|explorer|taskhostw|ctfmon|rundll32|conhost|lsass|usoclient|sihost|dashost|nissrv|smss|sc|servicehost|settingsynchost|consent|dllhost|sppsvc|wermgr).+.exe
;Questa regex di dimensioni comicamente grandi, trova ogni file
.exe
eseguito, di cui il dps tiene traccia, escludendo dalla lista i nomi dei processi che si trovano tra le parentesi. -
Regex (case insensitive) > ^!![A-Z]+(.*)[A-Z]:
;Questa regex trova tracce dell’esecuzione di un metodo bypass (Wmic, nel prossimo capitolo). Come metodo è deprecato.
-
Regex (case insensitive) > ^!((?!Exe|dll).)*$
.Questa regex trova ogni file che è stato eseguito, ma non ha l’estensione di un eseguibile (Estensioni spoofate, nel prossimo capitolo).
fsutil #
Il modo più comune per interagire con il journal $USNJrnl:$J
è senza ombra di dubbio tramite fsutil, strumento fornito da Windows per analizzare i dischi con il file system NTFS. Molto spesso i comandi per analizzare il journal che troviamo online sono suddivisi in questo modo:
-
fsutil usn readjournal c: csv
;La prima parte traduce i dati contenuti in modo compresso all’interno del file
$USNJrnl:$J
, in un contenuto leggibile, per l’esattezza gli specifichiamo di mettere in output i dati, sotto forma di un file.csv
. -
|
;Il simbolo della barretta verticale è detto pipe. Prende l’output del comando alla sua sinistra e lo reindirizza nell’input del comando alla destra di esso.
-
findstr /...
;Con la terza parte si possono filtrare i dati dell’output
.csv
, con l’utilityfindstr
, fornita anche essa da Windows. Gli argomenti principalmente usati nelfindstr
sono:/i
: Se il filtro che specifichiamo deve essere case sensitive;/R
: Se il filtro che specifichiamo è una regex;/C
: Stringa effettiva per cui noi filtriamo (il filtro).
-
>
.Questa parte reindirizza l’output del comando di sinistra in un file specificato alla destra dell’operatore. Per avere uno spazio di lavoro più ordinato, è molto comodo.
Comandi noti #
- Il seguente comando, elenca ogni file di tipo eseguibile e le loro azioni, quindi eliminazione, spostamento o modifica:
fsutil usn readjournal c: csv | findstr /i /C:"0x80000200" /i /C:"0x00001000" /i /C:"0x00002000" | findstr /i /C:".exe" /i /C:".dll" /i /C:".pf" /i /C:".com" /i /C:".cmd" /i /C:".jar" /i /C:".pif" /i /C:".bat" /i /C:"?"
- Filtra risultati per un metodo bypass (Cacls), cercando particolari modifiche ai permessi della cartella prefetch:
fsutil usn readjournal c: csv | findstr /i /C:"0x00000800" /i /C:"0x80000800" | findstr /i /C:"Prefetch"
- Trova tracce di un metodo bypass (Wmic), cercando delle modifiche a flussi di dati alternativi dei files:
fsutil usn readjournal c: csv | findstr /i /C:"0x--------" /i /C:"0x--------"
Powershell #
La history dei comandi dati al cmd non è salvata da nessuna parte, ma non si può dire lo stesso di Powershell. Per trovare tutti i comandi eseguiti da powershell, basta fare il seguente comando su di essa:
cat (get-PSReadlineoption).Historysavepath
Command prompt #
Alcuni strumenti per riga di comando sono molto utili per avere informazioni fondamentali. Ad inizio controllo, per esempio, bisognerebbe sempre fare un veloce:
sc query dps
sc query sysmain
Il comando sc query
, controlla lo stato del servizio, e indica se sono stati riavviati o arrestati. Se uno di questi risulta arrestato o riavviato, si può facilmente bannare.
L’utilizzo del comando dir
è fondamentale per scovare metodi bypass con i permessi dei file. Per trovare la maggior parte dei file nascosti, con pochissime eccezioni:
dir /ar
dir /ah
Regedit #
I registri di Windows sono pieni di informazioni importanti, quindi ecco alcune chiavi di registro e raccolte di chiavi da analizzare durante un controllo
- Questa chiave di registro indica se il prefetch è attivo o meno;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
- Questa cartella ha un registro di eseguibili letti dagli strumenti di Windows per la compatibilità (non indica l’esecuzione, solo la presenza sul disco);
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
- Una delle detect per il metodo bypass Wmic (Deprecato);
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\
- Indica gli ultimi 20 file aperti e salvati;
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\
- Tutte le estensioni dei file che sono presenti sul computer;
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
- Tutti gli archivi che WinRAR ha aperto / utilizzato.
HKEY_CURRENT_USER\SOFTWARE\WinRAR\ArcHistory
Event viewer #
Nel visualizzatore di eventi possiamo trovare tanti eventi che indicano azioni più o meno malevole, includendo informazioni per un possibile ban:
-
Registri windows > Sicurezza > 4616
;Indica un cambio di orario
-
Registri windows > Applicazione > 3079
;Eliminazione del journal
-
Registro windows > Sicurezza > 4798
;Cambio dell’eredità dell’eventvwr
-
Registro windows > Sicurezza > 1102
.Eliminazione di eventi dall’eventvwr