Дом Securitywatch Взлом это просто взломать одну загадку за раз

Взлом это просто взломать одну загадку за раз

Видео: Врываемсо-мясл-мясо (Октября 2024)

Видео: Врываемсо-мясл-мясо (Октября 2024)
Anonim

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

На прошлой неделе саммит Kaspersky Lab Security Analyst был полон интересных сессий, на которых присутствовали лучшие специалисты в области информационной безопасности, но это еще не все. Участники также могут участвовать в «Крипто-вызове», где они используют свои навыки взлома для решения серии головоломок. Я был одним из немногих, кто закончил испытание, и по пути узнал немного больше о криптографии, обфускации и обратном инжиниринге.

Больше всего я узнал, что взлом - это как решение головоломок; Вы продолжаете думать: «Позвольте мне попробовать это», и вы чувствуете себя действительно взволнованным, когда получаете это.

Криптография держит ключ

По своей сути криптография заключается в том, чтобы принять сообщение и написать его таким образом, чтобы это выглядело как бред для тех, кто не знает секрета. Это немного похоже на Pig Latin. Если вы не знаете правил языка, то не знаете, что означает «эллохай». Некоторые шифры очень просты - например, замена буквы следующей буквой, так что a становится b, b становится c и т. Д., Пока «hello» не станет «ifmmp». Другие намного сложнее математически и используются для защиты номеров наших кредитных карт и паролей.

Каждый участник саммита после регистрации получил письмо о крипто-вызове. В конце была цепочка букв, которая не имела смысла, но имела знакомый формат. Начиная с «vhhd: //» и заканчивая группами букв, разделенных точкой (.), Это был явно URL-адрес веб-сайта. Как только я понял, что первые несколько букв были «http: //», я понял, что это ROT13, популярный (и чрезвычайно слабый) шифр, который меняет каждую букву на букву, которая встречается на 13 позиций позже в алфавите. Не нужно было обрабатывать URL-адреса вручную, поскольку в Интернете существует множество декодеров ROT13.

Запутанный Javascript, о мой

Получившаяся страница с изображением и приветственным сообщением была скучной. Источник страницы был совсем не похож на. Это были строки и строки с большим количеством слов, заключенных в теги <script type = "text \ javascript">. Ах, запутанный Javascript.

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

Как и в случае с ROT13, не нужно было пытаться разобрать запутанный Javascript вручную. Вместо этого я использовал инспектор DOM, который встроен в веб-браузер Chrome и прошел по каждому элементу страницы. Я мог видеть код для отображения изображения и приветственное сообщение, скрытое внутри тарабарщины, а также закомментированную строку кода, содержащую следующую подсказку.

Обфускация не ограничивается только Javascript. Мне пришлось отредактировать скрипт на Perl, чтобы понять, что пытался сказать этот уродливый кусочек кода.

Обратный инжиниринг как босс

В какой-то момент я скачал исполняемый файл (проверенный с помощью Антивируса Касперского - быть осторожным!), Который побудил меня ввести имя пользователя и пароль. Пришло время перепроектировать этот исполняемый файл.

Работа с ноутбуком с Linux помогла в этом моменте, потому что я мог использовать строки , инструмент Linux для командной строки, который печатает содержимое нетекстовых файлов, и gdb , отладчик, который позволяет вам видеть, что происходит внутри файла во время его выполнения., Последовательность также была полезна позже, когда я скачал файлы.d64. Я мог бы загрузить эмулятор Commodore 64 - как и планировал организатор - для запуска файла, но я просто запустил строки, чтобы выяснить, куда идти дальше.

Я слышал о встраивании секретных сообщений в изображение, но когда я столкнулся с таким изображением, я был изначально ошеломлен. Затем я вспомнил, что изображения имеют слои, и злоумышленники могут встраивать информацию в разные слои, не нарушая видимый слой. Я мог бы взглянуть на каждый слой в GIMP, инструменте с открытым исходным кодом, похожем на Adobe Photoshop, который работает в Linux. Вместо этого я пропустил изображение через строки , которые извлекли весь текст, скрытый в изображении. Это одна универсальная и удобная команда.

Примечание о паролях

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

Злоумышленник, вооруженный некоторой информацией о жертве, может легко попытаться угадать правильный пароль или просто пробежаться по списку возможных слов. Я продолжал бормотать: «Я собираюсь перехитрить тебя», и когда я понял это, я подумал: «ГА! Понял!»

Просто головоломка

За исключением строк и GDB, каждый элемент задачи зависел от чего-то достаточно простого или от того, что я мог бы узнать с помощью поиска Google. Хотя не все взломы так просты, важно понимать, что навыки основываются друг на друге. Чтобы начать, вам просто нужно немного любопытства и готовности продолжать.

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

Взлом это просто взломать одну загадку за раз