Код для взлома или как что-нибудь взломать

Разговор пойдет о хакерстве и о том, как взломать что-либо (пароль, аккаунт, страницу, сайт, телефон). Код для взлома – на самом деле это не так и сложно. Вскрыть сайт или телефон – это доступно даже простым пользователям. Не верите? Попробуйте сами.
Представляем Вашему вниманию Обзор лучших шпионских приложений для смартфонов Андроид . Здесь Вы увидите самые лучшие программы для слежения, которые позволят не просто так взломать что-либо или кого-либо, а конкретно нужное устройство конкретного человека (мужа, жены, ребенка, друга, подруги).
Сейчас речь идет о хакерстве и о том, где можно найти код для взлома и как взломать страницу без установки специализированных программ…
Как взломать что-либо простому человеку…
А что делать простым смертным, которым тоже нужно знать, как что-нибудь взломать – сайт, например, или аккаунт, телефон или компьютер друга или подруги. Вот для этого и существует масса обычных программ для слежения.
Благодаря этим программам Вы сможете проникнуть внутрь устройства без всякого кода для взлома, без создания страниц или муторного подбирания пароля.
Скачать программу слежения можно здесь >>
Скачать руководство по установке можно здесь >>
Как можно взломать пароль…
Вскрытие сайтов происходит в подавляющем своем большинстве через взлом пароля. Абсолютно на любом сайте пароли не хранятся в виде букв и цифр, как это происходит с логинами, адресом электронной почты и других данных. Пароль хранится, в так сказать, зашифрованном виде. Но это не простое шифрование, которое можно расшифровать – это хеширование.
Хеширование – это необратимый процесс, делающийся только в одну сторону. Т.е. можно пароль зашифровать, но нельзя расшифровать (перевести обратно в символы). Именно хеширование не дает простым пользователям понять, как вскрыть сайт через взлом пароля.
Для наглядности приведем пример. Вы решили зарегистрироваться на Фейсбуке. Вы придумываете себе логин (имя, никнейм), пароль, указываете свой возраст, существующую почту или номер телефона, к которым будет привязана данная страничка.
После регистрации все Ваши данные попадают в базу данных сайта и сохраняются вот в таком виде:

Если предположить, что хакеры взломали сайт и завладели данными пользователей, то они всё равно не смогут ими воспользоваться, так как пароль скрыт. И после хеширования выйдет на сам пароль, а его хеш (например, пароль имеет вид 12345, а его hash 827ccb0eea8a706c4c34a16891f84e7b).
Другими словами – заиметь данные серверной базы сайта – это еще полдела, нужно теперь расшифровать пароль. Именно поэтому, самая сложная проблема – узнать пароль! Так как остальные данные можно узнать и у самого человека.
Что будут делать хакеры…
Так как хакеры ломают сайты? Они будут переводить хеш (эти бесконечные буквы-цифры вместо пароля) в нормальный вид. Но, как мы уже знаем, хеширование это односторонняя функция.
Вариант 1. Радужные таблицы и базы паролей
Вот для этого и существуют различные таблицы и огромные базы данных возможных хешированных паролей. И хакеры это знают и они знают как хакнуть сайт – нужно запустить в поиск хеш пароля и подождать, когда таблица найдет идентичный. На это уйдет от силы 3 минуты. Но… чем сложнее будет у Вас пароль, тем сложнее его будет отыскать и подобрать в этих таблицах. И здесь уже речь будет идти о месяцах поиска.
Внимание! В таких «радужных таблицах» находятся только самые используемые пароли. Если у Вас действительно уникальный пароль, все эти базы данных с их миллиардами возможных вариантов, будут бесполезными.
Вариант 2. Брутофорс
Этот метод тоже поможет понять, как сайт сломать. Брутофорс – это своего рода перебор всех возможных вариантов паролей, конкретно для каждого аккаунта.
Чтобы было проще понять, можно представить себе документ, где написаны самые разные пароли и их хеши. Хакер, сравнивает возможный пароль данного аккаунта и сравнивает хеш, который он видит в базе сервиса данной соцсети. Если они совпали – всё, код для взлома сайта успешно найден и Вы теперь можете заходить спокойно на страничку.
В список возможных паролей, для того чтобы ломать сайты входит:
- девичья фамилия хозяйки (если нужно хакнуть аккаунт подруги);
- номер телефона;
- Ф.И.О;
- дата рождения хозяина страницы;
- дата рождения детей;
- клички питомцев;
- майл почты;
- простой набор последовательных цифр или букв;
- стандартные слова;
- и т.д.
Чем больше известно личной информации о хозяине аккаунта, тем быстрее подберется нужный пароль, чтобы вскрыть сайт.
А как же службы безопасности…
Служба безопасности сервисов тоже не лыком сшиты и они прекрасно знают как хакеры ломают сайты – хеширование и брутофорс – это давно известные методы взлома.
И поэтому, чтобы наиболее затруднить вскрытие сайтов они уже давно используют метод Salting (соление). Если простыми словами, то на пути хеширования пароля сначала его солят другими символами. У каждого сервиса своя «соль».
Например, соль какого-то сервиса f&2p. Значит все пароли, которые будут сохранены на данном сервисе, будут перед хешированием разбавляться (солиться) этими символами:
Как видите: хеш чистого пароля и хеш прошедшего Salting – это абсолютно разный набор символов. И получается, что даже самый легкий пароль в некоторых сервисах взломать не возможно. Так как «вытащить соль» из пароля невозможно.
Однако если пароль человека ни основан на событии из его жизни, а является набором цифр и букв в случайном порядке, то путем брутофорса подобрать пароль невозможно.
Фишинг – уникальный и безотказный взлом сайтов
Так как ломануть сайт через подбор паролей является задачей не из легких, а если пароль сложный, то и практически невыполнимый, хакеры используют еще один метод – создание фишинговой страницы.
Кстати, этим способом пользуются 90% хакеров, которые хотят взломать что-либо. Да и простые люди, у которых есть хоть какие-то знания по программированию, также используют данный 100% метод по взлому страниц (аккаунтов, сайтов) путем выуживания пароля.
Шаг 1. Готовим удочку с крючком (ведь фишинг — это рыбалка)
Фишинговая страница – это поддельная страница для входа в социальную сеть – полная ее копия за исключением одного – все введенные пароли и логины остаются в первоначальном виде и не поддаются хешированию. Это идеальный метод узнать пароль чужого человека, так как ломать сайты по вышеописанным методам смогут только реальные хакеры с углубленными знаниями программирования.
Узнать фишинговую страницу можно по незаметному символу, которого нет в реальной входной странице:
Входная страница Вконтакте

