# Setting Windows Machine for Optimization Through Registry Manipulation # Simple Perl Script By : zeroknock [at] secniche.org # Very useful Script. print "[~] Registry Specifier Network Traffic Optimization Script.!\n"; print "[~] Standard Entries from : Microsoft Optimization Book.!\n"; print "[~] Windows Server 2000 || 2003 \n"; print "\n\n"; use Strict; use Win32::Registry; my ( $main , $subkey , $createkey ); print "[*] Optimizing NETLOGON Service!\n"; print "\n"; print STDOUT "[*] Log Size Set To Maximum!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("ChangeLogSize",REG_DWORD,"4194304") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Password Change Locked!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("DisablePasswordChange",REG_DWORD,"1") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Maximum Pulse Value Undertaken!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("PulseMaximum",REG_DWORD,"172800") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Pulse Concurrency Defined!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("PulseConcurrency",REG_DWORD,"500") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Pulse Timeout1 Defined!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("PulseTimeout1",REG_DWORD,"60") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Pulse Timeout2 Defined!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("PulseTimeout2",REG_DWORD,"900") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Replication Governor Defined!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("ReplicationGovernor",REG_DWORD,"100") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Expected DialUp Delay Defined!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("ExpectedDialUpDelay",REG_DWORD,"45") || die "[~] SubKey Cannot Be Created $!\n"; print "\n"; print "[*] Optimizing Browser Services.\n"; print "\n"; print STDOUT "[*] Master Periodicity Defined! \n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Browser\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("MasterPeriodicity",REG_DWORD,"900") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] BackUpPeriodicity \n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Browser\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("BackupPeriodicity",REG_DWORD,"720") || die "[~] SubKey Cannot Be Created $!\n"; print "\n"; print "[*] Optimizing PRINTER || NetPopUp \n"; print "\n"; print STDOUT "[*] Disable Server Thread! \n"; $subkey = "SYSTEM\\CurrentControlSet\\Control\\Print"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("DisableServerThread",REG_DWORD,"1") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Disable NetPopUp! \n"; $subkey = "SYSTEM\\CurrentControlSet\\Control\\Print\\Providers"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("NetPopup",REG_DWORD,"0") || die "[~] SubKey Cannot Be Created $!\n"; print "\n"; print STDOUT "[*] SMB || License Management Services!\n"; print "\n"; print STDOUT "[*] Keep Connection[SMB] Set!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\LanManWorkstation\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("KeepConn",REG_DWORD,"90") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Disable License Management!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("Start",REG_DWORD,"4") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Reducing Time Between Successive NetBIOS Broadcasts!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\NetBT\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("BcastQueryTimeout",REG_DWORD,"250") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting Count For NetBIOS Broadcasts!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\NetBT\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("BcastNameQueryCount",REG_DWORD,"2") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Reducing Server Idle Disconnect Time!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\LanManServer\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("AutoDisconnect",REG_DWORD,"2") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting UpDate Mode!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Update"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("UpdateMode",REG_DWORD,"2") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting UpDate Mode Path!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Update"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("NetworkPath",REG_SZ,"C:\Windows\Config.pol") || die "[~] SubKey Cannot Be Created $!\n"; print "\n"; print "[*] Optimizing TCPIP Services!\n"; print "\n"; print STDOUT "[*] Enabling Raw Mode!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\LanManServer\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("EnableRaw",REG_DWORD,"1") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting Maximum Link Delay!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\LanManServer\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("MaxLinkDelay",REG_DWORD,"60") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting TCPIP Windows Size!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("TCPWindowSize",REG_DWORD,"16504") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting TCPRecvSegmentSize!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("TCPRecvSegmentSize",REG_DWORD,"1") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting TCPSendSegmentSize!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("TCPSendSegmentSize",REG_DWORD,"1") || die "[~] SubKey Cannot Be Created $!\n"; print STDOUT "[*] Setting TCPIP MTU Size!\n"; $subkey = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\parameters"; $main::HKEY_LOCAL_MACHINE->open($subkey,$createkey) || die "[~] Registry Cannot Be Opened $!\n"; $createkey->SetValue("MTU",REG_DWORD,"2") || die "[~] SubKey Cannot Be Created $!\n"; print "[*] The Script Executed Successfully!\n";