Как действуют хакеры, воруя ключи и пароли? / Хабр

Оглавление

▍что делать?

  • Минифицируйте код. Благодаря этому код обфусцируется. Подобная обработка кода обратима, но благодаря ей можно обойти многие автоматические сканеры, что уменьшает потенциальные возможности атаки.
  • Оставляйте в коде только абсолютный минимум ключей и путей к API. В то время как без некоторых из них обойтись не получится, о большинстве из них сказать того же самого нельзя. Оставляйте в коде только те ключи, которым совершенно необходимо в нём присутствовать.
  • Понизьте разрешения, связанные с ключами, до абсолютного минимума. Если вспомнить пример с сервисом картографической информации, то можно сказать, что ключи должны быть такими, чтобы с их помощью можно было бы делать только то, для чего они предназначены, и чтобы пользоваться ими можно было бы только там, где они должны использоваться. Удостоверьтесь в том, что эти ключи нельзя использовать для атаки на систему.
  • Используйте те же инструменты для автоматического сканирования кода, которые используют хакеры. Включайте их в системы непрерывной интеграции. Особенно это касается средств для поиска строковых паттернов, которые работают очень быстро. Используйте простые инструменты вроде grep или gf для поиска строк. Такая проверка кода сродни тестам. Она позволяет убедиться в том, что разработчики не оставляют в коде дыр, которыми может воспользоваться злоумышленник для взлома системы.
  • Внедрите у себя практику код-ревью. Всегда полезно, когда кто-то проверяет ваш код. Все автоматические сканеры мира не способны выявить 100% возможных проблем. Код-ревью — это отличный способ повышения качества и защищённости кода.

▍почему это происходит?

  • Компании не проверяют свои системы на предмет наличия в них уязвимостей.
  • Те компании, которые выполняют подобные проверки, обычно не обращают внимания на общедоступные учётные записи своих сотрудников.
  • Те компании, которые проверяют и свои системы, и учётные записи сотрудников (а таких, по грубым оценкам, менее 1%), часто слишком сильно полагаются на автоматические сканеры и не проверяют историю коммитов (то есть — анализируют не всё дерево git, а лишь то, что лежит на поверхности, представленное самой свежей версией кода).
  • И наконец, достаточно часто компании не выполняют ротацию ключей и не применяют двухфакторную аутентификацию. Два этих приёма способны закрыть большинство вышеупомянутых брешей систем безопасности.

▍основы использования особых поисковых запросов в github

Существует такое понятие, как «дорки» («dorks») — особые поисковые запросы, использующие различные возможности поисковых систем для нахождения того, что имеет отношение к определённым данным.

Как стать хакером: гайд по основам для новичков

Хакерство — это поиск уязвимостей в сети или компьютере с целью получения доступа. Стать хакером непросто, и в этой статье мы затронем основы.

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

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

Чтобы стать хакером, вам нужно:

Изучить и использовать UNIX-систему, например, Ubuntu или MacOS

Изначально UNIX-системы были предназначены для программистов, разрабатывающих ПО, а не для пользователей, которые никак не относятся к сфере IT. UNIX-системы — это системы, на которых стоит почти весь Интернет, т. к. в качестве сервера в основном используют их же (чаще всего Debian и Ubuntu). Вы не можете стать хакером, не изучив их и не научившись работать с терминалом.

Для пользователей Windows

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

1. Изучите VirtualBox (программа-эмулятор для операционной системы). Изучив его, вы сможете запускать операционную систему в операционной системе. Звучит страшно, но программа бывает очень полезна.

2.Установите Linux рядом с Windows. Если вы всё сделаете правильно, загрузчики систем не будут конфликтовать. Делается это довольно просто: есть много мануалов в Интернете.

Изучить язык разметки HTML

Если вы ещё не знакомы с программированием, тогда я вообще не понимаю, что вы делаете на этом сайте тогда у вас есть отличная возможность начать свой путь с изучения Hyper Text Mark-Up Language. Независимо от того, что вы видите на сайте, знайте, что всё это HTML.

Приведу пример использования HTML, пусть он и немного связан с PHP. В начале 2022 года была обнаружена уязвимость в теме WordPress, позволяющая закачивать производные (исполнительные) файлы на сервер. Файл, в котором была найдена уязвимость — admin/upload-file.php. Вот он:

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

Итак, знание HTML нужно для того, чтобы:

1.Искать уязвимости веб-ресурсов.

2.Использовать эти уязвимости.

Изучить несколько языков программирования

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

