Домой / Заработок / Выбор компьютера и операционной системы для хакера. Лучшие дистрибутивы Linux для взлома Хакеры какой национальности самые лучшие

Выбор компьютера и операционной системы для хакера. Лучшие дистрибутивы Linux для взлома Хакеры какой национальности самые лучшие

: тестирование на проникновение, книгу пригодную для использования как новичками так и уже опытными администраторами и экспертами ИБ для целей проведения аудита безопасности ИТ-инфраструктуры. Книга состоит из 8 частей, в которые входят 62 главы с подробным описанием используемых инструментов и методики тестирования.

Книга является систематизированным сборником, включающим переводы англоязычных ресурсов, книг и веб-сайтов посвященных теме penetration testing и собственного опыта авторов.

Официальное описание к книге:

Kali Linux является передовым Linux дистрибутивом для проведения тестирования на проникновение и аудита безопасности. Информация в данной книге предназначена только для ознакомления или тестирования на проникновение собственных се тей.

Для тестирования сетей третьих лиц, получите письменное разрешение.

"Тестирование на проникновение (жарг. Пентест) - метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника." - WiKi.

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

Книга состоит из 8 частей , в которые входят 62 главы . Все подробно рассказывается с использованием примеров. В книге используется самая актуальная информация на сегодняшний день.

1. Общая информация и установка Kali Linux

  • Что Такое Kali Linux?
  • Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину
  • Установка Дополнений гостевой ОС VirtualBox для Kali Linux 2.0
  • Как установить Kali Linux на флешку и на внешний диск (простой способ)
  • 10 лучших подсказок того, что нужно сделать после установки Kali Linux 2.0
  • Инструменты VMware в гостевой системе Kali
  • Как включить VPN на Kali Linux - разрешение проблемы с невозможностью добавить VPN
  • Проверка и восстановление репозиториев в Kali Linux из командной строки
  • Как поменять среду рабочего стола в Kali Linux
  • Как добавить/удалить обычного (не рута) пользователя в Kali Linux
  • Как сбросить пароль root’а в Kali Linux
  • Восстанавливаем GRUB в Kali Linux после обновления до Windows 10
  • Повышаем свою анонимность в Интернете с Tor в Kali Linux

2. Обзор инструментов Kali Linux

  • Обзор разделов инструментов Kali Linux. Часть 1. Краткая характеристика всех разделов
  • Обзор разделов инструментов Kali Linux. Часть 2. Инструменты для сбора информации
  • Лучшие хакерские программы
  • База данных эксплойтов от Offensive Security (создателей Kali Linux)

3. Тестирование на проникновение беспроводных сетей

  • Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
  • Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и cowpatty в Kali Linux
  • Взлом Wifi WPA/WPA2 паролей с использованием Reaver
  • Модификация форка Reaver - t6x - для использования атаки Pixie Dust
  • Взлом паролей WPA2/WPA с помощью Hashcat в Kali Linux (атака перебором Wi-Fi паролей по маске)
  • Мод Wifite с поддержкой Pixiewps
  • Взлом Wi-Fi сетей: инструменты, которые не попали в Kali Linux
  • Router Scan by Stas’M на Kali Linux (взлом роутеров и Wi-Fi в промышленных масштабах)
  • Чиним Wifi_Jammer и Wifi_DoS в WebSploit
  • Стресс-тест беспроводной сети с Wifi_Jammer: как глушить Wi-Fi
  • Стресс-тест беспроводной сети с Wifi_DoS: как досить Wi-Fi

4. Стресс-тесты сети

  • Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali Linux: slowloris, slow body и slow read атаки в одном инструменте
  • Стресс-тест сети: DoS веб-сайта в Kali Linux с GoldenEye
  • Стресс-тест сети с Low Orbit Ion Cannon (LOIC)
  • Стресс-тест сети: DoS с использованием hping3 и спуфингом IP в Kali Linux

5. Анализ уязвимостей в веб-приложениях

  • Инструкция по WhatWeb: как узнать движок сайта в Kali Linux
  • SQL-инъекции: простое объяснение для начинающих (часть 1)
  • Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз данных через SQL-инъекции
  • Хакерские плагины для Firefox
  • Сканируем на уязвимости WordPress: WPScanner и Plecost
  • Новая версия Plecost 1.0.1 - программы для поиска уязвимостей WordPress
  • Работа с W3af в Kali Linux
  • ZAProxy: тестирование на проникновение веб-приложений
  • Как запустить Metasploit Framework в Kali Linux 2.0
  • Как запустить Metasploit Framework в Kali Linux 1.1
  • Metasploit Exploitation Framework и searchsploit - как искать и как использовать эксплойты
  • DIRB: поиск скрытых каталогов и файлов на веб-сайтах
  • Поиск админок сайтов с Kali Linux

6. Анализ уязвимостей в операционных системах и серверном программном обеспечении

  • Сканирование уязвимостей с OpenVAS 8.0
  • Инструкция по Armitage: автоматический поиск и проверка эксплойтов в Kali Linux
  • Как сканировать Linux на руткиты (rootkits) с помощью rkhunter
  • Аудит безопасности Linux
  • Установка Linux Malware Detect (LMD) на Linux
  • Как УЗНАТЬ пароль Windows?

