Как отправить файл через cmd
Подключение к серверу посредством 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 [email protected]:/root
Чтобы скачать этот же файл с удаленного сервера:
scp [email protected]:/root/file.tgz /home/user
За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:
scp file1.tgz file2.tgz [email protected]:/root
Для копирования каталога потребуется задействовать модификатор команды –r. Копируем локальный каталог /home/user/dir на удаленный сервер:
scp –r /home/user/dir [email protected]:/root
В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция –P. Если нужно подключиться через порт 10022:
scp –P 10022 /home/user/file.tgz [email protected]:/root
Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.
Работаем на ОС семейства Windows
При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:
pscp.exe C:Tempfile.tgz [email protected]:/root
В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:
“C:Program FilesPuttypscp.exe” C:Tempfile.tgz [email protected]:/root
Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.
Запуск команд на удаленном сервере через SSH-подключение
Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.
Работаем на ОС семейства Linux
ssh [пользователь]@[сервер] ‘[команда]’
При запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.
Например, получим информацию об установленной на удаленном сервере операционной системе:
ssh [email protected] ‘uname -a’
Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим сетевые настройки и активные сетевые подключения на удаленном сервере:
ssh [email protected] ‘ifconfig; netstat -anp tcp’
В случае, если потребуется запустить на удаленном сервере локальный файла сценария, потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл сценария. Выглядеть эта конструкция будет так:
ssh [email protected] ‘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, поэтому эта статья о Суммируйте свои навыки.
1、 debug
debug - инструмент для отладки программ, в число функций которого входят:
- Прямой ввод, изменение, отслеживание и запуск исходных программ на ассемблере
- Соблюдайте содержимое операционной системы
- Посмотреть содержимое ROM BIOS
- Наблюдайте и изменяйте значение настройки в ОЗУ
- Чтение и запись данных с дискет по секторам или файлам
В частности, он имеет функцию для преобразования шестнадцатеричных кодов в исполняемые файлы:
В сочетании с целями этой статьи, идеи заключаются в следующем:
- Конвертировать исполняемый файл в шестнадцатеричный формат
- Запишите шестнадцатеричный код в файл с помощью команды echo
- Используйте функцию отладки для восстановления шестнадцатеричного кода в исполняемый файл
Актуальный тест:
exe2bat.exe в Kali обеспечивает эту функцию, расположенную в /usr/share/windows-binaries
Операционные шаги:
После выполнения будет сгенерирован ssss2.txt, скопируйте и вставьте содержимое в командную строку cmd и выполните последовательно
После выполнения сгенерирует 1.dll, 123.hex, ssss.exe
Примечание:
exe2bat не поддерживает файлы, размер которых превышает 64 КБ, по умолчанию отладка поддерживает только 32-разрядные системы
Выполните следующий код для загрузки файлов через ftp
Примечание:
При первом использовании ftp для загрузки брандмауэра он будет заблокирован фреймом. Не забудьте добавить правила брандмауэра перед его использованием
Следующий код сохраняется в виде файла .vbs:
Команды, соответствующие cmd:
После последовательного выполнения будет создан файл download.vbs, а затем можно будет выполнить загрузку download.vbs для загрузки файла ssss2.exe.
4、powershell
Используйте echo для записи кода в файл download.cs по очереди, а затем вызовите csc.exe для компиляции файла cs
Файл download.exe создается, как показано на рисунке.
6、JScript
По сравнению с используемыми в JSRat Scripting.FileSystemObject
Переключиться на ADODB.Stream Проще и эффективнее реализовать
Следующий код сохраняется в виде файла js по порядку, и его можно загрузить непосредственно для выполнения файла
Слово, объединенное с rundll32 (аналогично тому, как запускается JSRat):
После казни вам подскажут, что разрешения нет, это очень интересно, подробности будут представлены в следующих статьях
Добавлена функция минимизации и автоматического выхода из программы hta, окно hta будет свернуто в процессе выполнения, а программа hta будет автоматически закрыта после завершения загрузки файла
Следующий код сохраняется в виде файла .hta:
8、bitsadmin
bitsadmin - это инструмент командной строки, который можно использовать для создания заданий загрузки или выгрузки и отслеживания их выполнения. Система Windows после XP
Успешная загрузка выглядит следующим образом:
9、base64
Сначала зашифруйте exe с помощью base64, а затем расшифруйте вывод после загрузки через cmd.
После запуска C: \ windows \ system32 \ calc.exe будет зашифрован как base64 и выведен в base64.txt.
(3) аксессуары eml
(Идея предоставлена Пигманом)
server2003 по умолчанию включает клиент Outlook C: \ Program Files \ Outlook Express
Используйте блокнот, чтобы открыть электронную почту, вы можете увидеть зашифрованный код base64
Расшифруйте файл base64 и сгенерируйте метод exe:
Примечание:Операция чтения файла может быть заменена кодом base64, непосредственно записанным в файл скрипта.
Выше приведены программы, включенные в систему по умолчанию, в сочетании с описанными выше способами и с помощью сторонних инструментов также можно добиться функций
Идея, представленная здесь, заключается в том, чтобы сначала загрузить сторонние инструменты через битсадмин, а затем использовать сторонние инструменты для передачи файлов.
1、wget:
После запуска он загрузит сжатый пакет wget wget.zip
Примечание:
Система Windows по умолчанию не включает команду для распаковки zip-файла, но вы можете использовать vbs для распаковки zip-файла
VBS для достижения декомпрессии:
Следующий код сохраняется в виде файла .vbs:
После удачной разархивации вы можете передавать файлы через wget.exe
2、ftfp
Идея та же, что и выше: сначала скачайте tftp.exe через bitsadmin, а затем используйте tftp для передачи файлов.
После успешной загрузки используйте tftp для передачи файлов:
Примечание:
Брандмауэр по умолчанию заблокирует
Выключите брандмауэр или добавьте правила
В этой статье разбираются некоторые часто используемые методы для передачи файлов через 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
Параметры CMD используются для изменения работы команд FTP . Параметр командной строки обычно следует за основной командой FTP через пробел. Вот список часто используемых параметров командной строки FTP для Windows® :
FTP параметры командной строки для Windows
FTP не является надежным способом обмена конфиденциальной информацией. Из-за ограничений этого протокола организации, как правило, используют для передачи файлов протоколы FTPS и SFTP . Технология управляемой передачи файлов ( MFT ) поддерживает эти протоколы безопасности.
Пожалуйста, оставляйте ваши мнения по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, лайки, подписки, отклики!
Продолжаем тему работы с FTP сервером! Мы уже рассмотрели основы протокола FTP, а так же способы работы с FTP сервером, а сегодня мы рассмотрим работу с FTP сервером через командную строку cmd. Как я и говорил данный метод используется довольно редко, по крайней мере мной, так как проще работать через FTP клиент. Однако, для написания автоматизированных скриптов для обмена данными между вашей локальной машиной и FTP сервером эти знания вам очень даже пригодятся.
В данном видео писать скрипт мы не будем, этим мы займемся в следующем видео, а просто рассмотрим основные команды для работы с FTP сервером через командную строку.
Основные команды для работы с FTP сервером через командную строку CMD
И для начала нам необходимо запустить командную строку (Пуск \ Приложения \ Служебные программы \ Командная строка) или Win+R \ cmd.
Первым делом необходимо перейти в режим работы с FTP сервером делается это через команду FTP
Далее необходимо подключиться непосредственно к серверу, с которым мы будем работать, делается это через команду OPEN АДРЕС_FTP_СЕРВЕРА
Вводим ИМЯ_ПОЛЬЗОВАТЕЛЯ который имеет доступ к данному серверу и ПАРОЛЬ
Если мы ведем команду DIR то нам выведется список файлов и папок которые содержатся на FTP сервере.
Я не буду рассказывать о всех командах, которые используются для работы с FTP сервером через командную строку, а только те, которые нам понадобится для написания скрипта. Главным образом это команды, позволяющие копировать файлы с FTP-сервера на наш локальный компьютер и наоборот с локального компьютера на FTP-сервер.
Вы всегда можете набрать команду HELP и вам выведется список поддерживаемых команд, чтобы узнать назначение команды достаточно ввести HELP НАЗВАНИЕ_КОМАНДЫ.
Но, тут описание очень скромное, поэтому, если вы хотите узнать более подробное описание различных команд, заходите ко мне на сайт в тематическую статью. Ссылку я размещу в описании к данному видео.
У меня нет доступа для непосредственно записи файлов в корень данного FTP-сервера, но есть доступ к папке htdocs, поэтому для начала перейдём в данную папку. Делается это команды CD ИМЯ_ПАПКИ.
Мы видим, что в данной папке у нас ничего нет. Давайте попробуем скопирую сюда какой-нибудь файл с нашего локального компьютера. Для этого на локальном компьютере создадим папочку, допустим у меня это будет nod32_update так как в одном из следующих видео, я буду рассказывать о том, как написать скрипт для автоматического обновления антивируса NOD32. И давайте создадим какой-нибудь текстовый документ допустимым 123.txt.
Чтобы скопировать файл 123.txt на FTP-сервер вводим команду PUT c:\nod32_update\123.txt. Файл скопирован, можем проверить это командой DIR. Как вы видите, файл скопировался именно в ту папку, в которую мы перешли через команду CD.
Если нам необходимо скопировать все файлы с определенной папки на локальном компьютере в папку на FTP сервере, то нам необходимо указать текущий локальный каталог и каталог на сервере.
Каталог на сервере мы научились указывать, через команду CD
Локальный каталог указывается через команду LCD, если мы её наберем, то увидим, что текущий каталог — это папка с профилем текущего пользователя. А так как я собираюсь копировать файлы из другой папки то ввожу команду LCD ПУТЬ_К_НУЖНОЙ_ПАПКЕ
В чем суть, есть команда MPUT которая копирует файлы из локальной папки на удаленную и она не запрашивает какие именно это папки, поэтому нам эту информацию нужно сообщить.
Для того, чтобы скопировать все файлы из локальной папки в удаленную я указываю команду MPUT *.*, где *.* означает все файлы находящиеся в локальной папке.
Здесь у нас задаётся вопрос подтверждение для каждого файла хотим его скопировать или нет для этого живём Enter. Чтобы подобные подтверждение не выводились есть команда PROMT отключает интерактивный режим выключен.
Теперь попробуем сделать обратное действие, а именно скопировать все файлы с удаленной папки на FTP сервере в локальную. Делается это через команду MGET *.*.
Как видите всё отлично, в нашей папке появились все необходимые файлы и теперь мы можем закончить работу с FTP сервером через команду QUIT.
Читайте также: