Поиск в kali linux

Обновлено: 05.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Сопроводители дистрибутивов Linux поддерживают репозитории пакетов из которых программы можно установить в дистрибутив с помощью того или иного менеджера пакетов. Такие репозитории (их состав, частота обновления, предварительная настройка пакетов) являются главными отличиями дистрибутивов друг от друга (а не обои или графическое окружение рабочего стола, которые всегда можно поменять).

Такой централизованный подход позволяет не тратить время на обновление отдельных программ (как например это нужно делать в Windows, где вам самостоятельно нужно отслеживать появление новых версий и обновлять их).

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

Данная статья сфокусирована на менеджере пакете apt и дистрибутиве Kali Linux, но всё сказанное в ней применимо и к другим основанным на Debian дистрибутивам (Linux Mint, Ubuntu).

Как работают репозитории приложений Linux

Сопроводители дистрибутивов Linux отбирают программы для помещения в репозитории. Эти программы упаковываются в пакеты, для Debian и производных это файлы с расширением .deb. В эти пакеты помещаются скомпилированные файлы программ, файлы настроек и все другие, необходимые для работы прогрммы файлы, а также метаинформация, в которой указано, какие ещё пакеты нужно установить для разрешения зависимостей, а также какие действия нужно выполнить перед и после установки пакета, а также перед и после его удаления.

Для установки пакета из репозитория достаточно выполнить команду apt install с указанием имени пакета. Эта команда сама найдёт адрес файла .deb, скачает его, определит и скачает необходимые зависимости и затем всё это установит.

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

Для чего нужны зависимости

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

Зависимости — это библиотеки, программы, драйверы и прочее, что необходимо для работы другой программы. Такой подход позволяет один и тот же код (библиотеку) использовать в различных программах. К примеру, мы пишем приложение, в которое ходим добавить сетевые функции с поддержкой различных протоколов — нам не нужно всё писать с нуля, мы можем воспользоваться библиотекой libcurl (от авторов программы cURL), которая уже поддерживает десятки сетевых протоколов. И так могут поступить многие другие программы — они все могут использовать одну библиотеку без необходимости дублировать код — достаточно установить библиотеку в ОС один раз.

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

Использовать apt или apt-get

Для управления пакетами может применяться команда apt или apt-get. На самом деле, выбор ещё больше: dpkg, aptitude, synaptic, wajig, а также графические интерфейсы от авторов дистрибутивов. Но все эти менеджеры пакетов имеют свои чёткие особенности, а apt и apt-get очень похожи, у них практически одинаковые команды и опции, они выполняют одинаковые функции. Разберёмся, чем отличаются apt и apt-get.

Программа apt предназначена для интерактивного использования и её поведение может меняться с выходом новых версий. А программа apt-get предназначена для использования в скриптах и её поведение и вывод очень консервативны.

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

Я предпочитаю apt как более «свежую», но на самом деле практически во всех последующих примерах команд вы можете заменить «apt» на «apt-get» и не почувствуете никакой разницы.

Обновления кэша с информацией о приложениях

Когда в репозиторий вносятся изменения, например, при обновлении пакета, необходимо синхронизировать эту информацию с локальным кэшем вашей операционной системы Linux. Это делается командой:

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

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

Как установить программу

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

Вы можете установить сразу несколько пакетов за раз:

Поиск пакетов

Для поиска пакетов предназначена команда вида:

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

Обратите внимание, что для данной команды, в отличие от большинства других с apt, не требуются права root (можно использовать без sudo).

Поиск пакетов только по названию

Предыдущая команда бывает бесполезной из-за слишком большого вывода информации. Вы можете использовать следующую команду для поиска по имени пакета:

Вы также можете указать подстановочные символы, например для поиска по названию, начинающемуся на слово ПАКЕТ:

Для поиска по названию, оканчивающемуся на слово ПАКЕТ:

Для поиска по названию, в котором присутствует слово ПАКЕТ:

