Zobrazení aktivity uživatelů pomocí PsLoggedOn ve Windows: komplexní a praktický průvodce

  • PsLoggedOn kombinuje protokolování a NetSessionEnum pro zobrazení lokálních a SMB relací.
  • Interpretace CPI$ a účtů s "$" zabraňuje falešným poplachům a usnadňuje vyšetřování.
  • Auditovat pomocí 4624/4625 a spoléhat se na PsLogList, PsFile a LogonSessions.
  • Automatizujte pomocí PowerShellu, skriptů GPO a posilujte osvědčené postupy.

Jak zobrazit aktivitu uživatele ve Windows 11 pomocí PsLoggedOn

Sledování toho, kdo je připojen k vašim počítačům s Windows, není jen o špehování; je to klíčový prvek zabezpečení a auditu. V tomto kontextu PsLoggedOn vyniká tím, že nabízí rychlý snímek lokálních relací a připojení SMB bez agentů a bezproblémově se integruje s nativními utilitami a dalšími nástroji Sysinternals.

Výhodou je, že k získání užitečných signálů nemusíte zřizovat laboratoř. Pochopení toho, jak PsLoggedOn určuje relace, interpretace položek jako IPC$ nebo účty s "$" a křížové odkazování na data s net session, quser, NBTSTAT nebo Prohlížečem událostí vám umožní vytvořit přesnou mapu aktivity a oddělit šum od skutečných incidentů.

Co je PsLoggedOn a jak detekuje aktivitu?

PsLoggedOn je součástí sady PsTools (Sysinternals/Microsoft) a zobrazuje uživatele s aktivními lokálními relacemi a příchozími připojeními ke sdíleným prostředkům na lokálním nebo vzdáleném počítači. Jeho logika kombinuje dva zdroje: protokol pro lokální relace a volání API pro relace SMB.

AccessChk
Související článek:
AccessChk: Řešení problémů s přístupem k souborům ve Windows

U lokálních relací se předpokládá, že uživatel, jehož profil je načten, je přihlášen. Prohledá HKEY_USERS a hledá SID uživatelů, přičemž každé SID převede na název účtu, takže nemusíte ručně prohledávat registr.

Pro síťová připojení (například ADMIN$, C$ nebo IPC$) vypisuje relace pomocí NetSessionEnum . Poznámka: Pokud se dotazujete na vzdálený počítač, je normální, že se váš vlastní účet zobrazí v seznamu, protože se relace otevírá pro dotazování na jeho protokol.

Také přijímá uživatelské jméno jako argument. V tomto režimu vyhledává blízké počítače v síti, aby vám sdělil, kde je připojen , což je velmi užitečné před úpravou jeho profilu nebo provedením změn, které vyžadují, aby byl offline.

Kompatibilita: Binární soubor funguje na klientech se systémem Windows Vista a na serverech se systémem Windows Server 2008 a novějším . Nejčastěji uváděná verze je 1.35 (naposledy aktualizovaná v roce 2016), která je i nadále plně platná pro účely podpory a auditu.

Instalace a požadavky sady Sysinternals Suite

Naučte se, jak používat PsLoggedOn ve Windows k zobrazení aktivity uživatelů.

Instalace je jednoduchá: zkopírujte soubor psloggedon.exe (a případně psloggedon64.exe) do cesty ve vaší cestě PATH nebo jej spusťte ze složky PsTools. Není vyžadována žádná formální instalace ani agenti.

Pokud dáváte přednost kompletnímu balíčku Sysinternals, můžete si balíček stáhnout a rozbalit. Pro rychlejší přístup je k dispozici také přes Winget .

winget install sysinternals --accept-package-agreements

PsLoggedOn je součástí PsTools spolu s utilitami jako PsInfo, PsFile, PsLogList, LogonSessions, Process Explorer a Process Monitor . Původní soubor ke stažení měl velikost přibližně 2,7 MB a nyní je kompletní sada o několik megabajtů větší a poskytuje komplexní lokální/vzdálenou správu.

Použití, syntaxe a praktické příklady