Python : это, пожалуй, самый лучший язык для веб-разработки. На нём написаны два крупных фреймворка, на которых создано огромное кол-во веб-приложений, это Flask и Django. Язык хорошо построен и задокументирован. Самое главное, что его очень просто выучить. К слову, много разработчиков используют Python для создания простой и полной автоматизации.

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

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

SQL : самое интересное. Все пароли, личные данные, хранятся в базах данных, написанных на SQL. Самая распространённая система управления БД — MySQL. Чтобы понять, как использовать MySQL-инъекцию, нужно знать, что такое MySQL-инъекция. Чтобы уловить суть MySQL-инъекции, нужно знать, что такое MySQL-запросы, каков синтаксис этих запросов, каково устройство базы данных, как хранятся данные, что такое таблицы и т. д.

Изучить устройства сетей

Вы должны чётко понимать устройства сетей и принципы их работы, если хотите стать хакером. Важно понять, как создаются сети, понять различие между протоколами TCP/IP и UDP и проч. Узнайте, какой сетью пользуетесь вы. Научитесь настраивать её. Выясняйте возможные векторы атаки.

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

Изучить криптографию

Это неотъемлемая часть обучения. Необходимо понимать алгоритмы различных шифров, например, SHA-512, алгоритм OpenSSL и проч. Также нужно разобраться с хешированием. Криптография используется везде: пароли, банковские карты, криптовалюты, торговые площадки и проч.

Kali Linux: некоторый полезный софт

NMAP :– Nmap (“Network Mapper”) бесплатная open-source программа, которая является предустановленной в Kali. Написана Gordon Lyon (также известен под псевдонимом Fyodor Vaskovich). Она нужна для обнаружения хостов и различных сервисов, создавая таким образом «карту сети». Она используется для проверки сети или аудита безопасности, для быстрого сканирования больших сетей, хотя она отлично работает с одиночными хостами. Программное обеспечение предоставляет ряд функций для исследование компьютерных сетей, включая обнаружение узлов и операционной системы. Nmap использует необработанные IP-пакеты чтобы определить, какие хосты доступны в сети, какие службы (имя и версия приложения) эти хосты предлагают, какие ОС они запускают, какие типы фильтров пакетов/файрволлы используют, а также десятки других характеристик.

Aircrack-Ng :– Aircrack — это одна из самых популярных программ для взлома WEP/WPA/WPA2 протокола. Комплект Aircrack-ng содержит инструменты для захвата пакетов и «рукопожатий», деавторизации подключённых пользователей, создания трафика и инструментов для брутфорса сети и атак по словарю.

Заключение

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

▍архив интернета — это не единственное место, где можно найти ключи

Старый код даёт злоумышленникам самую разную интересующую их информацию.

▍меры по снижению рисков, связанных с github

  • Сделайте сканирование кода на предмет уязвимостей частью CI-процесса. В этом вам может помочь отличный инструмент GitRob.
  • Сканируйте репозитории сотрудников компании. GitRob выполняет подобные проверки без дополнительных настроек. Для того чтобы это отключить, можно запустить его с флагом no-expand-orgs.
  • Проверяйте историю репозиториев. GitRob, по умолчанию, сканирует 500 коммитов, но вы можете решить пойти ещё дальше, воспользовавшись параметром вида -commit-depth <#number>.
  • Включите на GitHub двухфакторную аутентификацию!
  • Выполняйте, во всех без исключения системах, ротацию ключей доступа, секретных ключей, паролей. Рекомендуется использовать централизованную систему доступа к другим системам наподобие G Suite или Active Directory. Нужно обеспечить применение в подобной системе политик безопасности, касающихся ротации и сложности паролей.
Читайте также  Как написать хороший пост «О себе» в соцсетях? | Ника Зебра, персональный PR-менеджер

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

PicoCTF

picoCTF — это площадка для изучения кибербезопасности. На ней будущие этичные хакеры могут обучаться и соревноваться в навыках взлома.

.W3CHALLS

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

.Hacker101 CTF

Hacker101 CTF — это игра Capture The Flag, классическая задача для хакеров, когда нужно получить доступ к системе, а затем найти флаг (который обычно является строкой). На сайте есть несколько уровней, а для застрявших существуют подсказки.

.EXPLOIT EXERCISES

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

.RINGZER0 TEAM ONLINE CTF

RingZer0 Team Online CTF предлагает более 200 задач, которые позволят вам проверить навыки взлома по нескольким направлениям — от криптографии, анализа вредоносных программ до SQL-инъекции, шеллкодинга и многого другого.

.HELLBOUND HACKERS

