Próbuję uruchomić program cmd.exe w sesji 0. Dotychczas wykonałem następujące czynności z wiersza polecenia z podwyższonym poziomem uprawnień:
sc config UI0Detect start= auto
net start UI0Detect
Odpowiedź wskazuje, że usługa została uruchomiona poprawnie. W tym momencie założyłem, że jeśli przestawię się na sesję 0, uruchomi się cmd.exe.
Przełączam się do sesji 0 za pomocą następującego polecenia:
rundll32 winsta.dll,WinStationSwitchToServicesSession
To z powodzeniem przełącza mnie do sesji 0, ale jedynym dostępnym oknem jest to, które ma opcję powrotu do sesji 1.
Jak uzyskać cmd.exe do uruchomienia w sesji 0?
windows-7
command-line
session
omghai2u
źródło
źródło
Odpowiedzi:
Aby uruchomić cmd.exe w sesji 0, użyj psexec z Sysinternals
Teraz masz konsolę uruchomioną w sesji 0,
możesz także uruchomić cmd.exe w sesji 0 i wyświetlić GUI:
w ten sposób, kiedy przejdziesz do sesji 0, cmd.exe będzie tam na ciebie czekał.
masz tyle praw, ile możesz uzyskać w systemie Windows 7:
jeśli używasz innych PsTools, pamiętaj, aby użyć przełącznika / accepteula:
w przeciwnym razie program wyświetli okno komunikatu z prośbą o zaakceptowanie Eula, program zawiesi się, ponieważ w sesji 0 nie ma interfejsu użytkownika do zamknięcia okna komunikatu.
Aby sprawdzić, czy działasz w sesji 0, możesz użyć qprocess:
zobaczysz „cmd.exe” wśród wszystkich procesów serwisowych.
źródło
-s
działa jakoSYSTEM
użytkownik i nie przyjmuje argumentu. Może miałeś na myśli-i 0
w pierwszym i-s -i 0
drugim przykładzie?To nie zadziała. Po prostu rozpoczyna proces jako System.
Usługi to programy napisane w specjalny sposób do przyjmowania poleceń od kierownika kontroli usług.
MS posiada narzędzie, które pozwala na uruchomienie programu jako usługi. Nazywa się
Srvany
i znajduje się w Narzędziach Windows 2003 Resource Kit.Pobierz Narzędzia zestawu Windows Server 2003 Resource Kit
źródło
Pewnego dnia odkryłem rozwiązanie przez przypadek, ale http://www.alex-ionescu.com/?p=59 dokumentuje również rozwiązanie zbliżone do tego, co znalazłem
Utwórz plik wsadowy z następującymi (nazwij go some.bat)
Następnie utwórz usługę, aby wywołać ten plik wsadowy (za pomocą wiersza polecenia administratora)
(Zwróć uwagę na spację po każdym =, i sugeruję użycie pełnej ścieżki dla some.bat)
To jest kwestia uruchomienia usług
(Nie ma potrzeby dokonywania automatycznego uruchamiania ui0detect za pomocą sc config UI0Detect start = auto)
A jeśli wszystko pójdzie dobrze, dostaniesz migające pudełko z nadchodzącymi wiadomościami! Przejdź do Wyświetl wiadomości, a będziesz mieć Admininstrator (nt organ \ system) Wiersz polecenia, który nie zostanie automatycznie zniszczony przez nieudane uruchomienie usługi (stąd potrzeba pliku wsadowego z poleceniem start)
To działa, chociaż czasami nie działa przy pierwszej próbie.
Wierzę, że daje to dostęp tylko do interaktywnej sesji 0, która istnieje tylko dla użytkownika nt organ \ użytkownik systemu
źródło
Możesz użyć skrótu start (Windows) + R, aby uruchomić okno dialogowe „Uruchom”. Następnie wpisz „cmd” (bez cudzysłowów) i voila. cmd
źródło
CMD
normalnie nie nie wkładać jeden wSession 0
.