So wie es aussieht, versucht der Conficker oder ein anderer Virus momentan auf einigen Maschinen den DHCP Dienst zu deaktivieren, indem er in der Registry dem "Network Service" die Berechtigung nimmt, Informationen aus dem Schlüssel HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters zu lesen. Das Ergebniss ist, dass der DHCP Client nicht mehr startet und sich der Server somit nicht mehr korrekt im DNS registriert. Der Dienst lässt sich auch nicht mehr maneull starten.

    Man kann nun die Registry Berechtigungen manuell korrigieren, aber dies ist bei mehreren Server relativ aufwendig. Daher habe ich eine Batch Datei geschrieben, die prüft ob der dhcp client läuft, wenn nicht werden die Berechtigungen korrigiert und der Dienst neu gestartet.

    @echo off
    
    REM ########################################################
    REM ## checking dhcp service permission
    REM ########################################################
    del %temp%dhcpservice.log
    echo reading registry permission for DHCP Client service...
    sc query "DHCP" | find /i "state" >nul 2>nul
    \domain.tldNETLOGONsubinacl.exe /nostatistic /noverbose /outputlog=%temp%dhcpservice.log /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters /display
    
    :: recognize os language
    echo %USERPROFILE% |find /i "Documents" >nul 2>nul
    if %errorlevel%==0  goto englisch_os
    
    echo %USERPROFILE% |find /i "Dokumente" >nul 2>nul
    if %errorlevel%==0  goto german_os
    
    goto exit
    
    :englisch_os
    echo englisch os detected...
    type %temp%dhcpservice.log |find /i "network service" >nul 2>nul
    if %errorlevel% NEQ 1 goto good_perm
    goto e_set_perm
    
    :german_os
    echo german os detected...
    type %temp%dhcpservice.log |find /i "netzwerkdienst" >nul 2>nul
    if %errorlevel% NEQ 1 goto good_perm
    goto g_set_perm
    
    :e_set_perm
    echo reparing enlgisch os permissions...
    \domain.tldNETLOGONsubinacl.exe /noverbose /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters /grant="network service"=F >nul 2>nul
    echo starting dhcp service
    sc start dhcp
    goto exit
    
    :g_set_perm
    echo reparing german os permissions...
    \domain.tldNETLOGONsubinacl.exe /noverbose /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters /grant="netzwerkdienst"=F >nul 2>nul
    echo starting dhcp service
    sc start dhcp
    goto exit
    
    :good_perm
    echo permissions are correct. Nothing changed...
    goto exit
    
    :exit

    Leave A Reply