Ещё более удобной, на мой взгляд, командой для поиска пакетов является:

Последняя команда ищет в именах по слову ПАКЕТ и выводит список всех пакетов, где оно встречается. Использовать подстановочные символы не нужно.

Как проверить, установлен ли пакет

Вы можете использовать команды apt list или apt search не только для поиска пакетов, но и просмотра информации о том, установлены ли они.


Рядом с описанием пакетов вы можете увидеть один из трёх вариантов:

  • строка «[установлен]» — пакет установлен вручную
  • строка «[установлен, автоматически]» — пакет установлен как зависимость или как включённый в метапакет (во время установке операционной системы Kali Linux активно использует метапакеты, поэтому многие инструменты имеют такую отметку)
  • ничего не написано — значит пакет не установлен

Как посмотреть информацию о пакете

Вы можете узнать следующую информацию о любом пакете, независимо от того, установлен он в вашей системе или нет:

  • номер версии
  • адрес сайта
  • краткое описание
  • список зависимостей
  • размер установки
  • репозиторий-источник
  • приоритет
  • к какому виду программ относится

Чтобы узнать информацию о пакете используйте команду вида:


Как удалить пакет

Для удаления используйте команду вида

Можно удалять сразу много пакетов за раз:

Как полностью удалить пакет, вместе с конфигурационными файлами

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

Итак, для полного удаления пакета используйте команду вида:

Обновление всех пакетов системе в Kali Linux

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

Среди удаляемых пакетов могут быть конфликтующие (мешающие установке требуемых зависимостей).

Аналогичный результат можно получить командами (это одна из немногих команд, которая различается для apt и apt-get):

Для удобства можно объединить команду обновления кэша и команду запуска полного обновления системы в одну, опция -y используется для того, чтобы у нас не спрашивалось подтверждение, а сразу начался процесс установки новых пакетов:

Как узнать, в каком пакете содержится файл

Если вы компилируете программы из исходных кодов, то вы, наверняка, сталкивались с ошибками компиляции, когда программа не находит какой-либо файл и компиляция обрывается. Что делать в данной ситуации? Понятно, что нужно установить пакет, который содержит требуемый файл. Но как узнать имя этого пакета?

С помощью программы apt-file можно искать по именам файлов в пакетах (как установленных, так и нет). Также она может показать все файлы в пакете.

Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду:

Когда всё готово, то поиск осуществляется так:

К примеру поиск файла ffi.h:

У программы apt-file есть альтернативы, подробности смотрите в статье «Как в Linux узнать, в каком пакете содержится файл».

Как посмотреть зависимости пакета

Вы можете посмотреть, какие пакеты будут установлены в качестве зависимостей командой вида:

Как узнать, для каких программ данный пакет является зависимостью

Если вы хотите удалить программу, но не уверены, нужна ли она для других программ, то вы можете проверить, для каких пакетов она является зависимостью командой вида:

Как просмотреть список изменений пакета

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

Как скачать пакет без установки

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

Как проверить, всё ли впорядке с кэшем приложений

Если вы хотите узнать, имеются ли сломанные зависимости, то выполните диагностическую команду:

Как установить локальный .deb пакет

Иногда может потребоваться установка локальных .deb, то есть файлов не из репозиториев.

Следующая команда dpkg установит пакет без проверки зависимостей:

При выполнении операции менеджером пакетов, например, обновление кэша:

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

Удаление ненужных программ

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

Для этого применяется команда:

Её использование безопасно и не должно приводить к проблемам.

Очистка кэша установочных файлов

При каждом обновлении программ файлы пакетов скачиваются в кэш. После обновления скаченные файлы (можно назвать их установочными) не удаляются, и постепенно кэш разрастается до больших размеров. Это сделано намерено с той идеей, что если после очередного обновления вы обнаружите, что новый пакет имеет проблемы, а старая версия уже недоступна в онлайн репозитории, то вы сможете окатиться до старой версии установив её из файла, сохранённого в кэше.

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