7. Сканирование сетей. Перехват данных в сетях

  • Эмуляция сети из нескольких компьютеров на одном компьютере
  • Как использовать сканер безопасности NMAP на Linux
  • Книга по Nmap на русском
  • Взлом пароля веб-сайта с использованием WireShark (и защита от этого)
  • FTP-Map: определяем программное обеспечение и его версию для FTP-серверов и ищем для них эксплойты
  • ZMap или Как просканировать все IPv4 адреса мира за 45 минут
  • 8. Атаки на пароли. Брутфорсинг
  • Списки слов для атаки по словарю: пароли, имена пользователей, каталоги
  • PW-Inspector: отбираем пароли соответствующие критериям
  • THC-Hydra: очень быстрый взломщик сетевого входа в систему (часть первая)
  • Брутфорсинг веб-сайтов с Hydra (часть вторая инструкции по Hydra)
  • Crunch - генератор паролей: основы использования и практические примеры
  • BruteX: программа для автоматического брутфорса всех служб

В вашем браузере отключен JavaScript

Kali linux – инструмент для аудита информационных систем. В этом дистрибутиве встроены десятки программ, с помощью которых можно обнаружить уязвимости в различных службах и сервисах.

Надеюсь Вы помните, что использование данного дистрибутива для злонамеренных целей карается уголовным кодексом РФ.

Так как мы не ищем легких путей, то будем устанавливать самостоятельно, скачаем образ kali-linux-2.0-amd64.iso , размером 3,09 ГБ.

И так, создаём виртуальную машину в WMvare либо virtualbox и начинаем установку.

Первое что мы видим, это выбор вариантов установки. Это несколько вариантов live установки, такие как:

  • failsafe (безопасный)
  • persistence – live версия с сохранением изменений на диске,
  • encrypted persistence – с шифрованием
  • режим forensic, “судебный режим”, при его использовании на присоединённые устройства не вносится никаких изменений
  • Install with speech synthesis – установка со звуковым сопровождением

Нас же интересует меню graphical install – установка с графической оболочкой.

Установка на SSD заняла не более 10 минут. После окончания установки, на предлагают использовать сетевой репозиторий. Мы конечно же соглашаемся, после чего происходит автоматическое обновление пакетов.

Следующий этап это настройка загрузчика GRUB, в моём случае это единственный диск с одной операционной системой, поэтому ставим загрузчик в начало единственного диска.

Перезагружаемся и заходим под пользователем root и паролем введенным в процессе установки, мы в системе.

Описание ВСЕХ утилит kali linux здесь – Kali Linux Tools Listing

01 – Information Gathering – Сначала идут консольные и графические утилиты для сбора информации, можно протестировать порты.


Самые популярные утилиты nmap (консольная) и zenmap он же с графической оболочкой.

02 – Следующий раздел Vulnerability Analysis, или по нашему сканеры уязвимостей. Например “OpenVAS”, как аналог небезызвестного сканера Xspider.

Устанавливается он довольно долго.

03 – Web application analysis – тестирование web приложений.

04 – Database Assessement – всё для работы с базами данных.

05 – Password Attacks – подбор пароля по хэшу, брутфорс.

06 – Wireless Attack – набор утилит для аудита беспроводных сетей.

07 – Reverse engineering – различные дебаггеры и отладчики.

08 – Exploitation tool – эксплуатация различных эксплойтов.

09 – Sniffing and spoofing утилиты для работы с трафиком, преимущественно чужим.

10 – Post Exploitation еще порция эксплойтов.

11 – “Судебные утилиты”, помогут извлечь ценную информацию.

12 – Reporting tools – создание отчетов

13 – System services – запуск и остановка сервисов приложений.

В общем, десятки приложений для брутфорса, подбора хэшей паролей, поиска уязвимостей в веб серверах, wi-fi сетях, веб приложениях.

Для использования этой системы понадобится опыт использования ОС linux и работы с консолью. Не используйте данное ПО для противозаконных целей.

Статья 272. Неправомерный доступ к компьютерной информации

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

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

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

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

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

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

Kali Linux - наиболее широко известный Linux дистрибутив для "этического хакерства" с возможностью тестирования на проникновение. Известный как дистрибутив Linux для тестирования безопасности, Kali Linux был разработан в целях наступательной безопасности и предшественником Kali Linux на этом пути был BackTrack, созданный на базе нескольких дистрибутивов Linux.

Kali Linux основан на Debian. Он поставляется с большим количеством инструментов для тестов на проникновение в различных областях безопасности и анализа. Теперь он следует модели роллинг-релизов, которая означает, что каждый инструмент вашего дистрибутива всегда будет актуален.

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

BACKBOX

BackBox - linux для взлома, дистрибутив, основанный на Ubuntu, разработан для тестов на проникновение и оценки безопасности. Это один из лучших дистрибутивов в своей области.

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

PARROT SECURITY OS