Входная страница Insagram

Входная страница Одноклассников

Видите, разница всего в одну букву, которая не сильно бросается в глаза. А года 3 назад, адрес сайтов был длинным и тогда фишинговую страницу практически не возможно было увидеть. Это совсем недавно адреса сделали предельно простыми и краткими. Так, например, у социальной сети Одноклассники был адрес www.odnoklassniki и конечно же внедрить незаметно букву было гораздо проще. А сейчас ее адрес стал www.ok. Опять же, служба безопасности не спит…
Шаг 2. Разбрасываем приманку
Для того чтобы не искать какой-то секретный код для взлома, вы включаете всю свою смекалку, чтобы завлечь человека на свою ложную входную страницу. Либо кидаете дружбу, начинаете общаться, ставить лайки, а потом просите пройти по этой ссылке куда-нибудь, куда ему интересно (вкусный рецепт, интересный тест или что интересует его).
Либо пишите письмо на почту, типа того, что если Вы не пройдете по этой ссылке, то будет то-то и то-то. Или, Ваш аккаунт заблокирован, для подтверждения, что вы его хозяин пройдите по этой ссылке и введите свой логин и пароль.
Шаг 3. Начинается непосредственно рыбалка
Терпеливо ждете, когда человек пройдет по ссылке. Как только он ввел туда свой логин и пароль – всё – для Вас рыбалка закончена. Вы смогли сайт сломать – Вы знаете логин и пароль.
Вот как можно узнать логин и пароль без кода для взлома. Но, как Вы уже поняли, это способы подходят исключительно для людей, владеющими навыками в программировании.
И напоследок…
P.S.Только учтите, что любой взлом — это нарушение закона о тайне личной жизни (перехват чужих переписок, отслеживание маршрута, просмотр личных фотографий, прослушивание телефонных разговоров и т.д.). Поэтому, перед тем как что-нибудь взломать подумайте — оно Вам действительно нужно?
P.P.S. Человек, страницу которого Вы хотите взломать, может подать на Вас в суд. и как показывает практика, на сегодняшний день такие дела реально выигрываются, а взломщика может ожидать либо солидный денежный штраф, либо реальное тюремное заключение.
Если у Вас возникнут вопросы – сразу пишите консультантам!
Как именно хакеры взламывают аккаунты в социальных сетях.