clean вычищает локальный репозиторий от полученных файлов пакетов. Она удаляет все, кроме lock файла из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/.

Исправление ошибок установки пакетов и зависимостей

Альтернативы для apt

Для apt, кроме программы apt-get, которая является очень похожей, существует ещё несколько альтернатив.

В Debian вы можете выбрать среди следующих менеджеров пакетов:

dpkg — этот пакет предоставляет низкоуровневую инфраструктуру для обработки установки и удаления пакетов программного обеспечения Debian. При установке программ не устанавливает зависимости.

aptitude

aptitude — это менеджер пакетов с рядом полезных функций, в том числе: похожий на mutt синтаксис для гибкого сопоставления пакетов, возможность извлекать и отображать журнал изменений Debian для большинства пакетов и режим командной строки, аналогичный режиму apt-get. Программа не позволяет разрастаться кэшу слишком сильно и выполняет автоматическую очистку.

Чтобы былы понятны основные возможности программы, посмотрите на доступные команды и опции.

Действия (если не задано, aptitude запускается в диалоговом режиме):

synaptic

Synaptic — это графический инструмент для управления пакетами, основанный на GTK+ и APT.

Synaptic позволяет устанавливать, обновлять и удалять программные пакеты удобным способом.

Помимо этих основных функций, предоставляются следующие возможности:

  • Поиск и фильтрация списка доступных пакетов
  • Выполняйте интеллектуальные обновления системы
  • Исправление неработающие зависимости пакетов
  • Редактирование списка используемых репозиториев (sources.list)
  • Загрузка последнего журнала изменений пакета
  • Настройка пакеты через систему debconf
  • Просмотр всей доступной документации, относящуюся к пакету (требуется dwww)

wajig

Обёртка командной строки для apt, apt-cache, dpkg, aptitude и других. Её цель — упростить управление пакетами за счёт объединения основных функций этих инструментов в одном интерфейсе.

Кроме рассмотренных программ, в дистрибутивах Linux могут применяться и собственные инструменты. К примеру, в Linux Mint имеется собственный инструмент с графическим интерфейсом для обновления программ. Также в Linux Mint при запуске программы apt вместо неё будет использоваться собственный скрипт, который является обёрткой для aptitude (из-за этого вывод команды apt может вас смутить).

Портативные программы в Linux

Программы Linux можно использовать как портативные. К примеру, вы можете скачать файл .deb, извлечь из него исполнимый файл и запускать его из любого места. Некоторые пакеты содержат кроме установочного файла ещё и другие файлы: конфигурационный, файлы расширения функциональности и прочее — в этом случае для большинства программ можно указать расположение этих файлов с помощью опций.

При компиляции программы из исходного кода, совсем необязательно устанавливать её на уровне системы — вы можете запускать скомпилированные файлы из любого места в вашей системе. Это позволяет попробовать новую версию программу без удаления той, которая установлена из репозитория.

Как решить проблему «команда не найдена» («command not found»)

Если при попытке запуска программы вы столкнулись с ошибкой «команда не найдена» («command not found»), то она означает, что не установлен пакет, содержащей данную программу. Конечно, при условии, что вы правильно ввели имя команды — поэтому начните с проверки имени, а также используйте клавишу TAB для вывода подсказок и автоматического дополнения.

Начните с попытки установить пакет с одноимённым именем — довольно часто название команды совпадает с именем пакета, например nmap, sqlmap — это команды запуска и имена пакетов, которые их содержат:

Если удалось определить имя пакета, установите его.

Если и это не помогло, то установите (если ещё не сделали) команду apt-file, обновите кэш и выполните поиск:

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

  • вы неправильно вводите имя команды
  • данная программа отсутствует в репозиториях вашего дистрибутива и вам остаётся только устанавливать её вручную — компилировать из исходного кода или скачать предварительно скомпилированные файлы, если автор программы их создаёт

Warning: apt-key is deprecated

Команда apt-key управляет ключами, которые отвечают за проверку подписи репозиториев пакетов приложений.