Parrot Security OS - Linux для тестирования безопасности и относительно новый игрок в этой сфере. Frozenbox Network стоит за развитием этого дистрибутива. Целевая аудитория Parrot Security OS - тестеры возможностей проникновения в различные системы, которые нуждаются в дружественной обстановке с онлайн-анонимностью, а также в зашифрованной системе.

Parrot Security OS базируется на Debian и использует MATE в качестве среды рабочего стола. Почти любой известный инструмент для тестов на проникновение можно найти здесь, наряду с некоторыми эксклюзивными пользовательскими инструментами от Frozenbox Network. И да, он доступен в качестве роллинг-релиза.

BLACKARCH

BlackArch - linux для взлома, дистрибутив для тестирования на проникновение и исследование безопасности, построенный на основе Arch Linux.

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

Если вы уже являетесь пользователем Arch Linux, вы можете настроить под себя инструменты, находящиеся в коллекции BlackArch.

DEFT LINUX

DEFT Linux - дистрибутив, созданный для компьютерного анализа, с целью запуска системы (LiveCD) для определения поврежденных или испорченных устройств, подключенных к компьютеру, которые запускаются найти в ходе загрузки.

DEFT в паре с DART (Digital Advanced Response Toolkit) - система анализа компьютера для Windows. Он использует окружение рабочего стола LXDE и приложение WINE для запуска инструментов Windows.

Samurai Web Testing Framework

Этот инструмент разработан с единственной целью - тестирование на проникновение в Интернет. Другое отличие от остальных дистрибутивов состоит в том, что здесь речь идет о виртуальной машине, поддерживаемой Virtualbox и VMWare.

Samurai Web Testing Framework основан на Ubuntu и содержит лучшие бесплатные инструменты с открытым исходным кодом с акцентом на тестирование сайтов и их атаку.

Samurai Web Testing Framework также включает в себя предварительно сконфигурированные Wiki, созданные специально для хранения информации во время тестов на проникновение.

PENTOO LINUX

Pentoo базируется на Gentoo Linux. Это дистрибутив ориентирован на безопасности и тестах на проникновение, и доступен в качестве LiveCD с поддержкой сохранения состояния (сохранение любых изменений, сделанных в ходе сеанса работы, которые будут доступны при следующей загрузке, если вы используете USB-накопитель).

Pentoo - Gentoo с большим количеством настраиваемых инструментов, функций ядра и многого другого. Он использует окружение рабочего стола XFCE. Если вы уже являетесь пользователем Gentoo, вы можете установить Pentoo как дополнение к уже установленной системе.

CAINE

Caine - окружающая среда для помощи в анализе компьютера, создан как проект цифрового анализа и полностью сосредоточен на нем.

Caine поставляется с богатейшим набором средств, разработанных специально для оценки и анализа систем. Проект предлагает отличную среду, которая организована с целью интеграции существующих программных средств таких, как модульное ПО и удобный графический интерфейс. Основные задачи проекта, которые CAINE гарантирует: среда, которая поддерживает цифровой анализ в течение всех четырех фаз исследования, интуитивно понятный графический интерфейс, уникальные рабочие инструменты.

Network Security Toolkit

Network Security Toolkit - Linux для тестирования безопасности, представляет собой загрузочный LiveCD на основе Fedora. Он обеспечивает профессионалов в области безопасности и сетевых администраторов широким спектром инструментов сетевой безопасности с открытым исходным кодом.

У Network Security Toolkit есть расширенный веб-интерфейс пользователя для системного/сетевого администрирования, навигации, автоматизации, мониторинга сети, анализа и конфигурации многих приложений, которые находятся в дистрибутиве Network Security Toolkit.

Fedora Security Spin

Fedora Security Spin представляет собой вариант Fedora, предназначенный для аудита безопасности и тестирования, а также может быть использован для обучения.

Цель данного дистрибутива - поддержка студентов и преподавателей, в то время как они практикуют или обучаются методологии в области информационной безопасности, безопасности веб-приложений, компьютерного анализа, экспертной оценки и так далее.

BUGTRAQ

Bugtraq - дистрибутив Linux с огромным диапазоном взламывающих, анализирующих и прочих инструментов. Если вы ищете дистрибутивы linux для взлома, вероятно, Bugtraq один из них.

Bugtraq доступен с рабочим окружением XFCE, GNOME и KDE на основе Ubuntu, Debian и OpenSUSE. Он также доступен на 11-ти различных языках.

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

ARCHSTRIKE

ArchStrike (ранее известный как ArchAssault) - проект, основанный на Arch Linux для тестеров в области проникновения и профессионалов в области безопасности.

Дистрибутивы linux для взлома поставляются с широким диапазоном программного обеспечения, как и ArchStrike, который оснащен всеми лучшими приложениями Arch Linux с дополнительными инструментами для тестирования на проникновение и кибер-безопасности. ArchStrike включает в себя тысячи инструментов и приложений, разделенные на группы пакетов по категориям.

Видится многим как «хакерская» операционная система. Сами хакеры, особенно в молодёжной среде, воспринимаются c восхищением. Отсюда понятен интерес молодых людей к Kali Linux. Они пробуют её установить запустить и у них возникает масса «детских» вопросов. Отвечать на эти вопросы нужно, какими бы простыми, наивными или некорректными они не были. Лично для меня неприемлемо поведение «бывалых», которые на такие вопросы отвечают «а зачем тебе?», «опять каникулы в школе?», «за такие глупые вопросы нужно уже банить?» и т.д. Этим хамством забиты российские технические форумы. Подобного я не позволяю себе и не позволю другим на и FreeForum.biz . Абсолютно каждый, каким бы большим специалистом он не стал сейчас, начинал с изучения азов, начинал с «детских» вопросов. Те, кто не задаёт простых вопросов, в конечном счёте, так и не узнает на них ответов.

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

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

1. Основы языков программирования

1.1 HTML

На самом деле, HTML – это даже не язык программирования, а язык разметки, т.е. он используется, грубо говоря, для оформления текста.

Как он может помочь начинающему хакеру? Приведу мой личный пример. У одного из провайдеров Интернета, услугами которого я пользовался (местный провайдер с домовой городской сетью), был (может и сейчас есть – не знаю, давно ушёл от этого провайдера) свой сайт и свои собственные сервисы для пользователей. В начале 2000х это было актуально – Интернет-трафик (внешний) был платный, поэтому все старались пользоваться локальными ресурсами. Эти ресурсы, безусловно, были очень популярны. Один из самых популярных – файлообменник. Из-за постоянных злоупотреблений пользователей (например, «раздетая» с помощью Фотошопа одноклассница Маша) владелец файлообменника ввёл обязательный пароль. Этот пароль генерировался автоматически, и он не мог содержаться в комментарии к файлу. Так вот, анализ формы для отправки файла и некоторые эксперименты с ней показали, что пароль содержится в одном из скрытых полей формы, которое, естественно, можно редактировать. На сервере этот пароль ничем уже не проверялся. В результате, сохранив форму для загрузки файла себе на компьютер и чуть отредактировав её, удалось сделать так, чтобы файлы можно было опять загружать без пароля. Этой формой мог пользоваться любой клиент провайдера. Позже провайдер «закрыл» дыру – стал проверять наличие пароля. Тем не менее, такими же простыми манипуляциями удалось сделать так, что файлы загружались всегда со «стандартным» паролем («0000», вроде) плюс этот пароль можно было записывать в комментарий к файлу.

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

Ещё один свеженький пример. Буквально на днях (11 февраля 2015 года), была обнаружена дыра в теме WordPress, которая позволяет закачивать производные файлы на сервер. Описание этой темы . Уязвимой в этой теме является файл admin/upload-file.php. Я нашёл эту тему и нашёл этот файл. Файл совсем короткий, поэтому я приведу его полностью:

Этот файл на PHP, но, чтобы воспользоваться этой уязвимостью, нужно сделать форму отправки файла именно на HTML.

Итак, HTML нужно знать, чтобы: а) искать уязвимости; б) использовать уязвимости. Есть и более продвинутые задачи, для выполнения которых нужно знать HTML, но остановимся на этом.

1.2 PHP

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

Чтобы использовать готовые эксплойты, которые написал кто-то другой, опять же, нужно знать хотя бы основы PHP, чтобы знать куда записать адрес сайта и другие переменные величины, и как вообще запустить этот скрипт.

1.3 MySQL

Обычно, самое интересное находится в базах данных. Чтобы понять, как использовать MySQL-инъекцию, нужно знать, что такое MySQL-инъекция. Чтобы уловить суть MySQL-инъекции, нужно знать, что такое MySQL-запросы, каков синтаксис этих запросов, каково устройство базы данных, как хранятся данные, что такое таблицы и т.д.

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

1.4 JavaScript, JQuery

Хотя бы нужно знать, что на веб-сайтах управляется, зависит от JavaScript. Ведь на некоторых сайтах, которые на дают выделить (и/или скопировать) содержимое, не дают скачать файл или достаточно просто отключить JavaScript, чтобы всё это стало возможным.

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

Можно привести тонну примеров неудачной защиты форм с помощью JavaScript (мне запомнилась форма на сайте ФСБ РФ – чтобы её отправить, там обязательно нужно заполнить стопятьсот полей (паспорт, прописка и т.д.), но самыми простыми манипуляциями это «ограничение» можно обойти (это было давно, вполне возможно, они исправили форму обратной связи)).

2. Основы устройства сетей, работы веб-серверов и веб-сайтов

2.1 Устройство сетей

Про устройство сетей обязательно нужно знать: что такое IP адрес, что он позволяет идентифицировать пользователя Интернета, как спрятать свой IP , что такое прокси, что такое TOR, что такое домен, порты и т.д.

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

Продвинутые знания о построении сетей в дальнейшем помогут проводить результативные сканирования с помощью специальных программ.

2.2 Понимание устройства и работы веб-сервера

