Интернет

Хакерские дистрибутивы linux. Выбор компьютера и операционной системы для хакера. iftop - производительность сетевой подсистемы

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

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

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

Интервью №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) Что Вы думаете о Гейтсе?

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

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

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

Kali Linux

Наиболее популярный дистрибутив на сегодняшний день. Является преемником Backtrack Linux.
Kali Linux является невероятно мощным инструментом для тестирования на проникновение, который поставляется с более чем 600 security-утилитами, такими как: Wireshark, Nmap, Armitage, Aircrack, Burp Suite, и т.д.

Существует несколько видов этого дистрибутива для различных платформ, таких как ARM, систем виртуализации, инстансов для проведения атак с мобильных платформ - Kali Nethunter.

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

BlackArch

BlackArch Linux создан специально для пентестеров и специалистов по безопасности. Он поддерживает архитектуры i686 и x86_64. В комплект установки сейчас входит 1359 утилит для тестирования на проникновение и их число постоянно увеличивается. Основан на Arch Linux.

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

Parrot Security OS

Набирающий популярность security-дистрибутив, основанный на Debian-linux. Довольно простой в освоении, подходит и для новичков и для профессионалов. Этот дистрибутив нацелен как на проведение тестирования на проникновение, так и на анонимную работу в сети Интернет.

Довольно легкий и эффективный инструмент, многие security специалисты нашли в нем замену все более «прожорливому» Kali, тем более что Parrot использует репозитории Kali для обновления.

BackBox

BackBox основанный на Ubuntu легковесный дистрибутив. В прямом сравнении с Kali проиграет по многим пунктам. В нем нет такого количества разнообразных инструментов, утилит и фреймворков доступных прямо “из коробки”. Нет оптимизаций ядра и прочих твиков.

Благодаря легковесной оболочке XFCE BackBox Linux больше подходит для повседневного использования в качестве рабочей лошадки на вашем личном компьютере. Существует режим - Anonymous mode – весь системный траффик пропускается через TOR-прокси. Скрипт запуска меняет MAC-адрес системы и hostname, также при выключении режима все временные файлы удаляются с помощью интегрированного пакета BleachBit.

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

Pentoo Linux

Pentoo - security дистрибутив, основанный на популярном дистрибутиве Gentoo Linux, фанатами которого являются разработчики Pentoo. Содержит множество security-утилит.

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

Network Security Toolkit

Network Security Toolkit - это один из многих дистрибутивов Linux типа Live CD, направленных на анализ безопасности сети. NST дает администраторам простой доступ к широкому множеству открытых сетевых приложений, многие из которых включены в сотню лучших средств безопасности, рекомендованных сайтом insecure.org. Основан на Fedora Linux.

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

DEFT Linux

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

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

Samurai Web Security Framework

Основное предназначение этого дистрибутива - тестирование на проникновения различных веб-приложений.

Поставляется в виде образа виртуальной машины, содержащий наиболее популярные Open Source утилиты для сбора информации и проведения различных атак на веб-приложения.

Pentest Box

PentestBox не похож на другие security-дистрибутивы, которые работают на виртуальных машинах. Было бы не совсем правильным называть эту сборку дистрибутивом, это скорее набор *nix-like утилит работающий в Windows окружении.

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

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

Santoku Linux

Дистрибутив построен на основе Ubuntu linux. Представлен только в виде X64 платформы.

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

WifiSlax

Это специализированный дистрибутива с подборкой инструментов для проверки безопасности систем WiFi-сетей и проведения криминалистического анализа. Дистрибутив построен на базе Slackware linux.

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

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

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