На Hellbound Hackers можно найти традиционные задачи с эксплойтами и такие форматы задач, которых нет на других ресурсах. Например, патчинг приложений и задачи, ограниченные по времени. В задачах с патчингом вам даётся уязвимый фрагмент кода и вам нужно предложить исправление этой уязвимости.

.HACKINGLOOPS

HACKINGLOOPS — это сайт на котором вы найдёте множество туториалов по различным видам хакинга: от мобильных телефонов, до веб-сайтов. Также на сайте есть возможность пройти тесты для подготовки к сертификациям Security .

.HACK.ME

Hack.me представляет собой большую коллекцию уязвимых веб-приложений для применения навыков взлома на практике. Все приложения предоставляются сообществом и каждое из них можно запустить «на лету» в безопасной, изолированной песочнице.

.HACKTHIS!!

HackThis!! состоит из 50 задач разного уровня, за решение каждой из которых вы получаете определённое количество очков в зависимости от уровня сложности. Подобно Hack This Site, у HackThis!! также есть живое сообщество, многочисленные статьи и новости о хакинге, а также форум, на котором вы можете обсудить задачи и вопросы, связанные с безопасностью.

.ENIGMA GROUP

Enigma Group содержит более 300 задач с акцентом на топ-10 эксплойтов OWASP. Сайт имеет почти 48000 активных участников и проводит еженедельные CTF-соревнования, а также еженедельные и ежемесячные конкурсы.

.GOOGLE GRUYERE

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

OVERTHEWIRE

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

.GAME OF HACKS

Game of Hacks показывает вам набор фрагментов кода в виде викторины с несколькими вариантами выбора, а вы должны определить правильную уязвимость в коде. Этот сайт немного выделяется из этого списка, но тем не менее это хорошая игра для выявления уязвимостей в коде.

.ROOT ME

Root Me — это сайт для хакинга, который предлагает более 200 задач и более 50 виртуальных сред, позволяющих вам применить на практике свои навыки взлома в различных сценариях. Это определённо один из лучших сайтов в данном списке.

.CTFTIME

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

.PENTESTERLAB

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

Перевод статьи «23 Hacking Sites, CTFs and Wargames To Practice Your Hacking Skills»

HACKING-LAB

Hacking-Lab предоставляют задачи CTF для European Cyber Security Challenge, но они также проводят на своей платформе регулярные соревнования, в которых может участвовать каждый. Просто зарегистрируйтесь, настройте vpn и выберите себе задачу по вкусу.

PWNABLE.KR

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

Задачи делятся на 4 уровня сложности: лёгкий — для новичков, средний, сложный и хардкор, где задачи требуют нестандартных подходов для решения.

SMASHTHESTACK

SmashTheStack состоит из 7 различных варгеймов: Amateria, Apfel (в настоящее время офлайн), Blackbox, Blowfish, CTF (в настоящее время офлайн), Logic и Tux. Каждый варгейм содержит множество задач, начиная от стандартных уязвимостей и заканчивая задачами на реверс-инжиниринг.

MICROCORRUPTION

Microcorruption представляет собой CTF, в котором вам нужно «зареверсить» вымышленные электронные блокирующие устройства Lockitall. Устройства Lockitall защищают облигации, размещённые на складах, принадлежащих вымышленной компании Cy Yombinator.

REVERSING.KR

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

HACK THIS SITE

Hack This Site — бесплатный сайт c варгеймами для проверки и улучшения ваших навыков хакинга. Нам нём можно найти множество хакерских задач в нескольких категориях, включая базовые задачи, реалистичные задачи, приложения, программирование, фрикинг, JavaScript, форензику, стеганографию и т.д.

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

Advanced penetration testing: hacking the world’s most secure networks

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

Hacking: the art of exploitation

Джон Эриксон написал книгу «Hacking: The Art of Exploitation», которая научит вас основам программирования на C с точки зрения хакера. Вы также познакомитесь с тактиками взлома, такими как переполнение буферов и захват сетевых подключений, узнаете об обходе мер безопасности, использовании уязвимостей и т. д.

Mastering hacking (the art of information gathering & scanning)

Харш Ботра посвятил книгу «Mastering Hacking» тестированию на проникновение. Он также охватил стратегии поиска уязвимостей и другие актуальные для интересующихся кибербезопасностью темы. Цель книги – представить лучшие практики и методы в простом формате, поэтому материал будет полезен не только техническим специалистам.

The basics of hacking and penetration testing