Графическим интерфейсом способен пользоваться каждый. Windows нас давно к тому приучила, отодвинув на задний план консольные возможности. Однако порой надо найти нужный файл, который, как оказывается, запрятан неизвестно куда. И здесь проводник часто просто не способен ничем помочь. Сегодня мы разбираем самые полезные команды поиска и локализации файлов и директорий в Кали. Есть немало способов, с помощью которых можно найти файл или папку в Кали Линукс (впрочем, как и в других версиях и сборках Линукс-систем), которые в Windows, например, недоступны.

Найти найти файл или папку в Кали Линукс: locate

Начинаем с самой популярной команды (локейт), которая под это и заточена.

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

терминал покажет расположение файлов в ближайших 5 шагов, которые смог найти. Если же необходимо найти файл и папку, строго совпадающие по критериям поиска, команда должна принять вид:

locate -b firefox

Вот оба аргумента в одной команде:

найти файл в пределах первых пяти

Эти условности, однако, можно обойти. Так вот, чтобы найти нужный файл, расширив зону поиска, включив туда оба регистра (и малый и большой), добавьте к locate флаг -i:

терминал вернёт всевозможные результаты. Кроме того, нам доступна для скачивания и установки разновидность команды (в Кали моей сборки mlocate уже установлена)

После этого поиском через mlocate можно будет заниматься в пределах своей учётной записи.

Как найти файл или папку в Кали Линукс: whereis

команда whereis

Но и эту команду можно уточнить, попросив найти именно бинарник (как исполнительный файл в Windows) программы:

Как найти файл или папку в Кали Линукс: which

Команда ищет переменные только в пределах пользовательских прав.

команда whichis

Несмотря на внешнюю схожесть параметров поиска, между двумя методами поиска which и whereis есть некоторые различия. Так, команда whereis отображает расположение бинарного файла, исходника и т.п., в то время как which покажет расположение только бинарника команды. К тому же первая команда ищет в списке специальных директорий, вторая довольствуется переменными сред в директориях конкретного пользователя.

Далее. Когда речь заходит о результатах поиска, команда whereis отображает всё, что обнаружила по запросу. А вот which команда сначала покажет именно исполнительные файлы. К тому же whereis использует базу поиска в пределах основных страниц системы. И потому результат поиска может быть неполным. Если вы не уверены, что программа установилась в ту или иную директорию или неизвестно, где её вообще искать, лучше использовать команду whereis. Для полной уверенности зарегистрируйтесь в правами рут и используйте флаг -a . В этом случае от вас уже ничего не скроется.

Как найти файл или папку в Кали Линукс: find

Команда поиска find (файнд) в семействе Линукс вообще считается самой мощной. На фоне других команд она используется именно для поиска программ и утилит. Она будет рыскать везде в поисках вашего запроса. Файлы, которые она обнаруживает, будут отвечать следующим критериям:

  • дата и время создания или последних изменений
  • владелец
  • группа
  • разрешения на файл
  • размер

Основной синтаксис команды:

Так, если вы желаете найти файл или папку в Кали Линукс, начиная с главенствующих директорий root/директория с наименованием apache2, есть смысл начать поиск так:

команда find

команда find в конкретной директории

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

Как найти файл или папку в Кали Линукс: grep

Запустите команду и увидите запущенные прямо сейчас на вашей Кали службы. Допустим, мне нужно вычленить одну из них. Опять же, пусть это будет apache2. Так запущен он или нет?

команда grep

редактор cat в линукс

Основные команды терминала: переход между папками, создание, удаление папок и файлов, а также их редактирование.

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

Основные команды терминала: про что здесь?

СРАЗУ ЗАПОМНИТЬ

путь к папке в windows

  • в Windows для разграничения директорий применяется обратная косая \ (она же обратный слэш или бэкслэш). В Линукс директории разделяет прямой слэш / :

путь к папке в Линукс

