Nichts und Niemand kann True Vector-Dienst beenden



  • Hallo!
    True Vector ist ein Service, das mit zone alarm installiert wird.
    Ich wäre überrascht wenn jemand oder etwas ihn beenden kann.
    Mit beenden meine ich nicht "deaktivieren"
    Also ohne das system neuzustarten.
    Die Ausführbare datei (vsmon.exe) kann man nicht mal umbenennen.
    Auch aus der Registrierung kann man ihn nicht löschen.


  • Mod

    Und? Es wird einen zweiten Dienst geben, der permanent überwacht ob dieser Dienst noch läuft und ihn evtl. sofort wieder anwerfen. Und solage jemand die Datei (EXE) geöffnet hat kann man natürlich diese auch nicht löschen.
    Auch alles andere (Registry etc.) kann man überwachen und entsprechend sperren, oder sofort wieder erzeugen...

    Geheimnisvoll ist das sicherlich nicht!



  • dazu gabs schonma nen thread



  • Da geb ich Martin völlig recht. Ist schließlich auch nur ein Programm.

    Und Programme hat man bis jetzt noch alle killen können. 😉



  • Martin Richter schrieb:

    Und? Es wird einen zweiten Dienst geben, der permanent überwacht ob dieser Dienst noch läuft und ihn evtl. sofort wieder anwerfen. Und solage jemand die Datei (EXE) geöffnet hat kann man natürlich diese auch nicht löschen.
    Auch alles andere (Registry etc.) kann man überwachen und entsprechend sperren, oder sofort wieder erzeugen...

    Geheimnisvoll ist das sicherlich nicht!

    Schon wieder der Martin! Aber ich meckere diesmal wieder:
    Natürlich kann man ein programm Umbenennen oder verschieben wärend es ausgeführt wird! (Zumindest unter windows NT)
    vsmon kann man gar nicht beenden: taskmanger meldung: zugriff verweigert.





  • nö windoof hat dan filemap drauf und lockt die exe datei neoexpoert



  • Also ich kann den Pfad einer Datei verändern wenn sie ausgeführt wird. Nur löschen kann man sie nicht. Aber darum gings nicht. Es ging um vsmon.exe.



  • JustSomeCoder schrieb:

    Da geb ich Martin völlig recht. Ist schließlich auch nur ein Programm.

    Und Programme hat man bis jetzt noch alle killen können. 😉

    Ne wirklich! vsmon kann nicht beendet werden. Teste es einfach mal, Zone Alarm kann man kostenlos downloaden. Installiere es unter einer Virtuellen Maschine und probier es aus. SELBST wenn du administrator rechte hast. Nicht mal mit systemrechten kann man den prozess 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...





  • asdflasjkl schrieb:

    Erst selber suchen, dann fragen!

    http://msdn.microsoft.com/en-us/library/f9sewa9t.aspx

    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


Anmelden zum Antworten