Syntaxe je krátká a přímočará: s pouhými několika modifikátory pokryjete téměř všechny případy . Sekce nápovědy zobrazuje možnosti a formátování výstupu.

psloggedon [-] [-l] [-x] [\\equipo | usuario]

Hlavní parametry: - vypíše nápovědu, -l omezí na lokální relace (ignoruje SMB připojení) a -x skryje časová razítka. Můžete zadat vzdálený počítač s jeho UNC cestou (\\POČÍTAČ) nebo uživatelským jménem pro vyhledání místa, kde je přihlášen.

# Listar en el equipo local
psloggedon

# Consultar un equipo remoto
psloggedon \\EQUIPO-REMOTO

# Buscar en qué equipos tiene sesión un usuario
psloggedon usuario.dominio

Důležité upozornění: Při přístupu k jinému počítači se váš účet může zobrazit ve „sdílených zdrojích“ kvůli ověření vyžadovanému pro čtení jeho protokolu. Pokud vás zajímá pouze lokální fotografie, použijte parametr -l k odfiltrování tohoto šumu.

V automatizaci první spuštění zaregistruje EULA pod HKCU. Výzvu k zobrazení se můžete vyhnout pomocí parametru `-accepteula` při spuštění ze skriptů nebo nasazení.

Jak interpretovat výsledky: CPI$, týmové účty a signály

Je běžné vidět týmové účty (končící na „$“) připojené k IPC$ . To se zřídka stává problémem; obvykle je to způsobeno legitimní aktivitou systému, inventářem, antivirem/EDR nebo nástroji pro správu.

IPC$ je speciální prostředek zpřístupněný službou Server pro pojmenované kanály. Ačkoli je někdy spojován s „nulovou relací“, skutečný přístup je určen zabezpečením každého kanálu , což umožňuje přístup pouze autorizovaným uživatelům. Stále je přítomen ve Windows 10 Pro a moderních serverech.

Typickým příkladem je skript, který pravidelně volá psloggedon a psloggedon64. V normálních dnech uvidíte svůj vlastní účet; v jiných dnech uvidíte počítače jako A-COMPUTER$ nebo B-COMPUTER$ připojující se přes IPC$. Ve spravovaných prostředích to obvykle odpovídá inventáři nebo vzdáleným úlohám.

Jak rozlišíte normální od neobvyklého? Tyto kontroly vám pomohou ponořit se do detailů. Cílem je propojit relaci s konkrétními procesy, úkoly nebo službami.

  • Správa počítače > Sdílené složky > Relace/Otevřené soubory: kdo je online a co hraje.
  • Příkaz síťové relace: vypíše aktivní připojení podle zdroje, počítače a uživatele okamžitě
  • Prohlížeč událostí: ID filtru 4624 (úspěšné spuštění) v Zabezpečení, zkontrolujte typ spouštění (např. 3 = síť), zdroj a účet.
  • Auditní politika: Povolit auditování přihlášení (úspěšné i neúspěšné) v souboru gpedit.msc aby nepromeškali žádné akce.
  • Úkoly a služby: Zkontrolujte Plánovač úloh, WMI, Inventář, Antivirus/EDR a nástroje pro nasazení, které mohou otevírat relace.

Pokud se během pracovní doby jedná vždy o stejná zařízení, je to pravděpodobně očekávané. Pokud zaznamenáte přístup mimo pracovní dobu, z neznámých zdrojů nebo s neobvyklými vzorci , je třeba porovnat protokoly, omezit přístup a spustit upozornění.

Alternativní nativní metody pro křížové odkazování na informace

Kromě funkce PsLoggedOn nabízí systém Windows možnosti pro přidání kontextu. Kombinace více zdrojů snižuje falešně pozitivní výsledky a informuje vás nejen o tom, kdo se přihlásil, ale i o tom, jak.

QUSER / QUERY USER. Tyto příkazy vypisují relace vzdálené plochy/terminálu. Jsou efektivní na serverech RDS a počítačích používajících RDP.

quser /server:EQUIPO-REMOTO
query user /server:EQUIPO-REMOTO