Патрик Энгебретсон написал «The Basics of Hacking and Penetration Testing». Он предназначен для ознакомления с процедурами, необходимыми для проведения теста на проникновение, чтобы выполнить этический взлом от начала до конца. Книга учит студентов, как использовать и анализировать хакерские инструменты, необходимые для выполнения теста на проникновение. Каждая глава в этой книге предлагает примеры и упражнения, призванные научить читателей оценивать и применять результаты.

Надеюсь, мой список показался вам полезным. Успешных взломов и не нарушайте закон – в этом нет никакой необходимости. Удачи!

The web application hacker’s handbook: finding and exploiting security flaws

Книга Даффида Статтарда и Маркуса Пинто рассказывает о многих современных технологиях, используемых в веб-приложениях. Она научит вас сложным техникам хакерских атак с упором на клиентскую сторону. В книге также рассматриваются новые платформы удаленного взаимодействия, HTML5, подходы к междоменной интеграции, исправление пользовательского интерфейса, блокировка фреймов, атаки на гибридные файлы и другие интересные темы. Это самая свежая публикация по теме выявления, использования и исправления уязвимостей онлайн-приложений.

Востребованность белых хакеров

Тысячи организаций (в том числе General Motors, GitHub, Lufthansa, Nintendo, Spotify и Starbucks) сотрудничают с мировым сообществом белых хакеров. На платформе HackerOne за последний год была организованы тысяча клиентских программ, победителями получены награды на сумму 23 млн долл.

Девять хакеров заработали суммарно более 1 млн долл. Средняя суммарная выплата сертифицированному этичному хакеру составляет 82 тыс. долл. в год. Отдельные багхантеры на платформах Bug Bounty зарабатывают до 50 тыс. долл. в месяц.

Где прокачать навыки белого хакинга

Capture the Flag (CTF). Участники CTF-соревнований ищут «флаг», который служит доказательством взлома системы. Соревнования по захвату флага – отличный способ научиться взламывать киберсистемы. Обычно на CTF отводится ограниченное время и в захвате флага участвуют только зарегистрированные команды.

CTF для веб-эксплуатации. Pentesterlab – отличный ресурс, чтобы начать изучать веб-тестирование на проникновение. На Hacker101 CTF представлен список задач, направленных на развитие навыков веб-взлома. Решая их, можно познакомиться с большинством уязвимостей программ bug bounty – вознаграждений за найденные ошибки.

Реверс-инжиниринг. Потренироваться в обратном инжиниринге (англ. reverse engineering) можно на сайте Crackme, хранящем множество программ, которые можно попытаться взломать.

Смешанные CTF. OverTheWire – сайт для новичков в IT, на котором обучение начинается с основ командной строки и базовых навыков программирования. Далее предлагается широкий спектр задач на выбор: веб-безопасность, двоичные файлы, реверс-инжиниринг.

Живые CTF. Если вы хотите поучаствовать в живом CTF или CTF в стиле «Атака и защита», посетите CTFtime.org и посмотрите список текущих и предстоящих событий.

Платформы Bug Bounty. Bug Bounty – это вознаграждение, выплачиваемое разработчикам, обнаружившим критические недостатки в программном обеспечении. Наградой служат деньги, оборудование компании или просто место в «Зале славы».

Поиск уязвимостей может проводиться на базе компании или на специализированной платформе. Одна из самых известных – Hackerone.

Как приобрести хакерские навыки

Помогайте поддерживать работу инфраструктуры.

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

Читайте также  Неиспользуемые счета в банках: как через Госуслуги узнать, в каких открыты

[12]

Карьера этичного хакера

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

В предыдущей статье мы обсуждали задачи ИБ, одной из которых был тест на проникновение или пентест. Большинство этичных хакеров также тестируют системы на проникновение, но ищут и другие возможные слабые места: сканируют открытые и закрытые порты с помощью инструментов Nessus и NMAP; используют методы социальной инженерии; обходят системы обнаружения и предотвращения вторжений; прослушивают сети, взламывают беспроводные каналы шифрования; захватывают веб-серверы и веб-приложения.

Ответственность за нелегальный хакинг

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

Юридическая справка

Уголовный кодекс Российской Федерации категорически запрещает попытки взлома чужой инфраструктуры. По статьям

272

,

273

,

274

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

странице-карте

межправительственной организации

ЮНКТАД

.

Хакеры анализируют информацию из прошлого, пользуясь интернет-архивами

