Хакерский дистрибутив на базе Windows. Лучшие дистрибутивы Linux для взлома Самый запомнившийся взлом

Начну свой рассказ с анекдота. Решили как-то Винни-Пух (ВП) и Пятачок (П) взять интервью у снежного человека. Ходили, искали, так и не нашли. Добрались до гор Сибири. Там ВП говорит:
"Пятачок давай разделимся, а то мы с тобой никогда его не найдем!"

Так и сделали. ВП искал, искал, никого нет. Решил найти Пятачка. Ходил, бродил, вдруг видит Пятачок лежит мертвый с разорванным ртом, а рядом диктофон валяется. ВП включил диктофон и слышит:
-Товарищ снежный человек, можно взять у вас интервью?
-Бери!
-Но...
-Бери!
-Но это же не интервью!
-Бери!
-А-а-а!
...
Вот и я решил взять интервью, не у снежного человека, конечно же;),
а у хакеров, людей, которых достаточно сложно найти и которые могут много чего интересного рассказать. Всем я задавал одинаковые вопросы (очень уж хотелось выяснить, чем отличаются между собой эти невидимки;), не все из которых имеют отношения к компьютерам. Не буду особо вдаваться в то, как я находил реальных хакеров (оставлю это профессиональной тайной), скажу лишь, что некоторые из них достаточно известны в узких кругах, других
порекомендовали знающие люди, третьих приходилось искать самому.

Интервью №1 (Sidex)

1) Нужна ли Вам известность?

