Netcat , всемогущий
Netcat — один из немногих инструментов, наряду с nmap, Metasploit, Wireshark и некоторыми другими, с которыми должен быть знаком каждый хакер. Он прост, элегантен и имеет множество применений.
Например, netcat можно использовать для:
Как и многие приложения в мире Linux, netcat работает в режиме клиента и сервера. Это означает, что при использовании ncat необходимо назначить одну сторону сервером, а другую — клиентом.
I. Основы Netcat
Давайте начнём с просмотра экрана справки по netcat. При использовании netcat команда просто «nc». Чтобы открыть экран справки, введите:
кали > нк -х
Обратите внимание на несколько переключателей;
-e выполнить
-l режим прослушивания
-n числовой режим (без DNS. Это быстрее)
-p обозначает порт
-u режим UDP
-v подробный вывод
II . Создание простого TCP- соединения
Netcat можно использовать для создания простого TCP- или UDP-подключения к системе, чтобы проверить доступность порта и сервиса. Например, если я хочу подключиться по SSH к другой системе Kali, я могу ввести:
кали > nc -vn 192.168.1.103 22
Как видите, netcat смог подключиться к OpenSSH на удаленном сервере, и сервер разместил объявление о сервисе с помощью своего баннера.
(SSH-2.0-OpenSSH_4.7p1 Debian-8Ubuntu1).
III. Захват баннера
Мы также можем использовать netcat для «захвата» баннера на веб-серверах, подключившись к порту 80 и отправив затем запрос HTTP/HEAD/1.0.
кали > nc -vn 192.168.1.103 80
ГОЛОВЫ / HTTP/1.0
Обязательно нажмите «Enter» несколько раз после ввода запроса HEAD, чтобы вытащить баннер.
Как вы видите, мы взяли баннер веб-сервера Apache 2.2.8, работающего на Ubuntu.
IV. Открытие TCP -соединения между двумя машинами для «чата»
Netcat способен создать простое TCP- или UDP-соединение между двумя компьютерами, а затем открыть между ними канал связи. Для начала откроем прослушиватель на удалённой системе.
кали > нк -л -п6996
Затем подключитесь к этому прослушивателю с удаленной машины.
кали > нк 192.168.1.105 6996
Когда соединение установится, я смогу начать вводить свое сообщение, например: «Где лучше всего учиться хакерству?»
Это сообщение затем появится на удалённой системе, где находится прослушивающая машина. Прослушивающая машина может ответить: «Без сомнения, хакеры, восстаньте!»
…и затем удаленная машина получает ответ!
Таким образом, мы можем создать приватный «чат-рум» между любыми двумя машинами!
V. Передача файлов с помощью Netcat
Одно из простых чудес Netcat — это его способность передавать файлы между компьютерами. Создав это простое соединение, мы можем затем использовать его для передачи файлов между двумя компьютерами. Это может быть чрезвычайно полезно для сетевого администратора и ещё более полезно для хакера. Netcat можно использовать для загрузки и выгрузки файлов с целевой системы и на неё.
Давайте создадим файл под названием «hacker_training».
kali > echo «Это первый модуль курса «Основы хакера» в Hackers-Arise» > hacker_training
Затем давайте просмотрим содержимое этого файла с помощью команды Linux «cat».
< p id="viewer-aefu8"> kali > cat hacker_training
Теперь давайте откроем прослушиватель на удаленной системе.
кали > нк -л -п6996
Далее отправим файл на удаленную систему.
kali > nc 192.168.1.103 6996 <hacker_training
Обратите внимание, что мы используем < для направления файла в netcat.
Наконец, вернемся к нашей системе прослушивания, и мы должны обнаружить, что файл был передан и появился на экране!
VI. Удаленное администрирование с помощью netcat
Вероятно, самое вредоносное применение netcat – и самое эффективное для хакера – это возможность использовать netcat для удалённого администрирования. Мы можем использовать способность netcat выполнять команды, чтобы предоставить удалённому подключению оболочку на прослушивающей системе. На машине Linux/Unix это можно сделать, предоставив /bin/sh доступ к удалённому подключению с помощью опции -e (выполнить), как показано ниже. Если бы мы подключались к машине Windows, мы могли бы использовать cmd.exe (-e cmd.exe) вместо /bin/sh.
Кали > nc -l -p6996 -e /bin/sh
Теперь при подключении к удалённой машине я должен получить доступ к оболочке на удалённой системе. Обратите внимание, что при подключении к удалённой системе отображается только пустая строка, без командной строки, вообще ничего (хотя при подключении к системе Windows мы увидим традиционное приглашение C:>). Это может сбить с толку новичка.
Если затем мы введем «ls -l», то получим список каталогов из каталога, в котором мы запустили прослушиватель netcat на удаленной системе, а когда мы введем «ifconfig», то увидим, что он возвращает IP-адрес нашей удаленной системы.
VII. Криптокот
Cryptcat — это зашифрованный аналог Netcat. Это означает, что мы можем подключиться к удалённой машине, где весь наш трафик будет зашифрован одним из самых стойких алгоритмов шифрования, доступных на рынке, Two-fish (шифрование Two-fish почти так же стойко, как AES). Вы можете скачать его с сайта www.cryptcat.sourceforge.net, но если вы используете Kali, он уже установлен. Хотя ключи в основном те же, что и у Netcat, команда — «cryptcat», а не «nc».
Netcat — один из немногих инструментов, наряду с nmap, Metasploit, Wireshark и некоторыми другими, с которыми должен быть знаком каждый хакер. Он прост, элегантен и имеет множество применений.
Например, netcat можно использовать для:
- сканировать, чтобы увидеть, открыт ли порт на удаленной системе
- вытащить баннер из удаленной системы
- подключиться к сетевой службе вручную
- удаленное администрирование
Как и многие приложения в мире Linux, netcat работает в режиме клиента и сервера. Это означает, что при использовании ncat необходимо назначить одну сторону сервером, а другую — клиентом.
I. Основы Netcat
Давайте начнём с просмотра экрана справки по netcat. При использовании netcat команда просто «nc». Чтобы открыть экран справки, введите:
кали > нк -х
Обратите внимание на несколько переключателей;
-e выполнить
-l режим прослушивания
-n числовой режим (без DNS. Это быстрее)
-p обозначает порт
-u режим UDP
-v подробный вывод
II . Создание простого TCP- соединения
Netcat можно использовать для создания простого TCP- или UDP-подключения к системе, чтобы проверить доступность порта и сервиса. Например, если я хочу подключиться по SSH к другой системе Kali, я могу ввести:
кали > nc -vn 192.168.1.103 22
Как видите, netcat смог подключиться к OpenSSH на удаленном сервере, и сервер разместил объявление о сервисе с помощью своего баннера.
(SSH-2.0-OpenSSH_4.7p1 Debian-8Ubuntu1).
III. Захват баннера
Мы также можем использовать netcat для «захвата» баннера на веб-серверах, подключившись к порту 80 и отправив затем запрос HTTP/HEAD/1.0.
кали > nc -vn 192.168.1.103 80
ГОЛОВЫ / HTTP/1.0
Обязательно нажмите «Enter» несколько раз после ввода запроса HEAD, чтобы вытащить баннер.
Как вы видите, мы взяли баннер веб-сервера Apache 2.2.8, работающего на Ubuntu.
IV. Открытие TCP -соединения между двумя машинами для «чата»
Netcat способен создать простое TCP- или UDP-соединение между двумя компьютерами, а затем открыть между ними канал связи. Для начала откроем прослушиватель на удалённой системе.
кали > нк -л -п6996
Затем подключитесь к этому прослушивателю с удаленной машины.
кали > нк 192.168.1.105 6996
Когда соединение установится, я смогу начать вводить свое сообщение, например: «Где лучше всего учиться хакерству?»
Это сообщение затем появится на удалённой системе, где находится прослушивающая машина. Прослушивающая машина может ответить: «Без сомнения, хакеры, восстаньте!»
…и затем удаленная машина получает ответ!
Таким образом, мы можем создать приватный «чат-рум» между любыми двумя машинами!
V. Передача файлов с помощью Netcat
Одно из простых чудес Netcat — это его способность передавать файлы между компьютерами. Создав это простое соединение, мы можем затем использовать его для передачи файлов между двумя компьютерами. Это может быть чрезвычайно полезно для сетевого администратора и ещё более полезно для хакера. Netcat можно использовать для загрузки и выгрузки файлов с целевой системы и на неё.
Давайте создадим файл под названием «hacker_training».
kali > echo «Это первый модуль курса «Основы хакера» в Hackers-Arise» > hacker_training
Затем давайте просмотрим содержимое этого файла с помощью команды Linux «cat».
< p id="viewer-aefu8"> kali > cat hacker_training
Теперь давайте откроем прослушиватель на удаленной системе.
кали > нк -л -п6996
Далее отправим файл на удаленную систему.
kali > nc 192.168.1.103 6996 <hacker_training
Обратите внимание, что мы используем < для направления файла в netcat.
Наконец, вернемся к нашей системе прослушивания, и мы должны обнаружить, что файл был передан и появился на экране!
VI. Удаленное администрирование с помощью netcat
Вероятно, самое вредоносное применение netcat – и самое эффективное для хакера – это возможность использовать netcat для удалённого администрирования. Мы можем использовать способность netcat выполнять команды, чтобы предоставить удалённому подключению оболочку на прослушивающей системе. На машине Linux/Unix это можно сделать, предоставив /bin/sh доступ к удалённому подключению с помощью опции -e (выполнить), как показано ниже. Если бы мы подключались к машине Windows, мы могли бы использовать cmd.exe (-e cmd.exe) вместо /bin/sh.
Кали > nc -l -p6996 -e /bin/sh
Теперь при подключении к удалённой машине я должен получить доступ к оболочке на удалённой системе. Обратите внимание, что при подключении к удалённой системе отображается только пустая строка, без командной строки, вообще ничего (хотя при подключении к системе Windows мы увидим традиционное приглашение C:>). Это может сбить с толку новичка.
Если затем мы введем «ls -l», то получим список каталогов из каталога, в котором мы запустили прослушиватель netcat на удаленной системе, а когда мы введем «ifconfig», то увидим, что он возвращает IP-адрес нашей удаленной системы.
VII. Криптокот
Cryptcat — это зашифрованный аналог Netcat. Это означает, что мы можем подключиться к удалённой машине, где весь наш трафик будет зашифрован одним из самых стойких алгоритмов шифрования, доступных на рынке, Two-fish (шифрование Two-fish почти так же стойко, как AES). Вы можете скачать его с сайта www.cryptcat.sourceforge.net, но если вы используете Kali, он уже установлен. Хотя ключи в основном те же, что и у Netcat, команда — «cryptcat», а не «nc».