PowerShell (Get-CimInstance). Pro lokální interaktivní relaci: pole username v systému Win32_ComputerSystem vrací uživatele přihlášeného do konzole (v určitých scénářích RDP může být prázdné).

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName EQUIPO | Select -ExpandProperty username

NBTSTAT. Starší program, ale stále užitečný pro NetBIOS. Používá se k zobrazení tabulky jmen , nikoli k identifikaci aktivních uživatelů, pokud nepřistupovali ke sdíleným prostředkům.

nbtstat -a EQUIPO
nbtstat -A 192.0.2.25

Správce úloh. Na kartě Uživatelé uvidíte aktivní relace na místním počítači, včetně vzdálených. Ne vždy je zde jasně rozlišen typ přístupu , ale je to užitečné pro rychlý přehled.

Správce služeb vzdálené plochy (Windows Server). Modul snap-in MMC zobrazuje podrobné informace o uživatelích a relacích (ID, stav atd.), což je nezbytné pro hostitele RDSH.

Auditování pomocí prohlížeče událostí a nástrojů Sysinternals

Prohlížeč událostí je klíčem ke shromažďování důkazů. Přejděte do sekce Zabezpečení a filtrujte podle kódu 4624 (úspěšné spuštění) ; zkontrolujte typ spouštění, účet, zdrojový počítač a cestu.

Pokud se nevyskytly žádné události, povolte lokální auditování. V sekci gpedit.msc > Konfigurace počítače > Nastavení systému Windows > Nastavení zabezpečení > Místní zásady > Zásady auditování povolte „Auditovat události přihlášení“ s možnostmi Úspěch a Neúspěch.

PsLogList umožňuje vypisovat a filtrovat události z konzole, lokálně nebo vzdáleně. Je ideální pro extrakci protokolů 4624, filtrování podle data nebo export souborů CSV bez nutnosti otevírání grafického rozhraní.

# Últimas 100 entradas del registro de Seguridad en un equipo remoto
psloglist \\EQUIPO -n 100 -l security

# Filtrar por origen o ID de evento
psloglist -o "Microsoft-Windows-Security-Auditing" -i 4624

# Salida compacta y separada por ;
psloglist -s -t ';' -l security

Mezi jeho možnosti patří časová okna (-h, -m, -d), rozsahy dat (-a, -b), zahrnutí/vyloučení ID (-i, -e) a čekání v reálném čase s přepínačem -w na lokálním systému. Referenční verze je 2.81 (2019).

PsFile vám řekne, které soubory na vzdáleném počítači jsou otevřené a kým . Můžete dokonce zavřít popisovač podle jeho ID, pokud potřebujete uvolnit uzamčený soubor při zjišťování, proč existuje relace SMB.

LogonSessions zobrazuje aktivní přihlašovací relace a jejich tokeny , což je ideální pro zkoumání perzistence nebo staršího přístupu. A v ekosystému Sysinternals pokrývají Autoruns, Process Explorer, Process Monitor, PsInfo a RAMMap vše od „kdo“ až po „co“ dělají.

Skripty a automatizace ve velkém měřítku

Pro vytváření sestav podle organizační jednotky nebo v rámci celé domény proces automatizujte. Modul PowerShellu Get-UserLogon usnadňuje shromažďování přihlášení podle počítače, organizační jednotky nebo domény pomocí několika příkazů.

Chcete-li jej použít jako modul, vytvořte složku a soubor psm1 ve standardní cestě: C:\\Program Files\\WindowsPowerShell\\Modules\\Get-UserLogon a před použitím jej importujte.

# Todo el dominio
Get-UserLogon -All

# Por OU
Get-UserLogon -OU 'ou=Computers,dc=midominio,dc=local'

# Equipo concreto
Get-UserLogon -Computer EQUIPO-AD01

Pokud dáváte přednost přímému skriptu, je k dispozici také funkce publikovaná v dřívější galerii skriptů TechNet . Cíl je stejný: rychle zobrazit seznam „kdo“ a „kde“ způsobem, který je možné exportovat pro audit nebo podporu.

