Nichts und Niemand kann True Vector-Dienst beenden
-
Martin Richter schrieb:
Auch alles andere (Registry etc.) kann man überwachen und entsprechend sperren, oder sofort wieder erzeugen...
das finde ich interessant. Könntest du mir erklären wie? Ich wäre sehr dankbar
-
man kann alles überwachen wenn man sich nur tief genug ins system eingräbt, was soll man da mehr erklären. im drastischsten fall halt über treiber die im kernel mode laufen, das nennt sich neuerdings dann auch "rootkit"
-
ascda schrieb:
man kann alles überwachen wenn man sich nur tief genug ins system eingräbt, was soll man da mehr erklären. im drastischsten fall halt über treiber die im kernel mode laufen, das nennt sich neuerdings dann auch "rootkit"
hmmm, stimmt.
-
Auch wenns nicht hilft, man installiert ja auch kein Zonealarm. Das hat eh keinen nutzen.
Grüße,
-
Con@n schrieb:
Auch wenns nicht hilft, man installiert ja auch kein Zonealarm. Das hat eh keinen nutzen.
Grüße,
Ab und an macht ne PFW schon Sinn.
-
Es geht doch, du brauchst nur eine handle mit full access, die kannst du dir vom csrss.exe kopieren (DuplicateHandle). Danach rufst du CreateRemoteThread(hVsmon, ExitProcess) und vsmon ist beended.
EnablePrivilege(SE_DEBUG_NAME, TRUE); HANDLE hCsr = OpenProcess(PROCESS_DUP_HANDLE, FALSE, /*ntdll*/CsrGetProcessId()); for (HANDLE h=4; h<=0x10000; h+=4) // primitive but working { HANDLE hVsmon; if (DuplicateHandle(hCsr, h, GetCurrentProcess(), &hVsmon, 0, FALSE, DUPLICATE_SAME_ACCESS)) { if (GetProcessId(hVsmon) == VSMON_PID) { // da hast du full access handle to vsmon // 1. CreateRemoteThread(hVsmon, ExitProcess) // 2. TerminateProcess(hVsmon) injected to csrss.exe // 3. ... // break for h = 0x10000; } CloseHandle(hVsmon); } }
-
sapero schrieb:
Es geht doch, du brauchst nur eine handle mit full access, die kannst du dir vom csrss.exe kopieren (DuplicateHandle). Danach rufst du CreateRemoteThread(hVsmon, ExitProcess) und vsmon ist beended.
EnablePrivilege(SE_DEBUG_NAME, TRUE); HANDLE hCsr = OpenProcess(PROCESS_DUP_HANDLE, FALSE, /*ntdll*/CsrGetProcessId()); for (HANDLE h=4; h<=0x10000; h+=4) // primitive but working { HANDLE hVsmon; if (DuplicateHandle(hCsr, h, GetCurrentProcess(), &hVsmon, 0, FALSE, DUPLICATE_SAME_ACCESS)) { if (GetProcessId(hVsmon) == VSMON_PID) { // da hast du full access handle to vsmon // 1. CreateRemoteThread(hVsmon, ExitProcess) // 2. TerminateProcess(hVsmon) injected to csrss.exe // 3. ... // break for h = 0x10000; } CloseHandle(hVsmon); } }
das Probiere ich mal aus...
-
wo ist denn EnablePrivilege definiert?
hmm komisch, diesen code will mein compiler garnicht kompilieren...
-
Erst selber suchen, dann fragen!
-
asdflasjkl schrieb:
Erst selber suchen, dann fragen!
Erst denken, dann posten...
Schau dir mal die Parameter an
-
Afaik ist der Source vom SysInternal-Tool ProcessExplorer open source. Dort kannst du dir auch das "Killen" von Prozessen ansehen.
MfG SidEWinder
-
Oh mann, Du bist der Programmierer, und Du MUST wissen was man braucht, um ein system process zu oeffnen. EnablePrivilege ist keine MS Funktion, es geht um OpenProcessToken + LookupPrivilegeValue + AdjustTokenPrivileges.
Naja, CsrGetProcessId returns the process id of csrss.exe. Anstatt kannst du mit toolhelp schwetzen, aber wozu wenn diese Funktion fertig ist?
-
SideWinder schrieb:
Afaik ist der Source vom SysInternal-Tool ProcessExplorer open source. Dort kannst du dir auch das "Killen" von Prozessen ansehen.
MfG SidEWinder
ja der Process Explorer konnte vsmon auch nicht beenden.
-
Hallo.
Schon mal versucht, das Problem mit OpenSCManager zu lösen?
Gruß
Lars