Как и в предыдущих пунктах, начну с простого примера (кстати, совсем недавнего). При посещении одного из серверов, было обнаружено, что настройки сервера позволяют просматривать содержимое каталогов (листинг файлов). На сервере был найден phpMyAdmin, но стандартные пароли к нему не подходили. Блуждая по каталогам в попытке найти уязвимые скрипты (там самописные скрипты для обработки записей в больницу и раздачи «номерков») был найден текстовый (!) файл содержащий одну строчку с двумя словами, разделёнными запятой. Как оказалось, это и был логин с паролем для phpMyAdmin. База данных, как говориться, наша из-за клинической глупости разработчика, но вот для записи своего файла на сервер понадобились знания об этом сервере. Например, нужно знать абсолютный путь, куда будет произведена запись шела. Чтобы знать абсолютный путь, нужно хотя бы знать структуру каталогов сервера Apache.

CREATE TABLE `shell` (`script` TEXT NOT NULL) COMMENT = "table for include"; INSERT INTO `shell` (`script`) VALUES (""); SELECT script FROM `shell` INTO OUTFILE "C://Apache24/htdocs/shell.php"; DROP TABLE `shell`;

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

Помните что я говорил про языки программирования и про понимание принципов работы веб-сайтов? Чтобы понять всю глубину нужно самому стать веб-разработчиком. Чтобы понять веб-сервер, нужно читать книжки не по взлому веб-сервера, а по его обслуживанию. Т.е. нужно самому стать системным администратором, и осознание слабых мест, в какие стороны, при попытке проникнуть на веб-сервер, нужно «капать», придёт само.

2.3 Понимание устройства и работы веб-сайтов

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

Чтобы продолжить знакомство с устройством веб-сайтов, желательно иметь опыт по работе с популярными системами управления контентом, с популярными движками и скриптами. Знать как устроены плагины и темы, где они располагаются, какие файлы могут представлять интерес и т.д.

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

Это очень, казалось бы, банальная информация позволила создать очень простой, но потрясающе эффективный «хак»

