хакер обучение с нуля
Пособие для начинающих | Как стать этичным хакером
Эта статья для тех, кто устал читать бесконечные новости об этических хакерах и не знает, кто это такие самом деле.
Информация предназначена для людей, которые:
Пора откинуться на спинку кресла и погрузиться в огромный мир возможностей и советов, которые помогут продвинуться по карьерной лестнице в сфере кибербезопасности.
Многие новички не знают, с чего им начать, хотя уже ставят перед собой определенные цели: например, взломать аккаунт своего друга на Facebook. В этой статье попытаемся понять, как это сделать, и узнаем как можно больше информации о кибербезопасности. Будут даны подробные технические инструкции о том, как начать работу, если являешься новичком, и как развиваться по мере приобретения знаний и опыта в данной области. Хакерство — это навык. И стоит всегда помнить, что если есть желание научиться хакерству исключительно для удовольствия или только взлома аккаунта друга на Facebook или чьей-то электронной почты, то ничего не получится. Надо решить для себя, что изучение хакерства – это центральный процесс жизни, и придется стать экспертом в компьютерных системах. Пришло время все изменить.
«Я был разными хакерами. Начиная с White Hat и заканчивая Black Hat. Чем опаснее и образованнее я становился, тем интереснее мне было двигаться дальше»
MakMan
Введение
Во-первых, нужно понять, что выражение «карьера в кибербезопасности» немного схоже со словосочетанием «карьера в банковской сфере», т.е. это общие термины, которые включают в себя десятки профессий в отрасли. В кибербезопасности можно, например, говорить о работе в цифровой криминалистике как о реальной карьере или обнаружении вредоносного программного обеспечения (программ), аудите, испытании на проникновение, социальной инженерии и многих других профессиональных стезях. Каждая из этих подкатегорий в рамках кибербезопасности заслуживает отдельной статьи, но сейчас необходимо сосредоточиться на некоторых важных общих требованиях, которые выставляются каждому, кто хочет начать успешную карьеру в области IТ-безопасности.
Если у человека нет никакого опыта, то не нужно волноваться. Все должны с чего-то начинать, и всем нужна помощь, чтобы достичь высот в определенной профессии. Никто не является обузой, и никто не рождается со всеми необходимыми навыками. Итак, у будущего программиста нулевой опыт и ограниченные возможности на данный момент. Здесь главный совет заключается в том, чтобы он обучился некоторым основам программистского дела.
1. Что такое хакерство?
Хакерство — это выявление слабых мест и уязвимостей какой-либо системы и получение доступа с их помощью.
Хакер получает несанкционированный доступ к системе, атакуя ее, в то время как этический хакер имеет официальное разрешение для законной оценки состояния безопасности нужной системы.
Есть несколько типов хакеров. Некоторые из них:
На самом деле, цель этического взлома состоит в том, чтобы выявить слабые уязвимые места системы компании для того, чтобы исправить их. Этический хакер документирует все, что он делает.
2. Навыки, необходимые для того, чтобы стать этичным хакером.
Прежде всего, чтобы быть пентестером, нужно быть готовым постоянно узнавать новые вещи, при чем, быстро и дома. Во-вторых, надо иметь фундаментальное понимание по крайней мере одного языка программирования или скрипта, а также знать основы сетевой и веб-безопасности.
Итак, вот несколько шагов, которые могут помочь:
3. На каком языке кодить?
Это зависит от того, на какой платформе человек будет работать. Для веб-приложений лучше изучить HTML, PHP, JSP и ASP. Для мобильных приложений стоит обратить внимание на Java (Android), Swift (iOS), C# (Windows Phone). Для настольного программного обеспечения попробовать Java, C#, C++.
Также хочется порекомендовать Python, потому что это язык общего назначения, и он становится все популярнее в настоящее время из-за его портативности.
Но что действительно необходимо для каждого языка программирования, так это изучить основы программирования и такие понятия, как типы данных, манипулирование переменными в программе на уровне операционной системы, использование подпрограмм и их функций. Если человек изучит это, то данные знания подойдут для каждого языка программирования, не беря во внимание некоторые изменения в синтаксисе.
Секреты профессионалов:
Полезные ссылки и ресурсы для начинающих:
Кроме этого, можно присоединиться к сообществу Join Slack для хакеров:
Для того, чтобы отточить свои навыки и попрактиковаться, подойдут следующие ресурсы:
Публичные отчеты HackerOne
Эти отчеты помогут понять, как проходит охота BugBounty
Некоторые важные моменты, которые следует запомнить:
Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.
6 лучших ресурсов для обучения этичному хакингу
Статья для тех, кто мечтает стать хакером и не нарушать закон.
Считается, что хакеры – это злоумышленники, получающие доступ к чужим данным со злым умыслом. Однако это лишь одна из форм хакинга – неэтичная. Именно такой взлом является незаконным. Этичный хакинг служит для того, чтобы методом атак найти ошибки в системах безопасности и устранить их. Эта форма хакинга является абсолютно законной и набирает популярность, так как многие компании готовы платить за найденные уязвимости.
Ниже приведены несколько ресурсов, где можно научиться этичному хакингу и познакомиться с единомышленниками.
1. HACKADAY
Чрезвычайно популярный сайт со множеством учебных пособий по взлому железа, компьютерных сетей и т. д. Кроме того, здесь постоянно выкладываются новости из мира хакинга. У HACKADAY есть свой YouTube канал с практическими рекомендациями.
2. Evilzone Forum
Платформа для обсуждения методов взлома и способов их устранения с профессиональными хакерами. Чтобы задавать вопросы и отвечать на них, требуется регистрация.
3. HackThisSite
HTS позволяет изучать теорию и практиковать навыки взлома с помощью решения проблем. Ещё здесь есть обучающие материалы и новости.
4. Break The Security
Сайт предоставляет возможность пройти сертифицированные курсы по безопасности.
5. EC-Council CEH
EC (Международный совет консультантов по вопросам электронной коммерции) – профессиональная организация, которая проводит различные курсы. Один из наиболее популярных – CEH (Этичный хакинг, с получением сертификата), он содержит полный набор инструментов для обучения и применения знаний на практике, что является необходимым для того, чтобы стать профессиональным хакером.
6. Cybrary
Платформа с бесплатными онлайн-курсами по информационной безопасности.
Этичный хакинг: как взламывать системы и при этом зарабатывать легально
Кто такой хакер? Большинство людей, которые далеки от программирования, представляют перед собой злостного преступника, взламывающего системы безопасности банков, чтобы украсть деньги. Что-то вроде героя Хью Джекмана из фильма «Пароль —“Рыба-меч”», который взламывает шифр Вернама, чтобы украсть из правительственного фонда 9,5 млрд. долларов.
Хакером можно быть и легально. Таких специалистов называют пентестеры, или «этичные хакеры». Вот только нужно хорошо знать, что можно делать во время тестирования системы на проникновение, а что — нельзя. Иначе можно получить вполне реальные проблемы с законом. Совсем недавно мы запустили курс «Этичный хакер», и в этой статье мы поговорим, как заниматься хакингом, зарабатывать на этом неплохие деньги и при этом не иметь проблем с законом. Поехали.
Что грозит хакеру по закону РФ
Для начала поговорим о проблемах, которые могут свалиться на хакера. Практически все правонарушения, связанные со взломом систем и получения доступа к ним, касаются трех законов:
Согласно ст. 13. КоАП РФ (Административные правонарушения в области связи и информации), за разглашение информации с ограниченным доступом, нарушение порядка хранения, использования и распространения персональных данных может грозить штраф от 300 до 20 000 рублей. Это для физических лиц. Для юридических лиц размер штрафа гораздо больше.
В основном она касается людей, которые имеют доступ к подобной информации, и организаций, которые собирают персональные данные клиентов.
К примеру, интернет-магазин собирает клиентскую базу с именами, номерами телефонов и email-ами. А ушлый менеджер решает собрать базу и скопировать ее для дальнейшей продажи на сторону.
Если подобное действие не стало причиной серьезного ущерба, а на менеджера не поступило жалоб в правоохранительные органы, то правонарушение может быть квалифицировано по ст. 13.11 п. 8 КоАП РФ. Наказание за него — штраф в размере от 30 000 до 60 000 рублей.
Что касается уголовного законодательства, то хакеру-злоумышленнику в большинстве случаев грозят следующие статьи УК РФ:
Небольшое отступление. Пентестеры также используют сторонние программы для взлома систем безопасности и получения доступа к закрытой информации. Легальных программ для взлома не существует, поэтому компания, которая заказывает пентестинг, должна в письменной форме дать добровольное согласие на использование сторонних программ. Также пентестеры обычно подписывают соглашение о неразглашении сведений, полученных в ходе атак.
Пентестер: отличия от хакера
Пентестер — это хакер, который работает полностью легально и в рамках закона. Суть его работы — поиск уязвимостей в системах безопасности.
Но есть несколько серьезных отличий:
Пентестер работает исключительно по программам Bug Bounty или после заключения контракта с компанией. Из-за того, что сам процесс пентестинга связан со взломом защиты, процедура очень формализованная.
Нельзя просто найти уязвимость в системе защиты и указать на нее владельцу. Потому что за это можно получить вполне реальное обвинение.
В 2017 году 18-летний хакер нашел уязвимость в системе безопасности венгерской транспортной компании BKK. Баг был простой — с помощью инструментов для разработчика в браузере парень изменил исходный код страницы, вписав свою цену на билет (20 центов вместо 30 евро). Валидация цены не проводилась ни на сервере, ни на стороне клиента, поэтому хакер смог купить билет за эту цену.
После этого он обратился к представителям компании, раскрыв всю информацию об уязвимости. Но получил не благодарность, а уголовное дело. Транспортная компания «обиделась» и подала на него в суд. Парня арестовали.
История закончилась хорошо. Она получила большой резонанс в СМИ, пользователи просто обрушили рейтинг компании в Facebook. А с учетом того, что компания якобы тратила свыше миллиона долларов на защиту данных каждый год, обнаружение такого глупого бага, которым мог воспользоваться любой человек, просто уничтожило ее репутацию.
У парня были благородные намерения — он хотел указать на дыру в системе продаж билетов, наглядно продемонстрировав ее. Но при этом его действия все равно можно квалифицировать как взлом системы безопасности. А это уголовное дело.
Формально компания была полностью права, выдвигая ему обвинения. Какими бы ни были намерения парня, он нарушил закон. И от реального срока его спас только общественный резонанс.
Bug Bounty: как участвовать правильно
Большинство крупных компаний ведут Bug Bounty — специальные программы, в которой компании-разработчики ПО или сайтов предлагают вознаграждение за найденные уязвимости. Компаниям выгоднее платить за найденные ошибки, чем разбираться с последствиями, к которым могут привести эксплойты и уязвимости.
Большинство таких программ размещены на сайтах HackerOne и BugCrowd.
К примеру, вот программы Bug Bounty от Google API, Nginx, PayPal, GitHub, Valve. Средний размер премии за каждый найденный баг в этих программах — 1000 долларов. Есть огромное количество компаний поменьше, которые предлагают 50-100 долларов за ошибку.
Даже Пентагон запускал Bug Bounty! Это же просто мечта для хакера — взломать систему защиты Пентагона, да еще и получить деньги за это от правительства США.
Но даже опубликованная Bug Bounty не означает, что можно ломать и искать дырки где попало. В описании программы владельцы прописывают, какие именно уязвимости будут рассматриваться.
К примеру, Uber дает очень подробное объяснение, что входит в их программу Bug Bounty, а что — нет.
Компания хочет найти уязвимости в системах доступа и хранения данных, возможностей фишинга, оплаты и счетов, несанкционированных действий со стороны пользователя и сотрудников компании. Но в программу не входят общие баги приложения, отчеты о мошенничестве, баги в работе с соцсетями и email-рассылкой.
Впрочем, с чувством юмора у них все нормально. Потому что среди неоплаченных действий есть и следующее:
Entering the Uber offices, throwing crisps everywhere, unleashing a bunch of hungry raccoons, and hijacking an abandoned terminal on an unlocked workstation while staff are distracted
Входить в офис Uber, разбрасывая везде чипсы, выпуская кучу голодных енотов и захват свободного терминала или рабочего места, пока сотрудники сбиты с толку.
Чем подробнее описана Bug bounty, тем проще пентестеру понять, что можно «пробовать на зуб», а чего делать не стоит.
При этом есть общие правила, которые нарушать нельзя. К примеру, при обнаружении уязвимостей в базах данных пользователей нельзя пытаться скачать какие-либо личные данные. Даже при участии в программе это может быть расценено как нарушение закона. Потому что здесь нарушаются права именно пользователей, к которым Bug bounty не имеет никакого отношения.
Российский рынок пентестинга тоже активно развивается. На нем уже есть ряд крупных игроков, которые работают с большими корпорациями. К примеру, Digital Security, НТЦ «Вулкан», Group-IB, BI.ZONE, «Лаборатория Касперского». Но конкуренция на рынке еще довольно невысокая, так что можно вполне комфортно работать и индивидуально.
Некоторые крупные компании вроде «Газпрома» или банковских организаций создают отдельные внутренние подразделения пентестеров, чтобы не раскрывать конфиденциальные данные сторонним организациям.
Поэтому для пентестера есть несколько возможностей:
Чтобы подстраховаться от нечестных компаний, рекомендуем работать через сайты HackerOne и BugCrowd. Просто зарегистрируйтесь и подавайте заявки с обнаруженными багами через них.
Единственное правило — очень детально читать описание программы. Если компания пишет, что платит за уязвимости баз данных, то искать нужно только там. Даже если вы найдете баг где-нибудь еще, то за него не заплатят. Даже наоборот — могут начаться проблемы.
Уэсли Вайнберг в 2015 году нашел одну из самых серьезных брешей в защите Instagram. В ходе пентестинга он обнаружил Ruby-уязвимость, которая позволила ему запустить удаленное воспроизведение произвольного кода.
Это позволило ему прочитать файлы конфигурации, которые содержали доступы к базе PostgreSQL. Там были 60 аккаунтов сотрудников Instagram и Facebook. Как утверждает Вайнберг, взломать их не составило труда — большинство паролей были крайне слабыми — вроде «password» или «instagram».
Далее он получил доступ к нескольким ключам Amazon Web Services, которые ассоциировались с 82 бакетами S3. И в этих бакетах было настоящее сокровище для хакера: исходные коды Instagram, SSL-сертификаты, API-ключи, данные email-сервера, ключи подписей для приложений iOS и Android. Можно сказать, что пентестер получил полный доступ ко всем секретным материалам Instagram.
Он честно сообщил об этой находке представителям Facebook. За один баг ему действительно выплатили 2500 долларов. Но также он получил обвинение в несанкционированном доступе к аккаунтам сотрудников, бан в программе Bug bounty от Facebook и угрозу уголовного преследования. Хотя уголовное дело не было возбуждено, нервы пентестеру потрепали изрядно.
Так что следование прописанным пунктам Bug bounty — это просто обязательно. Иначе можно получить не премию, а обвинение.
Что должен уметь пентестер
Пентестер — это одновременно «универсальный солдат» и узконаправленный специалист. Ему нужно обладать широкими знаниями во многих отраслях программирования и при этом глубокими навыками в одной или нескольких сферах.
В целом считается, что Junior-пентестер должен обладать следующими знаниями:
Также нужно научиться использовать программы для пентестинга вроде BurpSuite, SqlMap, Nmap, IP Tools и Acunetix.
Собственно, именно поэтому в пентестинг рекомендуют идти тем специалистам, у которых уже есть определенный бэкграунд в разработке или тестировании. Потому что даже для уровня Junior количество необходимых знаний просто огромно.
Где учиться на пентестера
И напоследок мы собрали несколько популярных ресурсов, на которых можно получить всю необходимую информацию для профессии пентестера:
Если вы хотите стать пентестером — путь открыт. Но вот стать хорошим пентестером, который зарабатывает десятки тысяч долларов в месяц, намного сложнее. Это уже больше похоже на искусство, а не на ремесло. Готовы к такому? Тогда вперед!
А промокод HABR даст вам получить дополнительные 10% к скидке указанной на баннере.
23 сайта для практики хакинга
Авторизуйтесь
23 сайта для практики хакинга
Для новичков, которые не знают с чего начать, мы представляем подборку сайтов, на которых можно приобрести и улучшить навыки хакинга.
Прим. перев. Приведённые ниже площадки доступны только на английском языке.
1.picoCTF
picoCTF — это площадка для изучения кибербезопасности. На ней будущие этичные хакеры могут обучаться и соревноваться в навыках взлома.
2.OVERTHEWIRE
OverTheWire подойдёт всем желающим изучить теорию информационной безопасности и применить её на практике независимо от своего опыта. Новичкам следует начать с задач уровня Bandit, поскольку они необходимы для дальнейшего решения других задач.
3.HACKING-LAB
Hacking-Lab предоставляют задачи CTF для European Cyber Security Challenge, но они также проводят на своей платформе регулярные соревнования, в которых может участвовать каждый. Просто зарегистрируйтесь, настройте vpn и выберите себе задачу по вкусу.
4.PWNABLE.KR
Данная площадка фокусируется на pwn-задачах, подобных CTF, суть которых заключается в поиске, чтении и отправке файлов-флагов, которые есть в каждой задаче. Для доступа к содержимому файлов вы должны использовать навыки программирования, реверс-инжиниринга или эксплуатации уязвимостей, прежде чем сможете отправить решение.
Задачи делятся на 4 уровня сложности: лёгкий — для новичков, средний, сложный и хардкор, где задачи требуют нестандартных подходов для решения.
IO — это варгейм от создателей netgarage.org, сообщества, в котором единомышленники делятся знаниями о безопасности, искусственном интеллекте, VR и многом другом. Было создано 3 версии варгейма: IO, IO64 и IOarm, из них всех IO является наиболее зрелой. Подключайтесь к IO через SSH и можете приниматься за работу.
6.SMASHTHESTACK
SmashTheStack состоит из 7 различных варгеймов: Amateria, Apfel (в настоящее время офлайн), Blackbox, Blowfish, CTF (в настоящее время офлайн), Logic и Tux. Каждый варгейм содержит множество задач, начиная от стандартных уязвимостей и заканчивая задачами на реверс-инжиниринг.
7.MICROCORRUPTION
Microcorruption представляет собой CTF, в котором вам нужно «зареверсить» вымышленные электронные блокирующие устройства Lockitall. Устройства Lockitall защищают облигации, размещённые на складах, принадлежащих вымышленной компании Cy Yombinator. На пути к краже облигаций вы познакомитесь с ассемблером, узнаете, как использовать отладчик, пошагово выполнять код, устанавливать точки останова и исследовать память.
8.REVERSING.KR
Здесь вы можете найти 26 задач для проверки ваших навыков взлома и реверс-инжиниринга. Сайт не обновлялся с конца 2014 года, но имеющиеся задачи по-прежнему являются ценными учебными ресурсами.
9.HACK THIS SITE
Hack This Site — бесплатный сайт c варгеймами для проверки и улучшения ваших навыков хакинга. Нам нём можно найти множество хакерских задач в нескольких категориях, включая базовые задачи, реалистичные задачи, приложения, программирование, фрикинг, JavaScript, форензику, стеганографию и т.д. Также сайт может похвастаться активным сообществом с большим каталогом хакерских статей и форумом для обсуждения вопросов, связанных с безопасностью. Недавно было объявлено, что кодовая база сайта будет пересмотрена, поэтому в ближайшие месяцы можно ожидать большие улучшения.
10.W3CHALLS
W3Challs — это обучающая платформа с множеством задач в различных категориях, включая хакинг, варгеймы, форензику, криптографию, стеганографию и программирование. Цель платформы — предоставить реалистичные задачи. В зависимости от сложности решённой задачи вы получаете баллы. Также есть форум, на котором можно обсуждать и решать задачи с другими участниками.
11.Hacker101 CTF
Hacker101 CTF — это игра Capture The Flag, классическая задача для хакеров, когда нужно получить доступ к системе, а затем найти флаг (который обычно является строкой). На сайте есть несколько уровней, а для застрявших существуют подсказки.
12.EXPLOIT EXERCISES
Exploit Exercises предлагает множество виртуальных машин, документацию и задачи, которые пригодятся в изучении повышения привилегий, анализа уязвимостей, разработки эксплойтов, отладки, реверс-инжиниринга и т.д.
13.RINGZER0 TEAM ONLINE CTF
RingZer0 Team Online CTF предлагает более 200 задач, которые позволят вам проверить навыки взлома по нескольким направлениям — от криптографии, анализа вредоносных программ до SQL-инъекции, шеллкодинга и многого другого. После того, как вы нашли решение задачи, вы можете отправить его RingZer0 Team. Если ваше решение будет принято, вы получите RingZer0Gold, которое можно обменять на подсказки во время решения задач.
14.HELLBOUND HACKERS
На Hellbound Hackers можно найти традиционные задачи с эксплойтами и такие форматы задач, которых нет на других ресурсах. Например, патчинг приложений и задачи, ограниченные по времени. В задачах с патчингом вам даётся уязвимый фрагмент кода и вам нужно предложить исправление этой уязвимости.
15.HACKINGLOOPS
HACKINGLOOPS — это сайт на котором вы найдёте множество туториалов по различным видам хакинга: от мобильных телефонов, до веб-сайтов. Также на сайте есть возможность пройти тесты для подготовки к сертификациям Security+.
16.HACK.ME
Hack.me представляет собой большую коллекцию уязвимых веб-приложений для применения навыков взлома на практике. Все приложения предоставляются сообществом и каждое из них можно запустить «на лету» в безопасной, изолированной песочнице.
17.HACKTHIS!!
HackThis!! состоит из 50+ задач разного уровня, за решение каждой из которых вы получаете определённое количество очков в зависимости от уровня сложности. Подобно Hack This Site, у HackThis!! также есть живое сообщество, многочисленные статьи и новости о хакинге, а также форум, на котором вы можете обсудить задачи и вопросы, связанные с безопасностью.
18.ENIGMA GROUP
Enigma Group содержит более 300 задач с акцентом на топ-10 эксплойтов OWASP. Сайт имеет почти 48000 активных участников и проводит еженедельные CTF-соревнования, а также еженедельные и ежемесячные конкурсы.
19.GOOGLE GRUYERE
Google Gruyere показывает, как можно эксплуатировать уязвимости веб-приложений и как от этого защититься. Вы сможете провести реальное тестирование на проникновение и фактически взломать настоящее приложение, используя атаки вроде XSS и XSRF.
20.GAME OF HACKS
Game of Hacks показывает вам набор фрагментов кода в виде викторины с несколькими вариантами выбора, а вы должны определить правильную уязвимость в коде. Этот сайт немного выделяется из этого списка, но тем не менее это хорошая игра для выявления уязвимостей в коде.
21.ROOT ME
Root Me — это сайт для хакинга, который предлагает более 200 задач и более 50 виртуальных сред, позволяющих вам применить на практике свои навыки взлома в различных сценариях. Это определённо один из лучших сайтов в данном списке.
22.CTFTIME
Хотя CTFtime не является хакерским сайтом, как другие в этом списке, это отличный ресурс, чтобы оставаться в курсе CTF-соревнований, происходящих по всему миру. Поэтому, если вы заинтересованы в присоединении к CTF-команде или участии в соревновании, вам стоит сюда заглянуть.
23.PENTESTERLAB
PentesterLab — это простой и удобный способ изучения пентестинга. Площадка предоставляет уязвимые системы, которые могут использоваться для тестирования и изучения уязвимостей. Вы на практике можете работать с реальными уязвимостями как онлайн, так и офлайн. Тем не менее онлайн-доступ открыт только тем, у кого есть подписка PentesterLab Pro, стоимость которой составляет 19.99$ в месяц или 199,99$ в год.