Многие занимаются этим, чтобы испытать свои навыки, другие ищут материальную выгоду. Причём далеко не всегда приходится что-то взламывать. Сколько бы ни появлялось статей о том, как важно подбирать надёжный пароль, культура интернет-безопасности в целом остаётся низкой. Пользователи интернета выбирают одни и те же незамысловатые кодовые слова для разных сайтов, переходят по подозрительным ссылкам из спама и принципиально отказываются от менеджеров паролей. Обычно злоумышленники пользуются следующими методами:
Пользователя заманивают на сайт, который выдаёт себя за настоящий, и предлагают ввести пароль, который «утекает» к злоумышленникам;
2. ЗЛОВРЕДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (MALWARE).
Такое ПО размещают на взломанных сайтах или засылают на недостаточно защищённые системы;
3. СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ.
Иногда пароль удаётся подсмотреть, а особо доверчивые пользователи могут сообщить его злоумышленнику сами: на этом выстроен целый пласт системы интернет-мошенничества;
4. ПОДБОР ПАРОЛЯ.
Обладая информацией о пользователе, которую легко найти в социальных сетях, можно попробовать угадать пароль. Также можно автоматом перебрать огромное количество вариантов, воспользовавшись ассоциативной базой данных или техникой словарной атаки, когда несловесные комбинации исключаются, а словесные модифицируются так, как любит большинство — заменяя буквы на похожие цифры.
«ЧАЩЕ ВСЕГО ВЗЛОМЩИКАМ НЕ НУЖНО ПОДБИРАТЬ ПАРОЛЬ — ОНИ ДЕЙСТВУЮТ ДРУГИМИ МЕТОДАМИ.
У крупных сайтов почти всегда работает эффективная защита от перебора, которую можно обойти, лишь имея очень крупную сеть ботов (подконтрольных компьютеров) и растягивая атаку на многие месяцы, но никак не вручную.
ФИШИНГ НЕРЕДКО ОРГАНИЗОВАН ВЕСЬМА УТОНЧЁННО.
Введённый пароль не только «утекает» к злоумышленникам, но и используется для аутентификации на настоящем сайте — например, с помощью JavaScript. Таким образом, с точки зрения пользователя ничего страшного не происходит: он вводит пароль и оказывается в своей привычной ленте друзей или в почтовом ящике.
Зловредное ПО оказывается на компьютере пользователя разными способами. Если злоумышленники не занимаются целевой атакой на конкретного человека, а стремятся заразить наибольшее число компьютеров (а это более распространённая тактика среди «традиционных» компьютерных преступников), то они предпочитают получить доступ к популярным сайтам и внедрить в них зловредный код. Посещение такого сайта с компьютера, где не установлены последние обновления безопасности, антивирус или браузер, который умеет предупреждать о заражённых сайтах, может привести к его заражению и попаданию под полный контроль атакующих.
САМЫМИ ПРИВЛЕКАТЕЛЬНЫМИ ДЛЯ ЗЛОУМЫШЛЕННИКОВ ЧАСТО СТАНОВЯТСЯ НЕ САМИ ПОПУЛЯРНЫЕ САЙТЫ, А РАЗЛИЧНЫЕ ИНСТРУМЕНТЫ НА НИХ.
Например, это могут быть рекламные сети, подключаемые библиотеки JavaScript, различные API (интерфейсы программирования приложений) социальных сетей и тому подобное. Злоумышленники могут даже не взламывать такие сайты, а использовать их возможности по загрузке пользовательского контента: например, рекламная сеть может позволить загрузить flash-ролик. Тогда, если им удаётся обойти проверки на безопасность, их зловредный контент будет показан в ходе обычной работы сайта. Такое недавно произошло с рекламной сетью Yahoo!: через неё раздавали Magnitude Exploit Kit. А в России многие помнят инцидент с сайтом одной из компаний крупной банковской группы, на котором тоже был обнаружен зловредный код.
Когда речь идёт о направленных атаках — таких, где жертва является публичным лицом или имеет доступ к важной информации, — может использоваться механизм, называемый watering hole. Жертву заманивают на знакомый ему сайт, но иными методами. Допустим, он может подключиться к публичной сети Wi-Fi, которую контролирует злоумышленник. В ней пользователя автоматически направляют на фишинговый сайт, похожий на привычную соцсеть, или просто сайт со зловредным кодом, который, например, может быть размещён на приветственной странице входа в сеть Wi-Fi. Всё чаще злоумышленники начинают использовать ненастоящие страницы-заглушки в контролируемых сетях Wi-Fi: российские пользователи уже привыкли видеть надпись «Сайт заблокирован по требованию властей» и не подозревают, что вместе с его показом устанавливается вредоносное ПО.
НЕОПЫТНЫЕ ПОЛЬЗОВАТЕЛИ ДОВОЛЬНО ЧАСТО ИСПОЛЬЗУЮТ ОДИН И ТОТ ЖЕ ПАРОЛЬ НА НЕСКОЛЬКИХ САЙТАХ ИЛИ В НЕСКОЛЬКИХ ПРОГРАММАХ.
В этом случае, взломав одну базу данных с паролями или украв пароль от одного сайта, атакующий получает доступ и к другому, возможно, более ценному ресурсу. Помимо самого взлома аккаунта, возможны ситуации, когда пароль не скомпрометирован, но злоумышленники всё равно имеют возможность действовать от лица пользователя. Наверняка многие сталкивались с возможностью «войти на сайт», используя Facebook, Twitter или «ВКонтакте». Нажимая на такую кнопку, пользователь оказывается на странице социальной сети, где у него спрашивают, доверяет ли он этому стороннему сайту. Иногда среди действий, которые просит разрешить сторонний сайт, оказывается и публикация новых сообщений от имени пользователя. В результате злоумышленникам необязательно взламывать, например, твиттер, чтобы публиковать твиты.
ИНОГДА ХАКЕРЫ ПОЛЬЗУЮТСЯ ОШИБКАМИ ИЛИ НЕДОРАБОТКАМИ НА САЙТАХ.
Так, некоторое время назад была опубликована уязвимость в Twitter: защита от перебора не была включена в API Firehorse — метода, используемого партнёрами Twitter для получения больших объёмов твитов. Я не уверен, закрыта ли уязвимость в настоящий момент, но эта история иллюстрирует возможность ошибок разработчиков, всё-таки позволяющих атакующим эффективно перебирать пароли. Я считаю, что здесь можно говорить не о неэффективном алгоритме, который удалось обойти хитрым злоумышленникам, а об ошибке администрирования, из-за которой алгоритм просто не работал.
В СОВРЕМЕННОМ МИРЕ ЛОГИН ОТ СОЦИАЛЬНОЙ СЕТИ МОЖЕТ БЫТЬ ВАЖНЕЕ ПОЧТОВОГО. Почтовые системы накопили большой опыт борьбы со злоумышленниками, а пользователи проводят в интерфейсе социальной сети больше времени, чем в почте. Поэтому всё зависит от ситуации: если злоумышленник атакует платформу, завязанную на электронную почту для восстановления пароля, взлом почтового ящика может показаться предпочтительным (маловероятно, что он будет делать это напрямую — перебор паролей в настоящее время эффективен только для небольших сайтов). Однако социальная сеть может быть ценной сама по себе, а атака на электронную почту может оказаться дороже атаки на социальную сеть, телефон или компьютер пользователя. Само собой, разумный атакующий выберет наиболее доступную цель.
Если вы не глава правительства государства, важно, чтобы ваш пароль был достаточно сложным, для того чтобы злоумышленники выбрали себе другую цель. Но если вы владеете важной информацией или просто известная личность, всегда лучше, чтобы среди людей, защищающих вас, были не только меткие стрелки, но и опытный специалист в области информационной безопасности».
Как действуют хакеры, воруя ключи и пароли?
Я занимаюсь поиском уязвимостей в различных системах безопасности. В определённый момент мне стало понятно, что мои клиенты недостаточно хорошо знакомы (если вообще знакомы) с базовыми приёмами «хакинга». Ключи к API, пароли, SSH-ключи, сертификаты — всё это отличные механизмы защиты. Но это так до тех пор, пока их держат в секрете. После того, как подобные данные оказываются доступными тем, у кого доступа к ним быть не должно, оказывается, что сложность паролей и продвинутость алгоритмов хеширования уже значения не имеют. В этом материале я хочу рассказать о концепциях, методах и инструментах, применяемых исследователями систем безопасности для нахождения секретных данных. Такие данные используются для взлома систем. Я, кроме того, расскажу тут о простых последовательностях действий, которые помогут снизить риск успешной хакерской атаки.

