Почему мой файл извлекается из FTP в удаленном сеансе PowerShell в зашифрованном виде? - PullRequest
1 голос
/ 11 февраля 2020

Еще одна проблема - прекрасно работает локально, но теряет сознание в удаленном сеансе.

У меня есть сценарий PS, который запускает стандартную Windows командную строку ftp.exe чтобы получить файл. Срабатывает, когда запускается напрямую, однако при удаленном запуске через Invoke-Command он внезапно оставляет файлы с установленным зашифрованным битом.

Если я тогда, в том же сеансе PS (в том же сценарии), запустите cipher /d на файл, я получаю доступ отказано. Однако, если я войду на удаленный компьютер, используя ту же учетную запись, я смогу расшифровать ее.

Итак, первый вопрос, это «особенность» ftp.exe? Я не могу найти ничего предлагающего в качестве такового, но никакой другой метод создания файла, кажется, не приводит к его шифрованию, поэтому я оставил мысль, что это преднамеренное действие со стороны приложения, как будто оно проверяет тип входа и шифрует, если Это вход в сеть.

Во-вторых, почему я не могу немедленно расшифровать его? Тот же счет, тот же сеанс.


Основные биты рассматриваемого сценария:

#the ftp script is just open, user, binary, get, quit
& ftp -n -v -s:"$script"

& cipher /d "$file_path"

1 Ответ

0 голосов
/ 14 февраля 2020

Я понимаю, что это, вероятно, довольно туманный крайний случай, но я оставлю ответ на тот случай, если кто-нибудь столкнется с чем-то похожим.

Как обычно, у ProcMon есть все ответы ...

В моей компании %HOMESHARE% настроен на сетевой файловый сервер (я полагаю, некоторым GPO).

Когда ftp.exe извлекает файл, он записывает во временный файл, а затем завершает работу, копирует его в указанное место. Даже зная об этом, можно ожидать, что %TEMP% будет использоваться для этой цели, но нет.

Я не совсем уверен, как именно ftp.exe определяет местоположение временного файла, но когда я Я нахожусь в PSsession, он выбирает папку «Мои документы» (%USERPROFILE% я полагаю), но когда я нахожусь в сеансе RDP, он использует %HOMEPATH%. Поэтому, конечно, моя папка «Документы» настроена на шифрование новых файлов, и поэтому временный файл шифруется и копируется, но общий файловый ресурс не копируется, поэтому он копируется поверх чистого.


Кроме того, пока у меня есть не нашел ничего официального, заявляющего об этом, кажется, что cipher.exe совершенно неэффективен для входа в сеть. Если после входа в сеанс PSS я создаю новый файл с Set-Content и пытаюсь зашифровать с помощью cipher /e <file>, то такой же доступ запрещается. Та же учетная запись через RDP шифрует без проблем;

...