aboutsummaryrefslogtreecommitdiff
path: root/Invoke-SMBExec.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'Invoke-SMBExec.ps1')
-rw-r--r--Invoke-SMBExec.ps112
1 files changed, 11 insertions, 1 deletions
diff --git a/Invoke-SMBExec.ps1 b/Invoke-SMBExec.ps1
index 1a2c3a0..3a4654e 100644
--- a/Invoke-SMBExec.ps1
+++ b/Invoke-SMBExec.ps1
@@ -1523,6 +1523,11 @@ if($SMB_client.Connected)
$SMB_client_stage = 'ReadAndXRequest'
$SMB_client_stage_next = 'DeleteServiceW'
}
+ elseif([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '31-04-00-00')
+ {
+ Write-Output "Service $SMB_service creation failed on $Target"
+ $SMBExec_failed = $true
+ }
else
{
Write-Output "Service creation fault context mismatch"
@@ -2037,7 +2042,7 @@ if($SMB_client.Connected)
'StartServiceW'
{
- if([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '00-00-00-00')
+ if([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '00-00-00-00')
{
Write-Verbose "Service $SMB_service created on $Target"
$SMB_service_context_handle = $SMB_client_receive[112..131]
@@ -2078,6 +2083,11 @@ if($SMB_client.Connected)
$SMB_client_stage = 'ReadRequest'
$SMB_client_stage_next = 'DeleteServiceW'
}
+ elseif([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '31-04-00-00')
+ {
+ Write-Output "Service $SMB_service creation failed on $Target"
+ $SMBExec_failed = $true
+ }
else
{
Write-Output "Service creation fault context mismatch"