Capita di sedersi alla console di un PC (o di connettersi da remoto) e voler avere un quadro di cosa stia facendo, magari abbiamo il dubbio che possano essere presenti servizi indesiderati o connessioni che non dovrebbero esserci o vorremmo sapere quali utenti sono connessi alle risorse della macchina.
Vediamo alcuni strumenti utili a questo scopo per sistemi operativi Microsoft (diciamo orientativamente da Windows 7 in poi o Server da 2008 in su). Si tratta di utility di sistema o che possono essere eseguite dalla suite di strumenti Sysinternals, un insieme di tools di grande utilità che è consigliabile avere a portata di mano (Possono essere downloadati da questo link).
Una volta effettuato il download sarà utile creare una cartella in cui espandere il file .zip scaricato e rendere disponibili le utility, aggiungendo eventualmente al Path il percorso della cartella.
Il primo passo è quello di avere un’idea di cosa è accaduto al PC prima che ci avvicinassimo. C’è una finestra DOS aperta? Possiamo vedere quali comandi sono stati inseriti precedentemente, sia scrollando con le freccette su e giù sia, più elegante, digitando il comando
doskey /history
Fatto questo, vediamo chi è connesso al PC, sia in locale che da remoto. Possiamo usare
psloggedon
(Sysinternals) che appunto indica chi è loggato localmente e chi è connesso alle risorse di rete
C:\Windows\system32>psloggedon
PsLoggedon v1.35 - See who's logged on
Copyright (C) 2000-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Users logged on locally:
2/16/2019 1:31:32 PM MYDOM\administrator
Users logged on via resource shares:
2/16/2019 9:19:48 PM mg-wks\max
Possiamo naturalmente anche usare il comando nativo,
net session
ritorna l’ip address e lo username di chi è connesso al nostro PC. Richiede accesso elevato (come amministratore).
C:\Users\Administrator.SRV01>net session
Computer User name Client Type Opens Idle time
-------------------------------------------------------------------------------
\\10.0.0.78 max 2 00:10:04
The command completed successfully.
logonsessions -p
(Sysinternals) fornisce la lista degli account che sono al momento loggedin su PC. L’opzione -p ci consente di avere anche info su process ID e chi lo ha lanciato. Nel caso di esempio è stato eseguito su un Windows 2012 Server. Si possono notare un paio di elementi:
- la quantità di account connessi è molto maggiore di quanto si potrebbe pensare
- alcuni di questi account presentano dei SID di formato particolare (ad esempio S-1-5-18 ).
Sono account di sistema, ed hanno dei SID noti, sempre uguali. Ad esempio S-1-5-18 è un service account usato da sistema operativo.
Di seguito un esempio (editato per ridurlo a dimensioni ragionevoli).
Nel tipo di logon si identificano i moduli che si avviano come servizio (logon type: service), rispetto a ciò che si avvia come interactive, network, o remote interactive (in questo caso una sessione di desktop remoto).
Molti task si avviano con SID che identificano entità di sistema.
Ad esempio S-1-5 individua NT Security Authority. La tabella dei SID noti si trova qui, anche se non cita, curiosamente, S-1-5-90, che fa riferimento al Microsoft Window Manager.
Altre info sui SID noti e meno noti si trovano qui e qui
Notiamo infine come l’Administrator abbia SID terminante con 500 come è sempre nei sistemi operativi Microsoft, connesso mediante sessione remota. Anche se si fosse chiamato diversamente e non administrator, il SID terminante in 500 avrebbe denunciato la sua natura di built-in administrator.
1] Logon session 00000000:0000dede:
User name: Window Manager\DWM-1
Auth package: Negotiate
Logon type: Interactive
Session: 1
Sid: S-1-5-90-1
Logon time: 2/16/2019 1:21:24 PM
Logon server:
DNS Domain:
UPN:
848: dwm.exe
[2] Logon session 00000000:000003e5:
User name: NT AUTHORITY\LOCAL SERVICE
Auth package: Negotiate
Logon type: Service
Session: 0
Sid: S-1-5-19
Logon time: 2/16/2019 1:21:25 PM
Logon server:
DNS Domain:
UPN:
868: svchost.exe
944: svchost.exe
1064: svchost.exe
1692: dasHost.exe
4892: WmiPrvSE.exe
[3] Logon session 00000000:0003eadf:
User name: MYDOM\SRV01$
Auth package: Kerberos
Logon type: Network
Session: 0
Sid: S-1-5-18
Logon time: 2/16/2019 1:22:57 PM
Logon server:
DNS Domain: MYDOM.LOCAL
UPN:
[4] Logon session 00000000:000458c8:
User name: MYDOM\SRV01$
Auth package: Kerberos
Logon type: Network
Session: 0
Sid: S-1-5-18
Logon time: 2/16/2019 1:23:00 PM
Logon server:
DNS Domain: MYDOM.LOCAL
UPN:
[5] Logon session 00000000:000cad0f:
User name: Window Manager\DWM-2
Auth package: Negotiate
Logon type: Interactive
Session: 2
Sid: S-1-5-90-2
Logon time: 2/16/2019 1:31:29 PM
Logon server:
DNS Domain:
UPN:
2904: dwm.exe
[6] Logon session 00000000:000cec20:
User name: MYDOM\administrator
Auth package: Kerberos
Logon type: RemoteInteractive
Session: 2
Sid: S-1-5-21-2640026123-xxxxxxxxx-xxxxxxxxxxx-500
Logon time: 2/16/2019 1:31:29 PM
Logon server: SRV01
DNS Domain: MYDOM.LOCAL
UPN: [email protected]
4176: taskhostex.exe
4372: rdpclip.exe
4560: explorer.exe
5068: jusched.exe
3824: jucheck.exe
6012: cmd.exe
5340: conhost.exe
1028: cmd.exe
4604: conhost.exe
5152: logonsessions.exe
(...)