Как отправить файл через cmd

Обновлено: 03.07.2024

Подключение к серверу посредством SSH – один из основных методов управления *nix серверами. Довольно часто возникает необходимость загрузить файл на удаленный сервер, либо выгрузить, и других средств кроме SSH-подключения нет. К счастью, копирование файлов через защищенное соединение – одна из штатных функций этого протокола и реализуется с помощь отдельной команды scp в Linux-системах, либо с помощью pscp.exe, входящей в состав SSH-клиента Putty для операционной системы Windows.

Работаем на ОС семейства Linux

Используем следующий формат команд:

scp [модификатор] [источник] [место_назначения]

Если в качестве источника или места назначения указывается удаленный сервер, то формат параметра такой:

После запуска команды потребуется ввести пароль от указанной учетной записи удаленного сервера.

Если собрать все вместе, то скопировать локальный файл /home/user/file.tgz в домашний каталог пользователя root удаленного сервера 123.123.123.123 можно командой:

scp /home/user/file.tgz root@123.123.123.123:/root

Чтобы скачать этот же файл с удаленного сервера:

scp root@123.123.123.123:/root/file.tgz /home/user

За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:

scp file1.tgz file2.tgz root@123.123.123.123:/root

Для копирования каталога потребуется задействовать модификатор команды –r. Копируем локальный каталог /home/user/dir на удаленный сервер:

scp –r /home/user/dir root@123.123.123.123:/root

В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция –P. Если нужно подключиться через порт 10022:

scp –P 10022 /home/user/file.tgz root@123.123.123.123:/root

Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.

Работаем на ОС семейства Windows

При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:

pscp.exe C:Tempfile.tgz root@123.123.123.123:/root

В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:

“C:Program FilesPuttypscp.exe” C:Tempfile.tgz root@123.123.123.123:/root

Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.

Запуск команд на удаленном сервере через SSH-подключение

Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.

Работаем на ОС семейства Linux

ssh [пользователь]@[сервер] ‘[команда]’

При запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.

Например, получим информацию об установленной на удаленном сервере операционной системе:

ssh root@123.123.123.123 ‘uname -a’

Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим сетевые настройки и активные сетевые подключения на удаленном сервере:

ssh root@123.123.123.123 ‘ifconfig; netstat -anp tcp’

В случае, если потребуется запустить на удаленном сервере локальный файла сценария, потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл сценария. Выглядеть эта конструкция будет так:

ssh root@123.123.123.123 ‘bash -s’ < /home/user/myscript.sh

В результате локальный файл /home/user/myscript.sh исполнится на удаленном сервере.

Запуск команды SSH без параметров позволит ознакомиться с краткой справкой по синтаксису и списком дополнительных модификаторов, которые позволяют расширить функциональность команды.

Работаем на ОС семейства Windows

Если мы подключаемся к удаленному серверу с компьютера, работающего на операционной системе Windows, то нам снова потребуется обратиться к терминальному клиенту Putty, в состав которого входит исполняемый файл plink.exe. Работать с этим файлом необходимо из командной строки (cmd.exe) или из PowerShell.

Для запуска команды на удаленном сервере используется следующий синтаксис:

plink.exe [сервер] -ssh -l [пользователь] “[команда]”

Проверим конфигурацию сетевых интерфейсов:

plink.exe 123.123.123.123 -ssh -l root “ifconfig”

Как и при работе с командой SSH в Linux, plink.exe позволяет использовать “;” в качестве разделителя для запуска нескольких команд:

plink.exe 123.123.123.123 -ssh -l root “ifconfig; netstat -anp tcp”

А запуск команд из локального файла можно реализовать с помощью дополнительного ключа -m:

В процессе тестирования на проникновение часто бывает необходимо загрузить файлы на целевой хост. Я столкнулся с этой проблемой в недавнем процессе обучения и тестирования. Требуется загрузить файлы на целевой хост (система Windows) только через оболочку cmd, поэтому эта статья о Суммируйте свои навыки.

Alt text

1、 debug

debug - инструмент для отладки программ, в число функций которого входят:

  • Прямой ввод, изменение, отслеживание и запуск исходных программ на ассемблере
  • Соблюдайте содержимое операционной системы
  • Посмотреть содержимое ROM BIOS
  • Наблюдайте и изменяйте значение настройки в ОЗУ
  • Чтение и запись данных с дискет по секторам или файлам

В частности, он имеет функцию для преобразования шестнадцатеричных кодов в исполняемые файлы:

Alt text

В сочетании с целями этой статьи, идеи заключаются в следующем:

  1. Конвертировать исполняемый файл в шестнадцатеричный формат
  2. Запишите шестнадцатеричный код в файл с помощью команды echo
  3. Используйте функцию отладки для восстановления шестнадцатеричного кода в исполняемый файл

Актуальный тест:

exe2bat.exe в Kali обеспечивает эту функцию, расположенную в /usr/share/windows-binaries

Alt text

Операционные шаги:

После выполнения будет сгенерирован ssss2.txt, скопируйте и вставьте содержимое в командную строку cmd и выполните последовательно