Помните об этой особенности, гуляя по директориям обеих систем.

Папки: содержимое, смена директорий

в папке загрузок ничего нет

Гуляя по директориям Кали Линукс, легко потеряться. Если вам нужно узнать, в какой папке вы сейчас находитесь (а она уже появилась на предыдущем рисунке), наберите

Чтобы, например, быстренько вернуться в предыдущую директорию, нам снова поможет команда cd:

вернуться в предыдущую папку

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

Копируем и переносим

копирование файла через терминал

КСТАТИ

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

редактор nano в линукс

Редактирование файла осуществляется набором клавиш. Сохраняемся через Ctrl + O. Покинуть nano-редактор можно через Ctrl + X.

Cat. Нет, к животным она отношения не имеет. Она предназначена для чтения текстовых (и только) файлов. Так, перейдя в нужную папку из терминала, вы можете прочесть (в терминале же) содержимое файла. Причём терминал отобразит его вместе с нечитаемыми/скрытыми символами (знаками табуляции, пробелами и т.п.). Чтобы сравнить ответ терминала с реально существующим текстом, я открыл его тут же из терминала простеньким текстовым редактором Leafpad:

редактор cat в линукс

Команда grep позволяет проводит поиск внутри файла, причём она делает это в своеобразной манере. Она способна найти слово отдельно либо в составе сложных слов. Для этого к grep добавляется символ | (трубки). И всё это можно делать не покидая терминала. Заряжаем терминал и вводим так:

Возможные запросы можно фильтровать. Например, заставить искать только прописные буквы:

Ещё одна команда, которая может вам пригодиться, это команда echo. С её помощью можно добавить текст в файл, не открывая его:

Однако вводимый текст в терминале затрёт предыдущий. Так что echo гораздо чаще используют именно при создании новых файлов:

И сразу можно проверить изменения:

как создать папку из терминала линукс

как удалить папку из терминала

работая из-под root, префикс SU не нужен

Флаг -rf здесь означает, что вы хотите удалить папку рекурсивно r (с её содержимым) и принудительно f, не обращая внимания на связанные процессы.

Закрыть терминал, не выходя из открывшейся из него программы

  • сначала команда на ввод программы плюс оператор &
  • откроется окно программы; переключитесь на терминал клавишей TAB;
  • а теперь вводим exit

8. Сбор информации. Kali Linux поставляется с инструментами.

Kali Linux - это система, которая объединяет множество инструментов тестирования на проникновение. Можно также сказать, что она предназначена для тестеров на проникновение. В этом разделе вы узнаете, какой сбор информации в Kali инструмент.

жестокое введение

В безопасной среде грубая сила DNS Это способ стать прерывистым IP Эффективные средства адресного пространства хоста. fierce Инструменты могут удовлетворить такие потребности и предварительно установлены в Kali Linux в. fierce да RSnake Создано быстро и качественно DNS Инструмент для взлома методом грубой силы. fierce Инструмент сначала на основе доменного имени IP Обращайтесь, запрашивайте соответствующий сервер доменных имен, а затем используйте словарь для атаки

Справочный документ(Вы можете напрямую ввести fierce -h для запроса)





Если вы хотите сохранить последний результат сканирования, установить время задержки, запросить конкретную информацию DNS и т. Д., Вы можете использовать для этого другие параметры.

dnsdist6

dnsdict6 - это инструмент для получения информации о веб-сайтах. Это Вы можете просканировать сайт и показать, сколько там доменов или поддоменов, а также просканировать адреса IPV4 / ipv6.

dnsdict6 - это мощный инструмент, который может извлекать субдомены, которые запрещены или невидимы для пользователей. Все это доказывает, что это хороший инструмент для получения информации о сайте. Он поставляется с системой серии Kali 1.x, но не поставляется с Kali 2.x. Вам необходимо установить и настроить информацию самостоятельно.

Для просмотра служб IPv4, IPV6 и SRV на zstu.edu.cn используется 20 потоков.



Whois