Jak Sysinternals Suite funguje
Související článek:
Co je Sysinternals Suite: Klíčové nástroje pro správu a diagnostiku Windows

Typické chyby při orchestraci z PowerShellu: Nepoužívejte Format-Table uprostřed kanálu před iterací. Převedete objekty na formátovaná data a uvidíte věci jako „Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData“.

# Correcto: expandir propiedades antes del bucle
$computers = Get-ADComputer -Filter * | Where-Object { $_.DistinguishedName -like "*OU=Computers,OU=site,OU=EMEA Hub,DC=zone2,DC=company,DC=net" } | Select -ExpandProperty Name
foreach ($c in $computers) { & "C:\\Ruta\\PsTools\\psloggedon.exe" -x -l \\$c }

Mezi další běžné chyby patří nedostatečná oprávnění pro vzdálenou registraci, firewall blokující SMB, nevyřešený název DNS/NetBIOS nebo nesprávná binární architektura. Řešení zahrnují ověření přihlašovacích údajů, testování rozlišení (ping/test-connection), kontrolu pravidel firewallu, použití vhodné 32/64bitové verze a přidání parametru `-accepteula` k nasazením.

Triáž DFIR na Windows: expresní sada

Aby Dfirtriage šel o krok dál než jen pojmenoval „kdo“, seskupuje nástroje pro rychlé vytváření záznamů ve Windows s oprávněními správce.

Zahrnuje komponenty jako BrowserHistoryView a LastActivityView pro nedávnou aktivitu, pslist pro procesy (včetně těch, které nevidíte ve Správci úloh) a tcpvcon pro síťová připojení jednotlivých procesů.

Sada obsahuje utility Sysinternals, jako například Autoruns, PsLoggedOn, PsFile, PsInfo a PsLogList . Ty vám umožňují provádět vše od identifikace relací SMB až po zavírání souborů, inventarizaci systému a extrakci událostí bez nutnosti otevírat desítky konzolí.

Jeho použití je jednoduché: rozbalte archiv, spusťte dfirtriage.exe jako správce a shromážděte artefakty v textových souborech pro kontrolu nebo doručení, čímž urychlíte odpověď na první požadavek.

Osvědčené bezpečnostní postupy pro vzdálený přístup

Monitorování je zásadní, ale ještě důležitější je snížit riziko útoku. Posilte hesla a střídejte přihlašovací údaje , abyste zablokovali přístup, i když někdo ukradne klíč.

Používejte princip nejnižších oprávnění a segmentace. Oprávnění ke vzdálené správě by měly mít pouze účty, které je potřebují , ideálně prostřednictvím kontrolovaných skupin.

Použijte VPN, abyste internetu zpřístupnili méně administrativních služeb. Zapouzdření a šifrování snižují šum a zabraňují oportunnímu průzkumu , který vede k narušení bezpečnosti.

Monitorování a implementace. Nakonfigurujte upozornění na anomální aktivitu (časy, původ, účty) , zaznamenávejte vše (4624, 4625 atd.) a sledujte vzorce, abyste odhalili jemné změny, které naznačují kompromitaci.

Řešení pro audit v reálném čase

Pokud se vaše prostředí rozrůstá nebo máte požadavky na dodržování předpisů, platformy jako ADAudit Plus od ManageEngine poskytují audit služby Active Directory v reálném čase a konsolidují sestavy o přihlášení, změnách a přístupu s 30denní zkušební verzí.

Historický kontext a technické poznámky k systému Sysinternals

Ve vývoji PsLoggedOn došlo k několika významným milníkům. Verze 1.2 přidala přepínač -l (na žádost administrátorů, kteří chtěli pouze lokální relace) a podrobnosti o čase připojení.

Pro lokální relace PsLoggedOn překládá SID v klíči HKEY_USERS . Po přihlášení WinLogon načte profil a vytvoří volatile podklíč „Volatile Environment“; časové razítko poslední změny umožňuje odvodit čas lokálního připojení.