После выполнения сгенерирует 1.dll, 123.hex, ssss.exe

Alt text

Примечание:
exe2bat не поддерживает файлы, размер которых превышает 64 КБ, по умолчанию отладка поддерживает только 32-разрядные системы

Alt text

Выполните следующий код для загрузки файлов через ftp

Alt text

Примечание:
При первом использовании ftp для загрузки брандмауэра он будет заблокирован фреймом. Не забудьте добавить правила брандмауэра перед его использованием

Следующий код сохраняется в виде файла .vbs:

Команды, соответствующие cmd:

После последовательного выполнения будет создан файл download.vbs, а затем можно будет выполнить загрузку download.vbs для загрузки файла ssss2.exe.

4、powershell

Используйте echo для записи кода в файл download.cs по очереди, а затем вызовите csc.exe для компиляции файла cs

Файл download.exe создается, как показано на рисунке.

Alt text

6、JScript

По сравнению с используемыми в JSRat Scripting.FileSystemObject

Переключиться на ADODB.Stream Проще и эффективнее реализовать

Следующий код сохраняется в виде файла js по порядку, и его можно загрузить непосредственно для выполнения файла

Слово, объединенное с rundll32 (аналогично тому, как запускается JSRat):

После казни вам подскажут, что разрешения нет, это очень интересно, подробности будут представлены в следующих статьях

Alt text

Alt text

Добавлена ​​функция минимизации и автоматического выхода из программы hta, окно hta будет свернуто в процессе выполнения, а программа hta будет автоматически закрыта после завершения загрузки файла

Следующий код сохраняется в виде файла .hta:

8、bitsadmin

bitsadmin - это инструмент командной строки, который можно использовать для создания заданий загрузки или выгрузки и отслеживания их выполнения. Система Windows после XP

Успешная загрузка выглядит следующим образом:

Alt text

9、base64

Сначала зашифруйте exe с помощью base64, а затем расшифруйте вывод после загрузки через cmd.

После запуска C: \ windows \ system32 \ calc.exe будет зашифрован как base64 и выведен в base64.txt.

(3) аксессуары eml

(Идея предоставлена ​​Пигманом)

server2003 по умолчанию включает клиент Outlook C: \ Program Files \ Outlook Express

Используйте блокнот, чтобы открыть электронную почту, вы можете увидеть зашифрованный код base64

enter image description here

Расшифруйте файл base64 и сгенерируйте метод exe:

Примечание:Операция чтения файла может быть заменена кодом base64, непосредственно записанным в файл скрипта.

Выше приведены программы, включенные в систему по умолчанию, в сочетании с описанными выше способами и с помощью сторонних инструментов также можно добиться функций

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

1、wget:

После запуска он загрузит сжатый пакет wget wget.zip

Примечание:
Система Windows по умолчанию не включает команду для распаковки zip-файла, но вы можете использовать vbs для распаковки zip-файла

VBS для достижения декомпрессии:

Следующий код сохраняется в виде файла .vbs:

После удачной разархивации вы можете передавать файлы через wget.exe

Alt text

2、ftfp

Идея та же, что и выше: сначала скачайте tftp.exe через bitsadmin, а затем используйте tftp для передачи файлов.

После успешной загрузки используйте tftp для передачи файлов:

Примечание:
Брандмауэр по умолчанию заблокирует

Выключите брандмауэр или добавьте правила

Alt text

В этой статье разбираются некоторые часто используемые методы для передачи файлов через cmd, сосредоточив внимание на представлении более общих и простых методов, поэтому я не представил других методов реализации, которые должны настраивать среду разработки, таких как Python, Ruby, Php и т. Д., Если у вас есть Для улучшения методов реализации, добро пожаловать, чтобы общаться со мной и учиться вместе.

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

Существует три способа, с помощью которых можно получить доступ к FTP :

  • FTP-клиенты командной строки.
  • Браузер.
  • Графические FTP-клиенты .

Операционные системы Windows , Macintosh X и Linux имеют встроенные клиенты командной строки, которые могут быть использованы для установления FTP-соединения . Чтобы инициировать соединение в Windows , введите в CMD команды FTP и нажмите Enter .

Команды FTP для командной строки Windows

КомандаОписание
!Эта команда служит для перехода между операционной системой и FTP. Для возврата из операционной системы к командной строке FTP используется команда exit.
?Отображение справки для команды.
appendДобавление текста в локальный файл.
asciiПереключение в ASCII режим передачи данных.
bellВключает/отключает режим подачи звукового сигнала.
binaryУстановка режима передачи двоичных файлов.
byeВыход из FTP.
cdСмена текущего каталога.
closeВыход из FTP.
deleteУдаление файла.
debugВключает/отключает отладочный режим.
dirВыводит список файлов.

dir -C = выводит файлы в расширенном формате.

dir -1 = выводит список файлов в алфавитном порядке.

dir -r = выводит список каталогов в обратном алфавитном порядке.

dir -R = выводит список всех файлов в текущем каталоге и подкаталогах.

Команды FTP для командной строки Windows

FTP команды для Windows

FTP параметры для командной строки Windows

