diff --git a/3.0. VulnerabilityScanner b/3.0. VulnerabilityScanner index 3c78cdd..4b2f693 100644 --- a/3.0. VulnerabilityScanner +++ b/3.0. VulnerabilityScanner @@ -14,339 +14,339 @@ CONTROL ESCAPE DELAY 2000 STRING powershell REM Navigate to the context menu to run PowerShell as an administrator -DELAY 1500 +DELAY 500 RIGHTARROW -DELAY 200 +DELAY 100 DOWNARROW -DELAY 200 +DELAY 100 ENTER -DELAY 5000 +DELAY 3000 ALT Y DELAY 5000 REM Set PowerShell Execution Policy to Bypass DELAY 1000 STRING set-executionpolicy bypass -scope process -force -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 REM Create the PowerShell script in memory and execute it DELAY 400 STRING $usbName = "MYUSB" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $usbDrive = Get-WmiObject Win32_Volume | Where-Object { $_.Label -eq $usbName } | Select-Object -ExpandProperty DriveLetter -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING if ($usbDrive) { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $owner = (Get-WmiObject Win32_ComputerSystem).UserName -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $directoryPath = Join-Path -Path $usbDrive -ChildPath $owner -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING New-Item -ItemType Directory -Path $directoryPath -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $resultsFilePath = Join-Path -Path $directoryPath -ChildPath "results.txt" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING "" > $resultsFilePath -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function check-passwordpolicy { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING net accounts -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "Error checking password policy: $_" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function audit-services { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING get-service | select-object name, displayname, status, starttype -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "Error auditing services: $_" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function check-networksettings { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING get-netipconfiguration -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "Error checking network settings: $_" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function check-softwarevulnerabilities { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING get-itemproperty hklm:\software\wow6432node\microsoft\windows\currentversion\uninstall\* | select-object displayname, displayversion, publisher -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "Error checking software vulnerabilities: $_" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function check-cve { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING param ( -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING [string]$productname, -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING [string]$version -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING ) -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $initialDelay = 2 -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $uri = "https://services.nvd.nist.gov/rest/json/cves/1.0?keyword=$productname+$version" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING start-sleep -seconds $initialDelay -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $response = invoke-restmethod -uri $uri -method get -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING if ($response.totalresults -gt 0) { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING foreach ($cve in $response.result.cve_items) { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING "$($cve.cve.cve_data_meta.id) - $($cve.cve.description.description_data[0].value)" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } else { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING "no cves found for $productname $version" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "Error checking CVEs: $_" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING if ($_.Exception -match '403') { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "403 Forbidden error encountered. Retrying in 60 seconds..." -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING start-sleep -seconds 60 -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING $retryResponse = invoke-restmethod -uri $uri -method get -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING if ($retryResponse.totalresults -gt 0) { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING foreach ($cve in $retryResponse.result.cve_items) { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING "$($cve.cve.cve_data_meta.id) - $($cve.cve.description.description_data[0].value)" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } else { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING "no cves found for $productname $version" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function analyze-logs { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING get-eventlog -logname system -newest 100 -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING write-output "Error analyzing logs: $_" -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING function check-openports { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING try { -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING netstat -an -DELAY 400 +DELAY 200 ENTER -DELAY 400 +DELAY 200 STRING } catch { DELAY 400 ENTER