Pro výčet vzdáleného registru použijte RegConnectKey ; pro relace zdrojů získejte „volné“ časy spuštění voláním NetSessionEnum (stejný základ, jaký používá příkaz NET).

Předpona „Ps“ vznikla analogicky s unixovým „ps“. PsTools sjednotil lokální/vzdálené utility příkazového řádku, jako například PsList, PsKill, PsLogList a PsGetSid, a byl ke stažení jako jeden balíček.

Další historické nástroje pomáhají porozumět ekosystému: Tokenmon monitoruje bezpečnostní aktivitu (tokeny, spoofing) ; Filemon a Regmon popularizovaly trasování I/O a registru; DebugView zachycoval ladicí výstup s filtry a zvýrazňováním; NFI (NTFS Information) vypisoval interní struktury NTFS.

Jeden zajímavý fakt: ve Windows 9x Internet Explorer načítal dočasný podregistr (ratings.pol) obsahující klíč RegLoadKey pro Poradce obsahu a skrýval jeho konfiguraci v registru, dokud nebyl stažen. Mimochodem, tehdy existovaly zkratky, které mohly obejít špatně navržené ochrany .

Licencování: Přestože je software volně k použití, jeho redistribuce a vytváření odvozených produktů ze zdrojového kódu nejsou bez jeho svolení povoleny. Doporučuje se odkazovat na oficiální webové stránky, abyste vždy získali nejnovější verzi.

Historický tip: Pokud by Filemon/Regmon byly načteny jako administrátor, mohly by být spuštěny z neprivilegovaných účtů opětovným použitím již načteného kontroleru (s jeho bezpečnostními důsledky).

Jako bonus LiveKd umožňoval spouštět ladicí programy jádra na živém systému, které prezentovaly RAM, jako by to byl výpis. A na straně sítě TCPView/tcpvcon přinesl viditelnost socketů na úroveň procesů.

Klasický obsah o Sysinternals byl doprovázen typickými upozorněními a varováními z komunitní dokumentace: byl nabízen „tak, jak je“, bez záruk, a připomínal čtenáři, aby si jej ověřil ve svém vlastním prostředí.

Další sledování pomocí direktiv a skriptů

Kromě PsLoggedOn můžete vylepšit sledování aktivit pomocí zásad a skriptů. Audit domény nebo počítače povolte pomocí zásad skupiny: Konfigurace počítače > Nastavení systému Windows > Nastavení zabezpečení > Místní zásady > Zásady auditu.

Klíčová nastavení: „ Auditovat události přihlášení “ (protokolování na postižených počítačích) a „ Auditovat události přihlášení k účtům “ (protokolování na řadičích domény pro přihlášení k doméně).

Toto můžete doplnit přihlašovacími/odhlašovacími skripty, které zaznamenávají datum, čas, počítač, uživatele a server do centrálního úložiště pro forenzní analýzu nebo reporting.

REM Ejemplo de líneas de un script de inicio/cierre de sesión
echo %date%,%time%,%computername%,%username%,%sessionname%,%logonserver% >> \\SERVIDOR\\share\\logons.csv

Pokud zvolíte WMI/ADSI, další možností je dotazovat se každého řadiče domény na relevantní události (spuštění/vypnutí), což je užitečné pro korelaci ve velkém měřítku, pokud je audit správně nakonfigurován.

S PsLoggedOn získáte spolehlivý snímek lokálních relací a připojení zdrojů. Propojením s moduly quser, net session, NBTSTAT, Event Viewer, PsLogList, PsFile, LogonSessions a PowerShell získáte 360° pohled. Pochopení role IPC$, rozpoznávání počítačových účtů s "$", povolení auditu a dokumentace pomocí skriptů rozlišuje mezi falešným poplachem a skutečným incidentem a dává vám hybnou sílu potřebnou k rychlé a efektivní reakci. Sdílejte tento tutoriál, aby se více uživatelů mohlo naučit, jak zobrazit aktivitu pomocí PsLoggedOn ve Windows.


Přidat jako preferovaný zdroj v Googlu