Важно отметить то, что «игра» в нападение и защиту, в которую играют хакеры и владельцы компьютерных систем, это — нечестная игра. Атакующему достаточно, чтобы проникнуть в систему, выиграть лишь раз. А тому, кто защищается, выиграть можно лишь всегда побеждая. Главная сложность тут — знать о том, на что надо обращать внимание. Но после того, как защитник будет знать о том, через какие именно виртуальные «двери» в его систему может проникнуть хакер, эти «двери» можно защитить с помощью достаточно простых механизмов. Я полагаю, что простота этих механизмов иногда принижает их важность и является причиной того, что многие защитники компьютерных систем упускают эти механизмы из виду.
- Включайте многофакторную аутентификацию (multi-factor authentication, MFA) везде, где это возможно. Защищайте с её помощью учётные записи Google и GitHub, аккаунты облачных провайдеров, личные кабинеты VPN-сервисов. Если используемая вами система не предусматривает использование MFA — подумайте о переходе на другую систему.
- Выполняйте ротацию паролей и ключей, применяйте политики ротации паролей.
- Регулярно проверяйте код на наличие в нём того, чего в нём быть не должно. Лучше всего сделать такие проверки частью процесса проверки кода перед публикацией.
- Делегируйте одной центральной системе задачи по работе с профилями регистрации и по управлению доступом к другим системам. Эта система должна находится под вашим контролем, вы должны постоянно за ней наблюдать.
Как же действуют хакеры, находя пароли и секретные ключи? Какими инструментами они пользуются?
Хакеры находят секретные данные в JavaScript-файлах
Ключи к API разбросаны по всему интернету. Воспользоваться ими может кто угодно. Это — факт. Часто у того, что ключи оказываются в общем доступе, нет каких-то особых причин. Разработчики просто повсюду их забывают. Например, ключи попадают в код по следующим причинам:
- Для отладочных целей.
- Для целей локальной разработки.
- В виде комментариев, предназначенных для тех, кто будет поддерживать проект позже.
Хотя многие хакеры самостоятельно читают код JavaScript-файлов, такие файлы, в основном, ищут с помощью инструментов вроде meg, а потом проверяют то, что нашли, на наличие там соответствующих паттернов.
Как они это делают? После использования сканера вроде meg они ищут в найденных файлах строки, соответствующие различным шаблонам. Тот же, кто создал meg , написал ещё одну отличную программу, именно для этого и предназначенную. Она называется gf и представляет собой улучшенный вариант grep . В данном случае использование при запуске gf опции truffleHog или, в другом варианте её написания, trufflehog , позволяет инструменту находить высокоэнтропийные строки, представляющие собой ключи к API. То же самое касается и поиска строки API_KEY . Результаты поиска по такой строке часто (слишком часто) оказываются успешными.
Нередко у того, что ключи появляются в коде, есть совершенно нормальные причины, но такие ключи не защищены от посторонних. Приведу пример. Один клиент, с которым я работал, пользовался внешним сервисом картографической информации. Так делается во многих проектах. Для того чтобы загружать картографическую информацию и работать с ней, нужно было выполнять обращения к соответствующему API с использованием ключа. Но мой клиент забыл настроить применяемый им сервис так, чтобы ограничить источники, с которых в этот сервис могут поступать запросы, использующие этот конкретный ключ. Несложно представить себе простую атаку, которая заключается в том, чтобы истощить квоту на использование ресурсов картографического сервиса путём отправки к нему множества запросов. Это может стоить пользователю такого сервиса больших денег. Или, что ещё «лучше» (с точки зрения атакующего), такая атака может привести к тому, что те части проекта клиента, которые завязаны на картах, попросту «упадут».
JS-файлы используются хакерами не только для поиска секретных данных. Ведь такие файлы — это код вашего приложения, который может увидеть любой, кому этот код интересен. Хороший хакер может, внимательно прочтя код, разобраться в используемом в нём подходе к именованию сущностей, выяснить пути к API, может обнаружить ценные комментарии. Подобные находки оформляются в виде списка слов, передаваемого автоматическим сканерам. Это — то, что называется «интеллектуальным автоматизированным сканированием» («intelligent automated scan»), когда хакер комбинирует автоматические инструменты и собранную им информацию о конкретном проекте.
Вот реальный комментарий с домашней страницы одного проекта, в котором открытым текстом говорится о незащищённых API, данные из которых может получить кто угодно:
▍Что делать?
- Минифицируйте код. Благодаря этому код обфусцируется. Подобная обработка кода обратима, но благодаря ей можно обойти многие автоматические сканеры, что уменьшает потенциальные возможности атаки.
- Оставляйте в коде только абсолютный минимум ключей и путей к API. В то время как без некоторых из них обойтись не получится, о большинстве из них сказать того же самого нельзя. Оставляйте в коде только те ключи, которым совершенно необходимо в нём присутствовать.
- Понизьте разрешения, связанные с ключами, до абсолютного минимума. Если вспомнить пример с сервисом картографической информации, то можно сказать, что ключи должны быть такими, чтобы с их помощью можно было бы делать только то, для чего они предназначены, и чтобы пользоваться ими можно было бы только там, где они должны использоваться. Удостоверьтесь в том, что эти ключи нельзя использовать для атаки на систему.
- Используйте те же инструменты для автоматического сканирования кода, которые используют хакеры. Включайте их в системы непрерывной интеграции. Особенно это касается средств для поиска строковых паттернов, которые работают очень быстро. Используйте простые инструменты вроде grep или gf для поиска строк. Такая проверка кода сродни тестам. Она позволяет убедиться в том, что разработчики не оставляют в коде дыр, которыми может воспользоваться злоумышленник для взлома системы.
- Внедрите у себя практику код-ревью. Всегда полезно, когда кто-то проверяет ваш код. Все автоматические сканеры мира не способны выявить 100% возможных проблем. Код-ревью — это отличный способ повышения качества и защищённости кода.
Хакеры анализируют информацию из прошлого, пользуясь интернет-архивами
Архив Интернета (известный ещё как «Wayback Machine») хранит периодически создаваемые снимки веб-сайтов. Этот проект позволяет увидеть то, каким был интернет многие годы тому назад. Данные архива представляют немалый интерес для хакеров, которым нужно собрать сведения о некоем проекте. Сканировать файлы старых вариантов веб-сайтов можно с помощью инструментов наподобие waybackurls (он основан на waybackurls.py). Это значит, что даже если вы нашли в коде сайта ключ и убрали его оттуда, но не произвели ротацию ключей, хакеры могут найти этот ключ в старой версии сайта и воспользоваться этим ключом для взлома системы.
Вот что нужно сделать в том случае, если вы нашли ключ там, где его быть не должно:
- Создайте ключ, предназначенный для замены скомпрометированного ключа.
- Выпустите новую версию кода, в которой используется новый ключ. Этот код должен быть переписан так, чтобы в нём не было бы строк, позволяющих легко идентифицировать ключ.
- Удалите или деактивируйте старый ключ.
▍Архив Интернета — это не единственное место, где можно найти ключи
Старый код даёт злоумышленникам самую разную интересующую их информацию.
- Секретные пути к API. Речь идёт о незащищённых конечных точках API, сведения о которых, как думал разработчик, никогда не попадут в общий доступ. Хотя те пути, которые обнаружит хакер, могут оказаться для него бесполезными, эти пути способны помочь в понимании структуры API проекта и принятых в нём соглашений по устройству API. После того, как код сайта уходит в продакшн, у разработчика уже нет способов скрыть этот код от любопытных взглядов. Об этом очень важно помнить.
- Сведения для доступа к панелям администраторов веб-проектов. Эти данные, так же как и сведения о конечных точках API, оказываются в открытом доступе по разным причинам. Они часто становятся объектом интереса хакеров, которые находят и используют их. Открытые панели администрирования, в основном, можно обнаружить в проектах больших организаций. Такие панели создают команды, ответственные за ИТ-инфраструктуру. Рекомендуется периодически проверять такие панели и анализировать их на предмет того, какие возможности по доступу к системам они дают тому, кто ими пользуется. Например, недавно взломали одного производителя автомобильного оборудования, воспользовавшись дырой в подобной панели. Оказалось, что для проникновения в систему достаточно было убрать s из https .
Хакеры пользуются GitHub
GitHub — это настоящая золотая жила для хакеров. Если знать о том, где искать, то, воспользовавшись простыми инструментами поиска, можно найти много всего интересного. Если учётная запись вашей организации на GitHub не защищена механизмом многофакторной аутентификации, то все без исключения сотрудники организации представляют собой ходячие дыры системы безопасности. Вполне реально то, что некоторые из сотрудников используют везде один и тот же пароль, и то, что этот пароль уже был украден у них через какую-то другую систему. Хакер, которого интересует некая организация, может легко автоматизировать поиск скомпрометированных паролей, да что там говорить, он может найти такие пароли и вручную.
Список сотрудников организации можно создать, воспользовавшись методами разведки, основанной на открытых источниках (Open source intelligence, OSINT). Помочь в этом злоумышленнику может LinkedIn или общедоступный список сотрудников компании с GitHub.
Если, например, кто-то решил взломать компанию Tesla, то он вполне может начать изучение компании с этой страницы:
А даже если компания не использует GitHub в качестве git-платформы, на GitHub, всё равно, можно найти что-то ценное. Достаточно, чтобы этой платформой пользовался хотя бы один из сотрудников компании, например, для домашнего проекта. Если в коде этого проекта (или в истории git) появится что-то секретное, относящееся к компании, этого будет достаточно для того чтобы проникнуть в системы этой компании.
Отслеживание полной истории изменений, вносимых в каждый проект, это — природа git. В свете вопросов безопасности этот факт играет огромную роль. Другими словами, каждое изменение, внесённое в код любым, кто имеет доступ к каким-либо системам некоей организации, подвергает эту организацию опасности.
▍Почему это происходит?
- Компании не проверяют свои системы на предмет наличия в них уязвимостей.
- Те компании, которые выполняют подобные проверки, обычно не обращают внимания на общедоступные учётные записи своих сотрудников.
- Те компании, которые проверяют и свои системы, и учётные записи сотрудников (а таких, по грубым оценкам, менее 1%), часто слишком сильно полагаются на автоматические сканеры и не проверяют историю коммитов (то есть — анализируют не всё дерево git, а лишь то, что лежит на поверхности, представленное самой свежей версией кода).
- И наконец, достаточно часто компании не выполняют ротацию ключей и не применяют двухфакторную аутентификацию. Два этих приёма способны закрыть большинство вышеупомянутых брешей систем безопасности.
▍Основы использования особых поисковых запросов в GitHub
Существует такое понятие, как «дорки» («dorks») — особые поисковые запросы, использующие различные возможности поисковых систем для нахождения того, что имеет отношение к определённым данным. Вот — интересный список подобных поисковых запросов для Google, подготовленный exploit-db.com.
Если вы хотите углубиться в эту тему, а я рекомендую это сделать, то, прежде чем давать вам краткий список строк, используемых для поиска ключей и паролей на GitHub, предлагаю ознакомиться с этим ценнейшим материалом, написанным талантливым исследователем безопасности систем. Он рассказывает о том, как, что и где искать на GitHub, как пользоваться дорками, детально расписывает ручной процесс поиска секретных данных.
Дорки, применимые на GitHub, не так сложны, как те, которыми можно пользоваться в Google. Дело тут в том, что GitHub просто не предлагает пользователю столь же продвинутых поисковых возможностей, которые предлагает Google. Но, несмотря на это, правильный поиск по GitHub-репозиториям может прямо-таки творить чудеса. Попробуйте поискать в интересующем вас репозитории по следующим строкам:
А если попробуете искать определённые файлы, используя запросы вроде filename:.npmrc _auth или filename:.htpasswd , то вы сможете фильтровать результаты поиска по типам утечек данных. Вот ещё один хороший материал на эту тему.
▍Меры по снижению рисков, связанных с GitHub
- Сделайте сканирование кода на предмет уязвимостей частью CI-процесса. В этом вам может помочь отличный инструмент GitRob.
- Сканируйте репозитории сотрудников компании. GitRob выполняет подобные проверки без дополнительных настроек. Для того чтобы это отключить, можно запустить его с флагом no-expand-orgs .
- Проверяйте историю репозиториев. GitRob, по умолчанию, сканирует 500 коммитов, но вы можете решить пойти ещё дальше, воспользовавшись параметром вида -commit-depth <#number> .
- Включите на GitHub двухфакторную аутентификацию!
- Выполняйте, во всех без исключения системах, ротацию ключей доступа, секретных ключей, паролей. Рекомендуется использовать централизованную систему доступа к другим системам наподобие G Suite или Active Directory. Нужно обеспечить применение в подобной системе политик безопасности, касающихся ротации и сложности паролей.
Вот что говорит пользователь @corymcdonald:
Хакеры используют Google
Теперь, когда мы в общих чертах познакомились с дорками, мы можем поговорить о применении особых поисковых запросов в Google. Тут с их помощью можно найти просто невероятные вещи. Google — мощная поисковая система, которая позволяет строить запросы, описывая строки, которые должны и не должны присутствовать в искомых данных. Google, кроме прочего, позволяет искать файлы с определёнными расширениями, умеет выполнять поиск по заданным доменам, по URL. Взгляните на следующую поисковую строку:
Эта строка рассчитана на поиск файлов с расширением yml , причём, это должны быть файлы docker-compose , в которых разработчики нередко хранят пароли. Не особенно уникальные пароли. Попробуйте запустить в Google поиск по этой строке. Вас удивит то, что вы найдёте.
Другие интересные поисковые строки могут быть рассчитаны на поиск RSA-ключей или учётных данных AWS. Вот ещё один пример:
Тут перед нами открываются безграничные возможности. Качество поиска зависит лишь от уровня креативности исследователя и от того, насколько хорошо он знаком с различными системами. Вот, если хотите поэкспериментировать, большой список Google-дорков.
Хакеры тщательно изучают интересующие их системы
Когда некая система очень интересует исследователя безопасности (или мотивированного хакера), он приступает к глубокому изучению этой системы. Он близко знакомится с ней. Его интересуют конечные точки API, соглашения по именованию сущностей, особенности взаимодействия внутренних частей систем, наличие доступа к разным версиям системы в том случае, если одновременно используются её разные версии.
Не очень хороший подход к защите API заключается в том, чтобы усложнять пути доступа к ним, скрывать их с использованием чего-то вроде генератора случайных символов. Это не заменяет реальных механизмов обеспечения безопасности. Исследователи безопасности пытаются найти незащищённые пути доступа к системам, конечные точки API, например, пользуясь инструментами для «нечёткого» поиска уязвимостей. Такие инструменты используют списки слов, строят из них пути и проверяют эти пути, анализируя получаемые при попытке обращения к ним ответы. Подобный сканер не найдёт конечную точку, путь к которой представлен совершенно случайным набором символов. Но такие инструменты прекрасно показывают себя в деле идентификации паттернов и в нахождении конечных точек, о которых владельцы системы либо забыли, либо никогда и не знали.
Помните о том, что «безопасность через неясность» («security through obscurity») — это не лучший способ защиты систем (хотя полностью игнорировать его не стоит).
Тут на помощь злоумышленникам и приходят GitHub-дорки, о которых мы говорили выше. Знание о том, какие правила используются при составлении путей к конечным точкам системы (например — нечто вроде api.mydomain.com/v1/payments/. ) может оказать хакеру огромную помощь. Поиск по GitHub-репозиторию компании (и по репозиториям её сотрудников) на предмет строк, связанных с API, часто позволяет находить и пути, включающие в себя случайные символы.
Но и у «случайных строк», тем не менее, есть своё место в системах. Их применение всегда лучше, чем использование в путях к API последовательностей из идентификаторов ресурсов, строк вроде users и orders .
Вот — потрясающий репозиторий SecLists, который содержит множество строк, используемых при именовании сущностей. Им пользуются практически все, имеющие отношение к индустрии защиты данных. Часто эти материалы модифицируют под конкретную систему. Ещё один инструмент, который можно использовать для поиска «зашифрованных» путей, это FFuf — чрезвычайно быстрая программа, основанная на нечёткой логике, написанная на Go.
Итоги
Вопросы безопасности часто обходят вниманием в стартапах. Программисты и менеджеры обычно делают приоритетом скорость разработки и частоту выхода новых версий продукта, жертвуя качеством и безопасностью. Тут встречается включение в код, попадающий в репозитории, секретных сведений, использование в разных местах системы одних и тех же ключей, применение ключей доступа там, где можно воспользоваться чем-то ещё. Иногда может показаться, что нечто подобное позволяет ускорить работу над проектом, но, со временем, это может привести к очень плохим последствиям.
В этом материале я попытался показать вам то, как строки, которые, как кажется, защищены тем, что хранятся в закрытом репозитории, могут легко уйти в общий доступ. То же касается и клона репозитория, сделанного сотрудником из лучших побуждений и не предназначенного для чужих глаз, но оказавшегося общедоступным. Но можно создать базу для безопасной работы, воспользовавшись инструментом для организации безопасного совместного использования паролей, применив централизованное хранилище секретных данных, настроив политики безопасности паролей и многофакторную аутентификацию. Это позволит, не игнорируя безопасность, не замедлить скорость работы над проектом.
Если говорить о защите информации, то тут не очень хорошо работает идея, в соответствии с которой скорость — это самое главное.
Приобретение знаний о том, как работают хакеры, обычно представляет собой очень хороший первый шаг на пути к пониманию того, что такое информационная безопасность. Это — первый шаг к защите систем. Защищая системы, учитывайте вышеперечисленные способы проникновения в них, и то, что хакеры используют достаточно ограниченный набор таких способов. Рекомендуется рассматривать с точки зрения безопасности абсолютно всё, что так или иначе имеет отношение к некоей системе, вне зависимости от того, идёт ли речь о внешних или внутренних механизмах.
Защита систем иногда может восприниматься как дело не особо важное, но трудозатратное и беспокойное. Но будьте уверены: предпринятые вами простые действия по защите ваших систем способны избавить вас от огромных неприятностей.
Что такое взлом
Каждый пользователь социальной сети, мессенджера или почтового сервиса, используя свой аккаунт, уверен, что все персональные данные надежно защищены. Но на самом деле, все обстоит иначе. Злоумышленники не дремлют, и регулярно пытаются получить персональные данные в целях заработка путем взлома. Способов взлома огромное количество, но для начала давайте разберёмся, что такое взлом.
Взлом – это определенный алгоритм действий, с помощью которых устраняется защита программного обеспечения для получения пользовательских данных. Говоря простым языком, если Вас взломали, считайте, что вся информация о Вашем общении, личные данные, данные карт находится в руках постороннего человека. Используется взлом в разных целях:
- Финансовая выгода, как правило, взлом в этом случае необходим для получения информации о банковских картах, информации об электронных кошельках. При получении доступа к ним, мошенники сразу же выводят все средства.
- Шантаж с целью получения денег. Переписки, личные данные или фото с пометкой 18+ могут стать главной причиной взлома аккаунта и дальнейшего вымогательства денежного вознаграждения за нераспространение.
- Спам. Самая распространённая причина взлома. Получив доступ, мошенники активируют рассылку рекламы от Вашего имени.
- Личное. Муж или жена подозревают в измене. Обычно в таких случаях начинается поиск хакера, чтобы получить все возможные переписки в чатах самых популярных мессенджеров.
Что такое взлом и каким он бывает?
Способов взлома очень много. Но у хакеров есть излюбленные методы, которые чаще всего идут вход. Если возникает проблема, то всегда можно использовать их комбинацию для достижения более быстрого результата.
Перебор паролей (брутфорс).
Самый удобный метод взлома, так как не требует к себе особенного внимания. Для этого метода используется специальная программа для взлома, которая автоматически подбирает комбинацию из букв. Злоумышленнику достаточно иметь немного информации о Вас, так как чаще всего пользователи используют примитивный пароль, состоящий из имени, даты рождения, номера телефона и прочее.
Если хакер использует хороший словарь, содержащий в себе не менее 10 млн паролей, то взлом не займет много времени. А если Вы используете один и тот же пароль для всех учетных записей, считайте, что вся информация уже в свободном доступе у хакера.
Перебор паролей с добавлением цифровых значений.
Метод ничем не отличается от первого, но считается его модифицированной версией. Существует такая же словарная база, но к ней добавлены цифры. Создаются такие словари на базе других взломанных аккаунтов.
Фишинг.
Самый удобный и используемый метод взлома для получения пароля. Суть метода заключается в том, что хакеры делают обычную рассылку с просьбой ввести логин и пароль от аккаунта. Причины для запроса дополнительного ввода данных могут быть разными, начиная с запроса службы поддержки и заканчивая предложением улучшить антифишинговую защиту. Переходя по ссылке, пользователь попадает на точную копию запрашиваемой страницы, с поправкой на то, что все введенные данные попадут не по адресу, а прямо в руки мошеннику. Поэтому переходя по ссылкам, всегда проверяйте информацию, которая отображается в адресной строке браузера.
Social Engineering (социальный инженеринг).
Метод взлома основывается на человеческом факторе, точнее на психологии и логичности действий. Самым простым использованием данного способа является функция восстановления пароля, которая доступна при регистрации любого аккаунта, в случае если Вы забудете пароль. Так как пользователь не придает особого значения данному пункту, то чаще всего выбирают банальный вопрос, типа кличка питомца, любимое блюдо и т.д. Злоумышленник может найти ответ даже в открытом доступе на Вашей странице. И даже если Вы не размещали подобную информацию в открытом доступе, хакер может втереться в доверие через ту же самую социальную сеть и получить всю необходимую информацию лично от Вас.
Хэширование.
В базе данных любого сервиса, пароли пользователей хранятся в виде хэша. Создаётся он посредством специально алгоритма. Хакеру достаточно программой для взлома получить хэшированные данные сервиса и расшифровать сам хэш. При совпадении хэша и генерированного хэша – вход в аккаунт осуществляется и открывается свободный доступ.
Функция «Запомнить пароль».
Многие юзеры, используя персональные устройства, разрешают браузерам сохранять логин и пароль. Этим и пользуются взломщики. Устанавливая программу для взлома в ваш ПК или телефон, или занеся «троян» активируется передача данных, используемых и сохраненных в браузере.
XSS-атака.
Основана на использовании уязвимости на сервере и на используемых устройствах. Самый удобный метод – создать атаку и добыть все файлы Cookies, так как именно в них содержится информация о посещении сервиса и хэшированый пароль от аккаунта. Как было описано выше, мошеннику достаточно будет расшифровать пароль с помощью утилит и получить доступ к аккаунту.
Одним из таких примеров, может послужить Wi-Fi в общественных местах. Уязвимостей масса, пользователей тоже много. Одна атака может принести огромное количество взломанных аккаунтов.
Открытый доступ к паролям.
Способ банальный и больше относится к офисам, так как чаще всего используется один и тот же пароль или его модификация. И обязательно найдется тот сотрудник, который запишет на стикере и оставить на столе или будет вводить пароль в тот момент, когда мошенник будет рядом. Самый удобный способ мошеннику получить пароль – это представиться курьером, доставщиком еды или специалистом по техническому обслуживанию.

Шпионские программы.
Самый популярный способ Андроид взлома. Такие программы, как правило, работают в скрытом режиме собирая всю информацию, проходящую через телефон или ПК. Никаких оповещений и уведомлений, пока Вы используете свое устройство для просмотра социальных сетей или мессенджеров, программа собирает информацию и отправляет ее хакеру. Для получения данных для входа в аккаунты обычно используется кейлоггер (клавиатурный шпион), который архивирует любые нажатия.
Так же есть возможность получать скриншоты экрана, что может помочь прочитать и сохранить переписки из чатов, историю посещений браузера. Более навороченные программы способны записывать звонки, окружение и передавать регулярное местоположение. Скачать программу для взлома можно в свободном доступе.
Теперь вы знаете, что такое взлом и какими способами пользуются хакеры. Будьте внимательны и не создавайте банальных паролей, состоящих менее чем из 8 символов.