Запросить информацию о Baidu:





Dig

dig (Поиск информации о домене) команда - это запрос DNS Гибкий инструмент для серверов доменных имен. Он выполняет DNS Найдите, чтобы отобразить ответ, полученный от запрошенного сервера доменных имен. большинство DNS Администратор использует dig В виде DNS Диагностика неисправностей за счет гибкости, простоты использования и ясности вывода.

Хотя обычно dig Используйте параметры командной строки, но он также может читать поисковые запросы из файла в пакетном режиме. В отличие от более ранних версий, dig из BIND9 Реализация позволяет выполнять несколько запросов из командной строки. Если не указано запросить конкретный сервер имен, dig Попытаюсь /etc/resolv.conf Все серверы, перечисленные в. Если параметры или параметры командной строки не указаны, dig Будет прав " . "(Корень) исполнение NS Спросите.


Используйте dig для достижения обратного разрешения доменного имени:

В DNS-сервере есть две области, которые мы часто используем, а именно:Область прямого просмотра"с участием"Зона обратного просмотра", зона прямого просмотра - это то, что мы обычно называем разрешением доменного имени, а зона обратного просмотра - это упомянутое здесь обратное разрешение IP. Ее функция - получить имя домена, на которое указывает IP-адрес, путем запроса PTR-записи IP-адреса.

Поскольку в системе доменных имен IP-адрес может соответствовать нескольким доменным именам, теоретически необходимо пройти по всему дереву доменных имен, чтобы найти доменное имя по IP, но это нереально в Интернете. Для завершения обратного разрешения доменного имени система предоставляет специальный домен, который называется доменом обратного разрешения in-addr.arpa. Таким образом, IP-адрес, который должен быть разрешен, будет выражен в виде отображаемой строковой формы, такой как имя домена, с суффиксом, заканчивающимся именем домена обратного разрешения "in-addr.arpa". Например, IP-адрес: 222.211.233.244, а его обратное выражение имени домена: 244.233.221.222.in-addr.arpa

Формат обратного анализа с использованием dig:



dnsmap

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


nslookup



host

Инструкции:



Запросить сервер доменного имени



Описание параметра типа:



WAFwoof

WAFw00f - это сценарий Python, используемый для определения того, находится ли веб-сервер в состоянии защиты брандмауэра веб-приложений (WAF, брандмауэр веб-приложений). Вы можете не только разработать стратегию тестирования, но и разработать передовые технологии, которые обходят сетевые брандмауэры приложений.

Как работает WAFwoof



fping

fping - это инструмент сканирования хостов, который может сканировать хосты в пакетном режиме по сравнению с инструментом ping.



arping

arping - это инструмент команды ping на уровне ARP, который можно использовать для проверки связи с MAC-адресами и выяснения, какие IP-адреса используются этими компьютерами.

(1) Проверьте, жив ли целевой хост



(2) Определите, есть ли у целевого хоста подмена ARP

Когда IP-адрес возвращенного пакета данных тот же, но есть несколько MAC-адресов, происходит подмена ARP



Примечание. Если целевой хост является IP-адресом шлюза, и в настоящее время существует два (или более) разных MAC-адреса, соответствующих IP-адресу одного и того же шлюза, это означает, что кто-то использует подмену ARP для имитации вашего шлюза. В настоящее время ваш компьютер принадлежит Отправляемая информация может проходить через этот компьютер-посредник.

Nmap

Nmap - это бесплатный и открытый набор инструментов для сканирования и анализа сети, также называемый сетевым картографом. Инструмент выполняет три основные функции:

a. Определить, находится ли группа хостов в сети

b. Сканируйте порт хоста и анализируйте предоставляемые сетевые услуги

c. Выведите операционную систему, используемую хостом.

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



nmap