(известный ещё как «Wayback Machine») хранит периодически создаваемые снимки веб-сайтов. Этот проект позволяет увидеть то, каким был интернет многие годы тому назад. Данные архива представляют немалый интерес для хакеров, которым нужно собрать сведения о некоем проекте. Сканировать файлы старых вариантов веб-сайтов можно с помощью инструментов наподобие

(он основан на

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

Вот что нужно сделать в том случае, если вы нашли ключ там, где его быть не должно:

  1. Создайте ключ, предназначенный для замены скомпрометированного ключа.
  2. Выпустите новую версию кода, в которой используется новый ключ. Этот код должен быть переписан так, чтобы в нём не было бы строк, позволяющих легко идентифицировать ключ.
  3. Удалите или деактивируйте старый ключ.

Хакеры используют google

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

"MySQL_ROOT_PASSWORD:" "docker-compose" ext:yml

Эта строка рассчитана на поиск файлов с расширением

yml

, причём, это должны быть файлы

docker-compose

, в которых разработчики нередко хранят пароли. Не особенно уникальные пароли. Попробуйте запустить в Google поиск по этой строке. Вас удивит то, что вы найдёте.

Другие интересные поисковые строки могут быть рассчитаны на поиск RSA-ключей или учётных данных AWS. Вот ещё один пример:

"-----BEGIN RSA PRIVATE KEY-----" ext:key

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

, если хотите поэкспериментировать, большой список Google-дорков.

Хакеры находят секретные данные в javascript-файлах

Ключи к API разбросаны по всему интернету. Воспользоваться ими может кто угодно. Это — факт. Часто у того, что ключи оказываются в общем доступе, нет каких-то особых причин. Разработчики просто повсюду их забывают. Например, ключи попадают в код по следующим причинам:

Блоки кода, напоминающие следующий, можно встретить в интернете довольно часто:

// DEBUG ONLY
// TODO: remove -->
API_KEY=t0psecr3tkey00237948

Хотя многие хакеры самостоятельно читают код JavaScript-файлов, такие файлы, в основном, ищут с помощью инструментов вроде

, а потом проверяют то, что нашли, на наличие там соответствующих паттернов.

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

Она называется gf и представляет собой улучшенный вариант grep. В данном случае использование при запуске gf опции truffleHog или, в другом варианте её написания, trufflehog, позволяет инструменту находить высокоэнтропийные строки, представляющие собой ключи к API.

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

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

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

Хакеры пользуются github

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

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

Список сотрудников организации можно создать, воспользовавшись методами разведки, основанной на открытых источниках (Open source intelligence, OSINT). Помочь в этом злоумышленнику может LinkedIn или общедоступный список сотрудников компании с GitHub.

Если, например, кто-то решил взломать компанию Tesla, то он вполне может начать изучение компании с этой страницы:

Хакеры тщательно изучают интересующие их системы

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

Не очень хороший подход к защите API заключается в том, чтобы усложнять пути доступа к ним, скрывать их с использованием чего-то вроде генератора случайных символов. Это не заменяет реальных механизмов обеспечения безопасности. Исследователи безопасности пытаются найти незащищённые пути доступа к системам, конечные точки API, например, пользуясь инструментами для «нечёткого» поиска уязвимостей.

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

Помните о том, что «безопасность через неясность» («security through obscurity») — это не лучший способ защиты систем (хотя полностью игнорировать его не стоит).

Хакинг может быть этичным?

Хакинг – это выявление уязвимостей системы для получения доступа к её слабым местам. Хотя сейчас слово «хакер» ассоциируется с киберпреступниками, идея этичного хакинга появилась намного раньше.

В 1960-х годах студенты Массачусетского Технологического Института термином hacking обозначали поиск способов оптимизации систем и машин для их эффективной работы. Но в 1980-х и 1990-х годах хакерами стали называть и преступников в сфере информационной безопасности.

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

В результате поиска компаниями адекватной защиты получил распространение этичный взлом – тестирование безопасности компьютерных систем. В отличие от черных шляп этичный хакер (White Hat Hacker) действует по предварительной договоренности и документирует процесс взлома.

Итоги

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

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

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

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

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

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

Как вы защищаете свои системы?

Заключение

Этичный взлом – прибыльное направление для тех, кто хочет развиваться в области ИБ. Можно неплохо зарабатывать, даже не имея формального образования и постоянного места работы. Но для успешной карьеры этичного хакера нужны продвинутые навыки программирования и глубокие знания в ИБ. Овладеть ими самостоятельно непросто – лучше записаться на практический курс по информационной безопасности.

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

Понравилась статья? Поделиться с друзьями:
ТВОЙ ВК
Добавить комментарий

Adblock
detector