Меня не интересует "массовая" известность. Такая чтобы, обо мне говорили обыватели и писали в журналах, далёких от компьютерной безопасности, и компьютеров вообще. Например, мне несимпатична популярность пресловутого Митника, Левина или последней "звёздочки" - Mafia Boy`я. Скорее интересует "узкая" известность среди людей наиболее компетентных и авторитетных. Как говорилось "лучше меньше, да лучше".

2) Как стать хакером?

Никто не спрашивает: как стать обрубщиком ватников? Тогда почему вопрос имеет отношения к "специальности"
- хакер? Это не более чем миф для вскормки подростков: ты станешь хакером, мы научим быть тебя хакером, ты должен стать хакером, американское "How become a hacker". Я же хотел, чтобы молодые люди, задающиеся поднятым вопросом, сменили его на: как стать специалистом по компьютерной безопасности? Тут я бы советовал получить максимум фундаментальных знаний, как то: работа с различными операционными системами, разнообразное программирование, иностранные языки (общения:), протоколы коммуникации, аппаратное устройство техники и т.д. А получив необходимое в нужном объёме, обратиться к более конкретным источникам информации: новостным лентам/сайтам, рассылкам по безопасности, контактам со знающими людьми в интересующей области, тем же книгам, и, конечно, актуальной периодике, вроде того же журнала "Хакер".

3) Ваша любимая книга?

Ирвин Шоу "Богач, бедняк", "Хлеб по водам"; William Gibson
"Burning Chrome".

4) Ваша любимая музыка?

Электронная "фундаментальная" музыка: Kraftwerk, Future sound of London, The Orb, Orbital. И современные эксперименты: Dust brothers, Chemical brothers (ранние и самые последние работы), Primal scream, Apollo 440, Paul Oakenfold, easy listening от Cafe del
Mar.

5) Ваше любимое кино?

Очень тронул фильм "Бойцовский клуб". Но его массовость и неглубина идеи, не позволяют назвать его любимым. Итого, затрудняюсь назвать любимое кино, т.к. логичным было бы написать здесь западный фильм. Я же не постеснялся бы назвать - "Хрусталёв, машину" от супер-режиссёра Германа, что, к сожалению, лишь изредка радует нас своими работами. Из совсем небюджетного кино - "Железная пята олигархии" "нежного"-Баширова.

Ну во-первых, не нужно путать хакера и кракера.... Ломал я разные программульки, но "ломы" мне не запоминаются - в них нет интереса. Интереснее созидать, чем ломать.

9) Есть ли у вас девушка?

Смешной вопрос, разумеется - русские;-). Хотя дело не в национальности...

Linux, Solaris, WinNT

Для разных задач - разные ОС, тут нет и не может быть однозначного ответа.


компьютером?

От 12 до 24.

15) Что Вы думаете о Гейтсе?

Человек, сделавший состояние на человеческой лени и глупости. Приход Гейтса был неизбежен, не было бы его - был бы кто-то другой.

Интервью №4 (TEN)

1) Нужна ли Вам известность?

2) Как стать хакером?

3) Ваша любимая книга?

"Как программировать на C++"

4) Ваша любимая музыка?

5) Ваше любимое кино?

"Иван Васильевич меняет профессию"

7) Самый запомнившийся взлом.

Взлом, когда тебя ловят - самый запоминающийся взлом:).

8) Кого вы считаете самым выдающимся хакером?

Кевин Митник.

9) Есть ли у вас девушка?

10) Хакеры какой национальности самые лучшие?

Русские, конечно.

11) Какие операционные системы стоят на Вашем компьютере?

WinNT 4.0 Workstation и FreeBSD.

12) Какую ОС Вы считаете лучшей?

13) Сколько часов в день вы проводите за
компьютером?

Не меньше 7.

14) На каких языках программируете?

15) Что Вы думаете о Гейтсе?

Хе-Хе! Что я думаю о Гейтсе? Козёл он!

Интервью №5 (Blackhole)

1) Нужна ли Вам известность?

Нет, совсем не нужна.

2) Как стать хакером?

Любить программирование и виртуозно знать его корни - Ассемблер.

3) Ваша любимая книга?

"Война и мир" Толстого.

4) Ваша любимая музыка?

Иоган Себастьян Бах. Сейчас, например, звучат великолепные "Французские сюиты".

5) Ваше любимое кино?

Перечисление заняло бы слишком много времени. Смотрю по настроению.

7) Самый запомнившийся взлом.

Это запрещено законодательством РФ 😉

8) Кого вы считаете самым выдающимся хакером?

Кевина Митника и Роберта Морриса.

9) Есть ли у вас девушка?

Конечно, есть.

10) Хакеры какой национальности самые лучшие?

У меня нет такой статистики. Думаю, что каждый может достигнуть успехов.

11) Какие операционные системы стоят на Вашем компьютере?

MS DOS и Windows NT.

12) Какую ОС Вы считаете лучшей?

13) Сколько часов в день вы проводите за
компьютером?

14) На каких языках программируете?

Ассемблер, C++ и Java.

15) Что Вы думаете о Гейтсе?

Молодец. Но его (Microsoft) языки программирования мне не по душе. И то, что он сделал с Java тоже не делает ему чести.

Спасибо.

Интервью №6 (VirVit)

1) Нужна ли Вам известность?

Смотря в какой сфере жизни.

2) Как стать хакером?

Учиться и еще раз учиться... А так же практиковаться...

3) Ваша любимая книга?

Архитектура ОС UNIX.

4) Ваша любимая музыка?

Rock-n-roll, rock, funk

5) Ваше любимое кино?

8) Кого вы считаете самым выдающимся хакером?

Не интересуюсь известными личностями, хотя Митник...

9) Есть ли у вас девушка?

10) Хакеры какой национальности самые лучшие?

11) Какие операционные системы стоят на Вашем компьютере?

Win98, Linux Black Cat 6.02

12) Какую ОС Вы считаете лучшей?

13) Сколько часов в день вы проводите за
компьютером?

14) На каких языках программируете?

C, C++, Asm, FoxPro.

15) Что Вы думаете о Гейтсе?

Ничего. Оказался в нужное время в нужном месте.

Интервью №7 (Myztic)

1) Нужна ли Вам известность?

Среди других хакеров, не помешало бы.

2) Как стать хакером?

Нужно иметь огромное терпение и желание учиться этому.

3) Ваша любимая книга?

"Атака на интернет".

4) Ваша любимая музыка?

HardCore techno.

5) Ваше любимое кино?

7) Самый запомнившийся взлом.

8) Кого вы считаете самым выдающимся хакером?

9) Есть ли у вас девушка?

10) Хакеры какой национальности самые лучшие?

Русские естессно.

11) Какие операционные системы стоят на Вашем компьютере?

Linux RH7.0 и Win98

12) Какую ОС Вы считаете лучшей?

Трудно сказать, в целом хорошие юниксо-подобные ОС.

13) Сколько часов в день вы проводите за
компьютером?

14) На каких языках программируете?

15) Что Вы думаете о Гейтсе?

Умный перец, додумался продавать софт, а вообще он жадный.

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

Если вы хотите начать карьеру в сфере информационной безопасности или вы уже работаете как профессионал в этой сфере, или вы просто заинтересованы в этой конкретной области знаний, мы найдем достойный 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 включает в себя тысячи инструментов и приложений, разделенные на группы пакетов по категориям.

В мире 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 в миниатюре.

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

Компьютер для хакера

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

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

Настольный компьютер или ноутбук?

У настольного компьютера множество преимуществ: он мощнее, дешевле, прост в апгрейде и ремонте, у него удобнее клавиатура, больше портов, крупнее экран и многое другое. И только один недостаток - недостаток мобильности. Если перед вами не стоит задача выезжать на объекты, и вообще вы только учитесь, то настольный компьютер будет предпочтительнее.

Видеокарта для пентестера

Видеокарта нам нужна, конечно же, не для игр. Она нам нужна для перебора хеш-сумм (хешей). Хеш - это результат обработки данных по специальному алгоритму (хеш-функцией). Их особенностью является то, что одинаковые данные имеют одинаковые хеши. Но из хеша невозможно восстановить исходные данные. Эта особенно часто применяется, например, в веб-приложениях. Вместо хранения паролей в открытом виде, на большинстве веб-сайтов хранятся хеши этих паролей. Если вы вводите свой логин и пароль, то веб-сайт рассчитывает хеш для введённого вами пароля и сравнивает, соответствует ли он тому, который сохранён ранее. Если соответствует, значит вы ввели верный пароль и получаете доступ к сайту. Для чего всё это? Представьте себе, что хакеру удалось получить доступ в базе данных (например, через SQL-инъекцию) и он узнал все хеши на сайте. Он хочет авторизоваться под одним из пользователей, но не может - веб-сайт требует ввода пароля, хеши он не принимает.

Восстановить пароль из хеша можно, например, методом перебора (есть ещё радужные таблицы , но сейчас не о них, да и суть их сводиться к тому же самому - вычислению хешей для кандидатов в пароли). Мы берём кандидат в пароли, например, «superbit» считаем для него хеш-сумму, сравниваем с имеющейся хеш суммой - если они совпадают, значит паролем для пользователя является «superbit», если нет, том мы берём следующий кандидат в пароли, например, «dorotymylove», считаем для него хеш-сумму, сравниваем с той, которую мы узнали из базы данных сайта, если она совпадает - значит мы узнали, пароль, если нет - продолжаем далее.

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

Популярными видеокартами являются AMD, GeForce и Intel HD Graphics. Из Intel HD Graphics не всегда удаётся извлечь толк, не особо они мощные и их не покупают отдельно - поэтому мы не будем на них сильно останавливаться.

Главный выбор стоит между AMD и GeForce. Намного более популярны видеокарты GeForce. Они хорошо себя зарекомендовали в играх, у них огромная армия фанатов. Но вот для перебора хешей лучше подходят AMD, как бы это не расстраивало поклонников GeForce. Видеокарты AMD из средней ценовой категории показывают примерно такие же результаты как видеокарты GeForce из топовой категории. Т.е. вместо одной топовой GeForce можно купить 2 AMD подешевле и получить бОльшую скорость перебора хешей.

Этот момент я переосмыслил. Сравнивая данные из и цены в Интернет-магазинах, пришёл к выводу, что разницы нет. Топовые GeForce мощнее топовых Radeon в два с лишним раза. А цена выше примерно в два раза. Плюс нужно знать, что у драйверов AMD очень болезненные отношения с большинством дистрибутивов Linux. В настоящее время hashcat на Linux поддерживает работу только с AMDGPU-Pro, который поддерживает только новые видеокарты. И даже если вы планируете покупать компьютер с новой видеокартой AMD, то для начала ознакомьтесь со списком поддерживаемых дистрибутивов Linux - он куцый, вполне возможно, что вашей ОС там нет.

В общем, возможно когда-то Radeon действительно были лучше GeForce для перебора паролей, когда-то драйвера AMD ставились в Linux одной командой, но сейчас это не так. Если бы сейчас я собирал компьютер или покупал ноут, то выбрал бы модели с GeForce.

Перебор хешей понадобится:

  • при тестировании на проникновение веб-приложений (иногда);
  • при взломе Wi-Fi (практически всегда);
  • при взломе пароля зашифрованных дисков, кошельков, файлов, запаролленых документов и т.п.) (всегда).

Оперативная память

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

Если вы планируете использовать ОС для пентестинга в виртуальной машине, то в этой ситуации лучше позаботиться о достаточном количестве RAM.

Потребности виртуальных машин в ОЗУ:

  • Arch Linux с графическим интерфейсом - 2 гигабайта оперативной памяти для очень комфортной работы
  • Kali Linux с графическим интерфейсом - 2 гигабайта оперативной памяти для нормальной работы
  • Kali Linux с графическим интерфейсом - 3-4 гигабайта оперативной памяти для очень комфортной работы
  • Любой Linux без графического интерфейса - около 100 мегабайт для работы самой системы + то количество, которое будут потреблять запущенные вами программы
  • Windows последних версий - 2 Гб чтобы просто запустилось (много тормозов)
  • Windows последних версий - 4 и более Гб для комфортной работы.

Например, у меня в основной системе 8 гигабайт, я выделил на Arch Linux и Kali Linux по 2 гигабайта оперативной памяти, я запускаю их (если нужно) одновременно и с комфортом в них работаю. Если вы планируете использовать ОС для пентенстинга в виртуальных машинах, то я бы рекомендовал иметь никак не менее 8 гигабайт - этого хватит чтобы с комфортом запускать по одной-две системе, а в этих системах большинство программ.

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

Всё, что больше 16 гигабайт оперативной памяти, вряд ли когда-либо вам пригодиться при пентестинге.

Процессор

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

Подавляющее большинство программ (кроме тех, которые перебирают хеши), не требовательны к мощности процессора.

Жёсткий диск

Особых требований нет. Естественно, с SSD работать приятнее.

Компьютер пентестера на VPS/VDS

Ну и «в нагрузку» VPS позволяет организовать свой собственный веб-сервер, почтовый сервер, файловое хранилище, облако для кооперации, ownCloud, VPN ну вообще что угодно, что умеет Linux с белым IP. Я, например, организовал мониторинг новых версий программ (на том же VPS где и https://suip.biz/ru/ - зачем платить два раза): https://softocracy.ru/

VPS позволяет как устанавливать компьютер с интерфейсом командной строки, так и с графическим окружением рабочего стола. Как говориться, на «на вкус и цвет…» все фломастеры разные, но лично я ярый противник установки ОС с графическим окружением рабочего стола в качестве сервера. Хотя бы потому, что это просто дорого - для комфортной работы нужно покупать тарифные платы с 2+ гигабайт оперативки. И даже этого может быть мало, в зависимости от запущенных программ и их количества.

На ARM устройство я бы рекомендовал устанавливать ОС без графического окружения рабочего стола и среди устройств выбирать те, которые помощнее. В результате может получиться помощник, которого почти не видно, который никогда не спит и всегда что-то делает для вас, при этом почти не потребляет электричества. Если у вас прямой IP, можно установить на него же веб-сервер, почтовый сервер ну и т.д.

Linux или Windows для хакинга?

Большая часть программ, которые используются в пентестинге из Linux, являются кроссплатформенными и прекрасно работают в Windows. Исключение составляют только программы для Wi-Fi. Да и то дело не в самих программах (Aircrack-ng , например, является кроссплатформенным набором программ, который поставляется с официальными бинарниками под Windows), а в режиме монитора сетевого адаптера в Windows.

У Windows есть свой определённый потенциал, есть Cygwin, который может многое из того, на что способна командная строка Linux. Я не сомневаюсь, что есть и большое количество пентестеров, которые «сидят» на Windows. В конце концов, главное не какая ОС установлена, а понимание технических аспектов, понимание работы сети, веб-приложений и прочего, а также умение пользоваться инструментами.

У тех, кто выбирает Linux в качестве ОС платформы для хакинга, преимущества заключаются в том, что:

  • Много готовых дистрибутивов, где установлены и настроены соответствующие профильные программы. Если всё это устанавливать и настраивать в Windows, то может оказаться, что быстрее разобраться с Linux.
  • Тестируемые веб-приложения, разнообразные серверы и сетевое оборудование обычно работает или основывается на Linux или чем-то похожем. Осваивая ОС Linux, её базовые команды, вы одновременно и изучаете «цель» пентестинга: получаете знания, как она работает, какие файлы могут содержать важную информацию, какие команды вводить в полученный шелл и т.д.
  • Количество инструкций. Все зарубежные книги по пентестингу (а отечественных я не видел), описывают работу именно в Linux. Конечно, можно покумекать и переложить команды на Windows, но потраченные усилия на то, чтобы всё работало как надо, могут оказаться равными усилиям, которые необходимы для освоения Linux.
  • Ну и Wi-Fi. В Linux, если ваша сетевая карта это поддерживает, нет проблем с режимом монитора.

Многих интересует вопрос, какая операционная система лучше подходит для хакерства. Сначала скажу, что почти каждый профессионал и эксперт использует для этого Linux или Unix . Несмотря на то что некоторые операции можно проводить из-под Windows и Mac OS , почти весь инструментарий разработан специально для Linux .

Но есть и некоторые исключения, как программыCain and Abel , Havij ,Zenmap и Metasploit , которые разработаны или могут быть перенесены на Windows .

Приложения для Linux , которые были разработаны под Linux , а затем перенесены на Windows, могут терять некоторые возможности. Вдобавок, некоторые опции, которые встроены в Linux , недоступны в Windows . По этой причине инструменты хакеров в большинстве случаев разработаны ТОЛЬКО для Linux .

В общем, чтобы стать высококлассным хакером, нужно овладеть некоторыми навыками в Linux , а также работать с такими дистрибутивами, какBackTrack или Kali .

Для тех, кто никогда не использовал Linux , посвященаэта подборка по основам Linux с акцентом на те навыки, которые понадобятся для хакерства. Итак, нужно запустить BackTrack или другой дистрибутив Linux .

Шаг 1: Запуск Linux

После запуска BackTrack и входа в систему от имени пользователя «root », введите команду:

Bt > startx

Экран должен выглядеть примерно так.

Шаг 2: Открывание терминала

Чтобы стать специалистом в Linux , нужно научиться пользоваться терминалом. В различных дистрибутивах Linux много вещей можно делать просто наведением указателя и щелчком, как это делается в Windows или Mac OS , но профессиональный хакер чтобы запустить большинство инструментов должен знать, как пользоваться терминалом.

Итак, открыть терминал можно щелкнув по его иконке в нижней панели. На экране должна появится картинка, похожая на эту.

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

Важно помнить, что в Linux регистр символов имеет значение. То есть команда «Desktop » отличается от «desktop », которая не то же самое, что «DeskTop ». Для некоторых новичков в Linux это вызывает сложности, поэтому требует запоминания.

Шаг 3: Ознакомление со структурой каталогов

Переходим к основам работы в Linux . Многие новички путаются в структуре файловой системы Linux . В Linux, в отличие от Windows, файловая система не привязана к физической памяти на диске, поэтому здесь нет системного диска c:\, как корня операционной системы Linux , но есть / .

Символ прямой слеш (/ ) представляет корень (root ) или верхнюю часть иерархии файловой системы. Все другие каталоги (папки) находятся ниже по структуре, наподобие папок и вложенных папок на диске c:\ .

Чтобы визуализировать файловую систему, посмотрите на схему ниже.

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

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

Каталог /bin – это место, где располагаются двоичные файлы. Программы, которые позволяют Linux работать.

/etc – это папка, в которой хранятся файлы конфигурации. В Linux почти все настроено при помощи текстовых файлов конфигурации, которые находятся в /etc .

В каталоге /dev помещаются файлы устройств, подобные драйверам в Windows .

/var – это место, в котором хранятся файлы журнала и другие файлы.

Шаг 4: Использование команды pwd

Терминал в BackTrack по умолчанию открывается в каталоге пользователя home . Как показано в графике выше, в иерархии это находится на одну ступень ниже от корневого каталога root . Можно удостовериться, в каком каталоге находится пользователь, напечатав команду:

Bt > pwd

Команда pwd происходит от «present working directory » (англ. «представить рабочий каталог»), и она возвращает значение /root , что значит, что пользователь находится в своем корневом каталоге (не путайте его с вершиной файловой структуры системы).

Команду pwd лучше запомнить, так как она всегда поможет узнать где в системе каталогов находится пользователь.

Шаг 5: Использование команды cd

Можно изменить каталог с помощью команды cd (от англ. change directory, «сменить каталог»). В таком случае, для перехода «выше» по структуре папок нужно набрать:

Bt > cd ..

Команда cd , за которой следуют две точки (.. ) говорит: «перейти на уровень выше по структуре папок». Обратите внимание, что командная строка изменилась, и когда вводится pwd , Linux отвечает, что текущий пользователь находится в «/ » или вершине каталоговой системы (в корневом каталоге системы).

Bt > pwd

Шаг 6: Использование команды whoami

В последнем шаге этого обучающего поста будет использована команда whoami . Результатом работы этой команды будет вывод имени пользователя, которым выполнен вход в систему. Так как здесь вход выполнен пользователем root, то можно войти в учетную запись любого пользователя и имя этого пользователя отобразится в терминале.

Bt > whoami

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

Отказ от ответственности : Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.