Сбор информации включает в себя: сбор информации DNS, информацию о регистранте (имя, адрес электронной почты, телефон, адрес и т. Д.), Информацию IDS / IPS сервера, информацию об операционной системе хоста, порты, открытые целевым хостом, и служебное программное обеспечение, работающее на целевом хосте. Тип базы данных и другое содержимое, указанное выше, также появилось в вышеупомянутых nmap, dig и других инструментах, и я не буду повторять введение и отмечать их в дальнейшем.

Kali - это система, которая объединяет множество инструментов, используемых при тестировании на проникновение, что очень подходит для тестеров на проникновение. Умение использовать различные инструменты очень полезно для последующего тестирования на проникновение. Кроме того, вы должны хорошо владеть английским языком, чтобы читать файлы справки по некоторым инструментам и использовать различные параметры для выполнения теста на проникновение в более конкретных ситуациях.


Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе безопасности. Жизненно важно как можно быстрее (1) локализовать их и (2) пофиксить. К счастью, существует множество различных продуктов, которые помогают с первым пунктом. Среди них можно выделить Kali, дистрибутив Linux, разработанный для тестирования систем безопасности. В этой статье я расскажу, как использовать Kali Linux для исследования вашей системы и поиска слабых мест, имитируя атаку злоумышленника.

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


В качестве подопытных я буду использовать две системы:

Поиск открытых портов

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


Итак, первым делом можно найти несколько «интересных» открытых портов — потенциальных слабых мест. На самом деле, любой открытый порт интересен, потому что с его помощью больше шансов взломать сеть. В этом примере 21, 22, 80 и 443 — это ещё и порты часто используемых служб. Но пока я просто занимаюсь разведкой и пытаюсь получить как можно больше информации о системе, которую хочу взломать.

После этого для более глубокого анализа я выбраю порт 80 и запускаю команду Nmap с аргументами -p 80 и -A. Это позволяет получить информацию об операционной системе и приложении, которое использует 80-й порт.


Здесь нас интересуют следующие строки:

Поиск информации о пользователях

Поскольку теперь я знаю, что это сервер WordPress, я могу использовать WPScan для получения информации о потенциальных уязвимостях. Хорошо бы найти несколько имён пользователей и их пароли. Чтобы найти их в данном в экземпляре WordPress, используем опции --enumerate u:

__ _______ _____

\ \ /\ / /| |__) | (___ ___ __ _ _ __

\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \

WordPress Security Scanner by the WPScan Team

@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart

[+] Started: Tue Feb 16 21:38:49 2021

[i] User(s) Identified:

| Found By: Author Posts — Display Name (Passive Detection)

| Author Id Brute Forcing — Author Pattern (Aggressive Detection)

| Login Error Messages (Aggressive Detection)

| Found By: Author Posts — Display Name (Passive Detection)

| Author Id Brute Forcing — Author Pattern (Aggressive Detection)

| Login Error Messages (Aggressive Detection)

Отлично, найдены два пользователя: admin и pgervase. Я попытаюсь подобрать пароль для пользователя admin, используя словари паролей — текстовый файл с набором возможных вариантов. Я возьму словари из 3 231 и из 3 543 076 137 строк.

Подбор пароля с атакой по словарю

Для атаки по словарю можно использовать разные инструменты. Вот два примера команд с Nmap и WPScan:


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

А вот эта команда WPScan, например, выводит пароль в конце файла:


Раздел Valid Combinations Found в конце содержит имя пользователя admin и его пароль. На перебор 3 231 строк ушло всего две минуты.

У меня есть ещё один файл словаря с 3 238 659 984 уникальными записями, что займет гораздо больше времени.

Nmap выдаёт результат намного быстрее:

Поиск Heartbleed-уязвимости

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

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

Советы по предотвращению и защите от взлома

Можно написать много статей про то, как противостоять атакам хакеров всех мастей. Тут я ограничусь общими рекомендациями:

    Изучайте свою систему: какие порты открыты, какие порты должны быть открыты, кто должен иметь возможность видеть эти порты и какой объём трафика должен проходить через них. Nmap вам в помощь.

Полезные материалы (на английском языке)

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


Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

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