Jump to content

WSH-Security mal ganz schnell


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo liebe VBS Programmierer,

 

für alle die etwas mehr WSH-Sicherheit möchten, habe ich mal ein kleines VB Skript geschrieben!

 

Gruß

Tom Del Greco

 

'___________________________________________
'                                           
'             WSH Signed Scripts            
'       Create for Windows 2000/XP/2003     
'
'         from Tom Del Greco 15.12.07
'         last change:
'
'___________________________________________

'
' Mit dieses kleinen Skripte koennen die Ausführ-
' eigenschaften von VB-Skripten auf einen 
' Windows 2000/2003/XP gesteuert werden.

' ACHTUNG : Wenn das Argument "/cert" ausgeführt
' wird, können keine Skripte ausgeführt werden 
' die kein Zertifikat vom Betriebsystem erhalten
' haben. Sollte es dennoch vorkommen das man diese
' Option, ohne Zertifikat ausgeführt hat, kann man 
' den Registry DWORD Einträge von Hand wieder auf 
' NULL (0) zurück setzen!


On Error Resume Next

Function WSHSec(DWORD_Value)
' dwValue 0 /runall Alle Skripte werden ausgefuehrt.
'
' dwValue 1 /usermode Der Benutzer entscheidet, ob unsignierte
'                                  Skripte ausgefuehrt werden sollen.
'
' dwValue 2 /cert Nur signierte Skripte werden ausgefuehrt.
'	 
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002

strComputer = "."
  Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
      strComputer & "\root\default:StdRegProv")
          strKeyPath   = "SOFTWARE\Microsoft\Windows Script Host\Settings"
          strDWORD     = "TrustPolicy"
   strString    = "UseWINSAFER"
   String_Value = "0"

        'HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings
        oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strDWORD,DWORD_Value
        oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strString,String_Value

	'HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings
               oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strDWORD,DWORD_Value
End Function

Sub strRunAll 
Dim Answer
Set objShell=WScript.CreateObject("WScript.Shell")
   Answer = objShell.Popup("WSH Sicherheit deaktivieren?",1+64,"Warnung",1+64)
     If Answer = vbOk Then
        CALL WSHSec(0)
     End If
End Sub

Sub strCert
Dim Answer
Set objShell=WScript.CreateObject("WScript.Shell")
   Answer = objShell.Popup("Alle VB-Skript koennen nur noch mit einen gueltigen " & vbCrLf & _ 
                           "Zertifikat ausgefuehrt werden, wollen Sie diese" & vbCrLf & _
		    "Einstellung in der Registry wirklich uebernehmen?" ,1+64,"Warnung",1+64)
     If Answer = vbOk Then
        CALL WSHSec(2)
     End If
End Sub

Sub Help
  WScript.Echo ""
  WScript.Echo " Create by Tom Del Greco '2007"
  WScript.Echo ""
  WScript.Echo " vcert.vbs [/?] [/cert] [/usermode] [/runall]"
  WScript.Echo ""
  WScript.Echo " /?        - Help"
  WScript.Echo " /cert    - WSH-Skripte werden nur mit einen gültigen Zertifikat ausgeführt!"
  WScript.Echo " /usermode - Der Benutzer wird aufgefordert ob WSH-Skripte ausgeführt werden!"
  WScript.Echo " /runall   - Alle WSH-Skripte werden ohne Aufforderung ausgeführt!"
  WScript.Echo ""
  WScript.Quit
End Sub

iNumber = Wscript.Arguments.Count

If (WScript.Arguments.Count -1) OR (WScript.Arguments.Count > 1) Then
  CALL Help
End If

If (WScript.Arguments.Named.Exists("?")) AND iNumber = 1 Then 
   CALL Help
End If

If (WScript.Arguments.Named.Exists("cert")) AND iNumber = 1 Then 
  CALL strCert
  WScript.Quit
End If

If (WScript.Arguments.Named.Exists("usermode")) AND iNumber = 1 Then 
  CALL WSHSec(1)
  WScript.Quit
End If

If (WScript.Arguments.Named.Exists("runall")) AND iNumber = 1 Then 
  Call strRunAll
  WScript.Quit
End If

On Error Goto 0

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...