If ($handle = opendir("./../../../../../../../../..")) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { echo "$entry
"; } } closedir($handle); }

Когда я открыл это для себя, я ещё пользовался бесплатным хостингом (название домена компании holm.ru или holms.ru – они ещё раздавали домены третьего уровня вида *.h7.ru, *.h10.ru, т.е. цифры там последовательно менялись, по мере заполнение серверов).

Я применил эти несколько строчек, которые привёл чуть выше и оказалось, что я могу выходить за границы выделенной мне папки. Чуть усовершенствованный скрипт позволил мне не просто просматривать корень сервера, а переходить во внутрь папок, которые я видел и открывать файлы для просмотра. Результат был потрясающим! Я очень много узнал о чужих сайтах. Главное открытие, что соотношение «нормальных сайтов» к «ненормальным» (мошенническим, бессодержательным, просто пустым) не в пользу «нормальных». Попадались «сайты знакомств» (я до сих пор иногда встречаю такие), где очень красивая «обложка» – главная страница, с симпатичными людьми, которые как бы уже являются пользователями сайта. И если хочешь с ними начать общаться, то нужно зарегистрироваться и что-то там ввести или заплатить. А на самом деле внутри веб-сайта кроме этих десяти фотографий больше ничего и нет. Это сейчас всем понятно – но в своё время Интернет-мошенничество я изучал именно так.

Но самое потрясающее, что обнаружил, это сайты в названии доменных имён которых встречалось слово mail. «Снаружи» эти сайты состояли из одной единственной страницы, полностью идентичной странице входа в почту mail.ru. А вот внутри там лежало несколько файлов, один из которых почти всегда оказывался собранными парами логин-пароль. Т.е. кто-то под разными предлогами (посмотреть открытку, например), заманивал пользователей на эту страницу, ничего не подозревающие пользователи вводили свои данные и они уже попадали к хакеру.

Скомпрометированных учётных записей было много (со всех сайтов я набрал больше сотни). Примерно в половине случаев пароль не подходил (пользователь успел его сменить), либо почтовый ящик был полностью пустой (пользователь что-то заподозрил и удалил все письма). Но вот вспоминая вторую половину, я до сих пор мучаюсь догадкой: люди, когда думают что никто не узнает, действительно такие еба… странные или мне просто повезло с подборкой? Из интересных ящиков очень многие, так или иначе, содержали переписку по обмену интимными фотографиями, разговоры «ниже пояса», причём в значительной части была затронута и тема несовершеннолетних. Я до сих пор помню фотку переодетого в женский наряд мужчины (чулки и вообще полный набор), который прислал её женщине, которая интересовалась женщинами (мужчина убеждал, что он – это женщина), чтобы она в ответ прислала свои «голые» фотки. А на что готов пойти ты, чтобы увидеть фотографию голой женщины? 🙂

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

Трудно не согласиться с Виктором Пелевиным

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

3. Основы работы операционной системы Linux

Чем больше вы знаете про Linux, тем лучше. Хотя бы уже потому, что огромное количество веб-серверов в Интернете в качестве операционной системы использует Linux.

Я рассказал свой случай про выход за пределы из выделенного мне на хостинге каталога. У другого хостера, мне удалось попасть в корневой каталог файловой системы (а вот сайты оказались недоступными, поскольку права на папки были прописаны правильно). И представьте ситуацию: я мечусь по папкам сервера, ведь нужно быстрее хватать что-нибудь ценное, пароли разные и т.д. А где что лежит у Linux’а? В какие каталоги надо переходить и какие файлы скачивать? Я был совершенно не знаком тогда с Linux и главный вывод, который я сделал для себя после того случая – нужно разбираться с Linux, иначе никак.

Многие программы для анализа сетей и веб-сайтов на проникновение работают на Linux. Нужно знать, как установить, как запустить (если это консольная программа).

Вообще, в непривычной ОС пользователи иногда не знают, как скопировать файл, или как его открыть, или как установить новую программу, или «где диск D» и т.д. В общем, изучайте Linux в самых разных его аспектах.

И начтите своё изучение не с Kali Linux, а, например, с Linux Mint.

Kali Linux – она не очень подходит для новичков. Даже в дружелюбной Linux Mint могут возникать вопросы по обычному использованию. Что уж говорить про Kali Linux. Все программы, которые есть в Kali Linux, прекрасно могут работать и на других версиях Linux. Я бы рекомендовал так: в качестве основной ОС использовать Linux Mint, а после изучения новых программ устанавливать их в Linux Mint или же, в качестве виртуальной машины (второй ОС) использовать Kali Linux.

Заключительные слова

Я привёл несколько примеров из своих экспериментов по обходу ограничений и проникновению. В скольких из них я использовал Kali Linux? Ни в одном. Я прекрасно помню своё первое знакомство с предшественницей Kali Linux – я установил в виртуальный компьютер, посмотрел меню (там непонятные английский названия), попробовал запустить некоторые программы (почти всегда открывалась командная строка), понял, что здесь ВООБЩЕ ничего не понятно, всё закрыл и удалил.

Изучайте языки программирования (PHP, MySQL, HTML), новые технологии, Linux, устройство и работу сервера. Старайтесь мыслить в созидательном русле (как сделать сайт, как обслуживать сервер, как эффективно работать в Linux) и понимание глубинных процессов придёт само. А именно это (знание и понимание происходящих процессов) и есть главное богатство хакера. Не нужно зацикливаться на Kali Linux. Изучение Kali Linux без знания того, что я перечислил выше – это равносильно построению дома без фундамента.

В мире Linux мы привыкли видеть исключительно клоны. Debian, Ubuntu, Red Hat, SUSE - все это разные дистрибутивы, принципиального отличия в которых нет. Половина популярных Linux-дистрибутивов - это форки Debian или Ubuntu, другие - форки древнего Slackware с измененным менеджером пакетов и красивыми конфигураторами. От былого разнообразия не осталось и следа, но, может быть, мы просто плохо ищем?

Форк раздела «Введение» из прошлой статьи

Современному линуксоиду не понять, но раньше выбор дистрибутива был настоящей эпопеей. Дистрибутивы действительно отличались по многим параметрам, а ввиду отсутствия высокоскоростного интернета и виртуальных машин эти отличия играли весьма важную роль. Slackware предлагал сквозную простоту, Red Hat отличался проработанностью до мельчайших деталей и встроенными конфигураторами, Mandrake был оснащен графическим инсталлятором, а мегафичей Debian был APT, который позволял (ты не поверишь!) автоматически выкачивать софт из интернета.

Величайшей удачей было раздобыть четырехдисковый набор Red Hat, который включал в себя все графические оболочки и кучу прикладного софта, но, если это не удавалось, Mandrake на двух дисках был вполне пригоден. В те времена скачать образ диска могли лишь единицы, поэтому по рукам ходили многочисленные болванки с самыми ходовыми дистрибутивами. Само дистрибутивостроение отличалось относительной простотой и было пропитано духом just for fun, благодаря которому появлялись многочисленные Франкенштейны, включая мой собственный, почивший где-то на дне 10-гигабайтного диска Seagate.

Прошли годы, Seagate был убит Kingston, а дистрибутивы превратились в огромные сложные махины, созданные для выкачивания денег из компаний, чей админ внезапно уговорил начальство перевести серверы на Linux. Но где-то среди многочисленных инсталляций Ubuntu и Linux Mint продолжают существовать те самые Франкенштейны, которые привносят в мир Linux что-то новое, пусть и в честь очередного вытягивания денег.

Slax и модульная система расширения

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

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

Весь дополнительный софт для Slax распространяется в виде модулей с расширением sb. Модуль представляет собой образ файловой системы Squashfs (простая ФС со сжатием), который содержит приложение и все необходимые ему файлы, лежащие по тем путям файловой системы, где они должны быть в работающей системе (usr/bin/abiword, например). Стоит положить этот модуль в специальный каталог на флешке (/slax/modules) или нарезать на диск, и система автоматически подхватит его и смонтирует поверх корня LiveCD при загрузке (Unionfs монтирует ФС друг на друга, как слои пирога). В результате в системе появится приложение, которого физически там нет.

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

Есть только одна проблема: построить полноценный дистрибутив из сотен оверлейных файловых систем будет стоить и производительности, и стабильности.

GoboLinux и отдельные каталоги приложений

Другой необычный для Linux (но стандартный в OS X и Windows) подход к установке стороннего софта используется в дистрибутиве GoboLinux . Вместо привычных любому юниксоиду каталогов /bin, /usr/bin, /usr/share и других, содержащих установленные приложения в «размазанном» по системе виде, GoboLinux использует набор каталогов /Programs, /Users, /System, /Files, /Mount и /Depot.

Фактически дистрибутив следует по пути OS X. Все системные файлы находятся в каталоге /System, а приложения, установленные пользователем, - в /Programs, каждое в своем собственном обособленном каталоге (например, /Programs/Firefox). В результате появляется возможность установки разных версий одного приложения (как вариант - библиотеки), а для удаления софта достаточно физически стереть каталог.

Однако в такой организации каталогов есть изъян, который заставил разработчиков GoboLinux применить несколько костылей. Проблема в том, что, в отличие от приложений для OS X, софт для UNIX пишется в соответствии со стандартом FHS, который предполагает наличие в системе стандартного дерева каталогов, включающего в себя те самые /bin, /etc, /lib, /usr и так далее. Приложения ожидают увидеть эту структуру на диске и при ее нарушении могут вести себя непредсказуемо.

Чтобы решить эту проблему, разработчики GoboLinux применили два хака: специальный модуль ядра и символические ссылки. Модуль скрывает все стандартные каталоги (/bin, /etc и прочие) при листинге корневого каталога, но оставляет возможность получить к ним доступ при прямом обращении. Так удается скрыть реальную структуру каталогов от пользователя.

Ссылки, в свою очередь, решают проблему совместимости. Все системные библиотеки и приложения, хранящиеся в /System, имеют символические ссылки в каталогах /bin и /lib, что позволяет системе правильно функционировать. Совместимость сторонних приложений обеспечивает инсталлятор, который создает новые ссылки для каждого устанавливаемого приложения. Так, при установке Firefox появится файл /usr/bin/firefox, который на самом деле ссылается на /Programs/Firefox/bin/firefox, а также ряд других ссылок.

Да, это типичный представитель семейства Франкенштейнов, но у него есть свои поклонники, особенно из числа тех, кому стандартная организация файловой системы UNIX кажется устаревшей и неэффективной. А это, не будем спорить, действительно так.

NixOS, ее конфигуратор и менеджер пакетов

Говоря о менеджерах пакетов и организации файловой системы, нельзя не упомянуть NixOS, едва ли не самый интересный и «правильный» с точки зрения применяемых технологий дистрибутив. NixOS построена вокруг двух основных идей: декларативная модель конфигурации системы и современный менеджер пакетов, лишенный почти всех проблем, привычных dpkg, rpm и им подобных.

Обе этих технологии тесно связаны между собой и, работая вместе, реализуют весьма интересный принцип организации дистрибутива, который позволяет описать любое из его состояний (включая все конфигурационные файлы и набор установленных пакетов) с помощью одного центрального конфига. Для примера приведу следующий простой конфиг /etc/nixos/configuration.nix:

# Расположение загрузчика boot.loader.grub.device = "/dev/sda"; # Корневой раздел системы fileSystems."/".device = "/dev/sda1"; # Включить SSH по умолчанию services.sshd.enable = true; # Включить Apache (+ настройки) services.httpd.enable = true; services.httpd.adminAddr = "[email protected]"; services.httpd.documentRoot = "/webroot";

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

$ nixos-rebuild switch

И вуаля. Через несколько минут мы получим дистрибутив с преднастроенными и запущенными SSH и Apache. Но самое интересное, что данная команда не просто устанавливает, настраивает и запускает софт, а фактически приводит дистрибутив к описанному состоянию. Это значит, что после выполнения команды в системе действительно останутся только SSH и преднастроенный Apache и ничего, кроме их зависимостей и конфигов (по сути, аналог установки с нуля).

Данную функциональность можно использовать для быстрого разворачивания дистрибутива, переключения между состояниями, быстро переносить систему между физическими или виртуальными машинами, разворачивать кластеры и многое другое. Кроме того, благодаря менеджеру пакетов NixOS гарантирует целостность системы при обновлении и даже позволяет откатить ее к предыдущему состоянию.

Такое возможно потому, что разные версии (или сборки) одного пакета имеют различные пути расположения в системе внутри каталога /nix/store и идентифицируются системой по хешу, так что обновление - это всего лишь операция по выкачиванию новых версий пакетов, их разворачиванию по уникальному пути и «переключению» системы на их использование. Никто не запрещает в любой момент переключиться обратно. Косвенно такой подход решает проблему DLL Hell, позволяет откатывать приложения к прошлым версиям и, конечно же, устанавливать две версии одной софтины рядом друг с другом.

NixOS невероятно интересная система, и я рекомендую каждому, кто неравнодушен к Linux, обязательно ее попробовать. А мы идем дальше, на очереди QubesOS и ее виртуальные окружения.

QubesOS или Xen как основа для ОС

В разные времена предпринималось множество попыток создать защищенную операционную систему на основе технологий изоляции и виртуализации приложений. В свое время в рамках проекта Syngularity этим занималась даже Microsoft, однако ни одна из этих попыток не увенчалась успехом. Как бы хороши ни были идеи, заложенные в ОС, почти в 100% случаев они становились «жертвой второй системы» - перетащить юзеров и разработчиков на новую платформу не удавалось.

Проект QubesOS , начатый известным польским security-экспертом Иоанной Рутковской (Joanna Rutkowska), выгодно отличается на их фоне тем, что предлагает использовать для построения безопасной ОС уже существующие разработки, без необходимости ломать совместимость с приложениями, драйверами и с нуля писать миллионы строк кода. QubesOS - это всего лишь Linux-дистрибутив на основе Fedora, однако в отличие от других он изначально построен на идее жесткой изоляции приложений и компонентов системы с помощью виртуализации.

В основе системы лежит гипервизор Xen, поверх которого запускается несколько виртуальных машин (доменов), каждая из которых ответственна за выполнение своей системной функции. В отдельных доменах здесь работают сетевой стек (включая набор драйверов), файловые системы и драйверы RAID, а также графический стек, включающий в себя X-сервер. Для запуска приложений также применяются отдельные домены, но не по одному на каждое из них (иначе система умерла бы от быстрого исчерпания ОЗУ), а разделенные на «группы по интересам»: развлечения, работа, интернет-банкинг и так далее.

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

В качестве графической среды в QubesOS используется KDE, модифицированная так, чтобы скрыть организацию работы системы от глаз пользователя. Приложения автоматически запускаются в различных доменах, а среда использует рамки окон разного цвета для индикации того, в каком домене работает приложение.

В настоящее время разработчики QubesOS готовят к выпуску второй релиз системы (RC2 уже доступен), в котором появятся отдельный домен для Windows-приложений и USB-домен для безопасной работы с USB-устройствами.

ChromeOS

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

По большому счету, ChromeOS - это сильно урезанная Ubuntu, поверх которой работает графическая среда, основанная на наработках проекта Chromium. За загрузку системы отвечает все тот же убунтовский Upstart, однако в силу необходимости запуска гораздо меньшего количества компонентов холодный старт ChromeOS происходит значительно быстрее (буквально за секунду). За графику здесь отвечает X.org, но используется он исключительно с целью правильной поддержки оборудования и устройств ввода, само изображение почти всегда идет в обход X-протокола напрямую в видеоадаптер (поэтому вскоре иксы будут заменены на Wayland или Mir).

Из других компонентов также используется графическая библиотека Clutter, PAM, D-Bus, NTP, syslog и cron. Идеи пакетов в системе нет, а все обновления ОС происходят в ходе OTA-обновления «одним куском». В ходе обновления система никогда не перезаписывается, а вместо этого использует второй системный раздел, который после перезагрузки становится первым. Таким образом, ChromeOS всегда можно откатить к предыдущему состоянию, а само обновление не может убить систему.

Благодаря отсутствию многих стандартных компонентов Linux-дистрибутивов и ориентированности на исполнение исключительно браузерных приложений, ChromeOS отличается высокой устойчивостью к взломам. Как и в случае с настольным браузером, каждое веб-приложение (читай: вкладка) исполняется в собственной песочнице, что позволяет предотвратить компрометацию всей системы в том случае, если злоумышленник найдет дыру в самом браузере. Системный раздел всегда смонтирован только на чтение. Для подтверждения целостности системы в хромбуках используется модуль TPM (Trusted Platform Module).

В целом ChromeOS - это не полноценная операционная система, а скорее очень нестандартный дистрибутив Linux, чего нельзя сказать, например, об Android или Firefox OS.

Debian GNU/kFreeBSD или «а почему бы и нет?»

Дистрибутив Debian всегда отличался широкой поддержкой самых разных компьютерных архитектур. Он способен работать на ARM, MIPS, PowerPC, Sparc и множестве других официально и неофициально поддерживаемых машин и процессоров. Однако один из самых интересных портов Debian был выполнен... на ядро FreeBSD.

По своей сути Debian GNU/kFreeBSD - это тот же самый дистрибутив, но модифицированный для запуска на ядре FreeBSD. Здесь есть привычный apt-get, набор конфигураторов, система инициализации в стиле System V, репозитории бинарных пакетов, KDE и GNOME, так что для конечного пользователя разница будет абсолютно не видна. Зато сисадмин найдет для себя много интересных плюшек.

Основной смысл существования этого проекта - получить возможность использовать технологии FreeBSD, недоступные в ядре Linux. К таким можно отнести нативную поддержку ZFS, модульную подсистему для работы с хранилищами данных GEOM, модульную сетевую подсистему Netgraph и, конечно же, эталонную реализацию TCP/IP-стека. Все это доступно в Debian GNU/kFreeBSD вместе с привычными плюшками Debian.

  • Damn Vulnerable Linux - самый уязвимый дистрибутив в мире
  • Stali - дистрибутив на основе идеи KISS от известного проекта Suckless

Боковые выносы: INFO

Впервые модель установки приложений в обособленные каталоги появилась в инсталляторе GNU Stow.

Интересно, что кроме Debian GNU/kFreeBSD существует также порт на микроядро Hurd, однако его состояние оставляет желать лучшего.

Версия браузера Chrome для Windows 8 - это не что иное, как ChromeOS в миниатюре.