Vilket Windows-konto används av systemet när ingen loggas in?
Om du är nyfiken och lär dig mer om hur Windows fungerar under huven, kanske du undrar vilka "aktiva" aktiva processer körs när ingen är inloggad i Windows. Med det i åtanke har dagens SuperUser Q & A-post svar på en nyfiken läsare.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren Kunal Chopra vill veta vilket konto som används av Windows när ingen är inloggad:
När ingen är inloggad i Windows och inloggningsskärmen visas, vilket användarkonto är de aktuella processerna som körs under (video- och ljuddrivrutiner, inloggningssession, vilken serverns programvara, tillgänglighetskontroller etc.)? Det kan inte vara någon användare eller den tidigare användaren eftersom ingen är inloggad.
Vad sägs om processer som har startats av en användare men fortsätter att köras efter att ha loggat bort (till exempel HTTP / FTP-servrar och andra nätverksprocesser)? Växlar de över till SYSTEM-kontot? Om en användarstartad process övergår till SYSTEM-kontot, indikerar det en mycket allvarlig sårbarhet. Fortsätter en sådan process som körs av den användaren att springa under den användarens konto på något sätt efter att de har loggat bort?
Är det här varför SETHC-hacket låter dig använda CMD som SYSTEM?
Vilket konto används av Windows när ingen är inloggad?
Svaret
SuperUser bidragsgravar har svaret för oss:
När ingen är inloggad i Windows och inloggningsskärmen visas, vilket användarkonto är de aktuella processerna som körs under (video- och ljuddrivrutiner, inloggningssession, vilken som helst serverprogramvara, åtkomstkontroll, etc.)?
Nästan alla drivrutiner körs i kärnläge; De behöver inte ett konto om de inte börjar användarutrymme processer. De där användarutrymme drivrutiner körs under SYSTEM.
När det gäller inloggningssessionen är jag säker på att det även använder SYSTEM. Du kan se logonui.exe med Process Hacker eller SysInternals Process Explorer. Faktum är att du kan se allt på det sättet.
När det gäller serverns programvara, se Windows-tjänster nedan.
Vad sägs om processer som har startats av en användare men fortsätter att köras efter att ha loggat bort (till exempel HTTP / FTP-servrar och andra nätverksprocesser)? Växlar de över till SYSTEM-kontot?
Det finns tre typer här:
- Vanliga gamla bakgrundsprocesser: Dessa går under samma konto som den som startade dem och kör inte efter att ha loggat ut. Logoff-processen dödar dem alla. HTTP / FTP-servrar och andra nätverksprocesser kör inte som vanliga bakgrundsprocesser. De kör som tjänster.
- Windows Service Processes: Dessa lanseras inte direkt, men via Servicechef. Som standard körs tjänster som LocalSystem (vilket isanae säger är lika med SYSTEM) kan ha dedikerade konton konfigurerad. Naturligtvis stör inget praktiskt taget. De installerar bara XAMPP, WampServer eller någon annan programvara och låter den springas som SYSTEM (för evigt unpatched). På de senaste Windows-systemen tror jag att tjänster även kan ha egna SID, men jag har inte gjort mycket forskning om detta ännu.
- Planerade uppgifter: Dessa lanseras av Task Scheduler Service i bakgrunden och kör alltid under kontot konfigurerat i uppgiften (vanligtvis den som skapade uppgiften).
Om en användarstartad process övergår till SYSTEM-kontot, indikerar det en mycket allvarlig sårbarhet.
Det är inte en sårbarhet eftersom du redan måste ha administratörsbehörigheter för att installera en tjänst. Att ha administratörsbehörigheter låter dig redan göra praktiskt taget allting.
Se även: Olika andra icke-sårbarheter av samma slag.
Se till att läsa igenom resten av denna intressanta diskussion via trådlänken nedan!
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.