Параметры CMD используются для изменения работы команд FTP . Параметр командной строки обычно следует за основной командой FTP через пробел. Вот список часто используемых параметров командной строки FTP для Windows® :

FTP команды для Windows

FTP параметры командной строки для Windows

FTP не является надежным способом обмена конфиденциальной информацией. Из-за ограничений этого протокола организации, как правило, используют для передачи файлов протоколы FTPS и SFTP . Технология управляемой передачи файлов ( MFT ) поддерживает эти протоколы безопасности.

Пожалуйста, оставляйте ваши мнения по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, лайки, подписки, отклики!

FTP через командную строку cmd

Продолжаем тему работы с FTP сервером! Мы уже рассмотрели основы протокола FTP, а так же способы работы с FTP сервером, а сегодня мы рассмотрим работу с FTP сервером через командную строку cmd. Как я и говорил данный метод используется довольно редко, по крайней мере мной, так как проще работать через FTP клиент. Однако, для написания автоматизированных скриптов для обмена данными между вашей локальной машиной и FTP сервером эти знания вам очень даже пригодятся.

В данном видео писать скрипт мы не будем, этим мы займемся в следующем видео, а просто рассмотрим основные команды для работы с FTP сервером через командную строку.

Основные команды для работы с FTP сервером через командную строку CMD

И для начала нам необходимо запустить командную строку (Пуск \ Приложения \ Служебные программы \ Командная строка) или Win+R \ cmd.

Первым делом необходимо перейти в режим работы с FTP сервером делается это через команду FTP

Далее необходимо подключиться непосредственно к серверу, с которым мы будем работать, делается это через команду OPEN АДРЕС_FTP_СЕРВЕРА

Вводим ИМЯ_ПОЛЬЗОВАТЕЛЯ который имеет доступ к данному серверу и ПАРОЛЬ

ftp cherez komandnuyu stroku cmd 2

Если мы ведем команду DIR то нам выведется список файлов и папок которые содержатся на FTP сервере.

ftp cherez komandnuyu stroku cmd 3

Я не буду рассказывать о всех командах, которые используются для работы с FTP сервером через командную строку, а только те, которые нам понадобится для написания скрипта. Главным образом это команды, позволяющие копировать файлы с FTP-сервера на наш локальный компьютер и наоборот с локального компьютера на FTP-сервер.

Вы всегда можете набрать команду HELP и вам выведется список поддерживаемых команд, чтобы узнать назначение команды достаточно ввести HELP НАЗВАНИЕ_КОМАНДЫ.

ftp cherez komandnuyu stroku cmd 4

Но, тут описание очень скромное, поэтому, если вы хотите узнать более подробное описание различных команд, заходите ко мне на сайт в тематическую статью. Ссылку я размещу в описании к данному видео.

У меня нет доступа для непосредственно записи файлов в корень данного FTP-сервера, но есть доступ к папке htdocs, поэтому для начала перейдём в данную папку. Делается это команды CD ИМЯ_ПАПКИ.

Мы видим, что в данной папке у нас ничего нет. Давайте попробуем скопирую сюда какой-нибудь файл с нашего локального компьютера. Для этого на локальном компьютере создадим папочку, допустим у меня это будет nod32_update так как в одном из следующих видео, я буду рассказывать о том, как написать скрипт для автоматического обновления антивируса NOD32. И давайте создадим какой-нибудь текстовый документ допустимым 123.txt.

Чтобы скопировать файл 123.txt на FTP-сервер вводим команду PUT c:\nod32_update\123.txt. Файл скопирован, можем проверить это командой DIR. Как вы видите, файл скопировался именно в ту папку, в которую мы перешли через команду CD.

Если нам необходимо скопировать все файлы с определенной папки на локальном компьютере в папку на FTP сервере, то нам необходимо указать текущий локальный каталог и каталог на сервере.

Каталог на сервере мы научились указывать, через команду CD

ftp cherez komandnuyu stroku cmd 5

Локальный каталог указывается через команду LCD, если мы её наберем, то увидим, что текущий каталог — это папка с профилем текущего пользователя. А так как я собираюсь копировать файлы из другой папки то ввожу команду LCD ПУТЬ_К_НУЖНОЙ_ПАПКЕ

В чем суть, есть команда MPUT которая копирует файлы из локальной папки на удаленную и она не запрашивает какие именно это папки, поэтому нам эту информацию нужно сообщить.

Для того, чтобы скопировать все файлы из локальной папки в удаленную я указываю команду MPUT *.*, где *.* означает все файлы находящиеся в локальной папке.

Здесь у нас задаётся вопрос подтверждение для каждого файла хотим его скопировать или нет для этого живём Enter. Чтобы подобные подтверждение не выводились есть команда PROMT отключает интерактивный режим выключен.

ftp cherez komandnuyu stroku cmd 6

Теперь попробуем сделать обратное действие, а именно скопировать все файлы с удаленной папки на FTP сервере в локальную. Делается это через команду MGET *.*.

Как видите всё отлично, в нашей папке появились все необходимые файлы и теперь мы можем закончить работу с FTP сервером через команду QUIT.

Читайте также: