Відео: Ð§ÐµÑ ÐºÐ°Ñ Ð ÐµÐ·Ð³Ð¸Ð½ÐºÐ° Ð ÐµÐ²Ñ Ñ ÐºÐ° ÐºÐ»Ð°Ñ Ñ Ð½Ð¾ Ñ Ð°Ð½Ñ Ñ ÐµÑ ! (Листопад 2024)
Отримайте купу хакерів та інших людей, орієнтованих на безпеку, там же, і трішки добродушної конкуренції та злому неминуче.
Минулого тижня на саміті лабораторії з питань безпеки Лабораторії Касперського було завалено цікавими сесіями, в яких взяли участь одні з найкращих розумів щодо інформаційної безпеки, але це було не все. Учасники також могли змагатися у «Крипто-виклику», де вони використовують свої навички хакерства для розв’язання серії головоломок. Я був серед тих кількох, хто закінчив виклик, і по дорозі дізнався трохи більше про криптовалюту, затуманення та зворотну інженерію.
Найбільше я дізнався, що хакерство - це як розгадування загадок; ви продовжуєте думати: "Дозвольте мені спробувати це одне", і відчуваєте, що ви дуже збуджені, коли отримаєте це.
Криптографія тримає ключ
По суті, криптовалюта полягає в тому, щоб прийняти повідомлення і записати його таким чином, щоб воно було схоже на хитрість до того, хто не знає секрету. Це трохи схоже на Свиня Латинська. Якщо ви не знаєте правил мови, то ви не маєте поняття, що означає "ellohay". Деякі шифри дуже прості - наприклад, заміна букви на наступну букву, тому a стає b, b стає c і так далі, поки "привіт" не стане "ifmmp". Інші набагато складніші з математичної точки зору і використовуються для захисту наших номерів кредитних карток та облікових даних пароля.
Кожен учасник саміту, після реєстрації, отримував лист про криптовалюту. В кінці була нитка букв, яка не мала сенсу, але мала звичний формат. Починаючи з "vhhd: //", а потім групи листів, розділених періодом (.), Це була чітка URL-адреса веб-сайту. Як тільки я зрозумів, що перші кілька літер були "http: //", я знав, що це ROT13, популярний (і надзвичайно слабкий) шифр, який замінює кожну букву на одну, яка на 13 місця походить в алфавіті. Не потрібно було опрацьовувати URL вручну, оскільки в Інтернеті є багато декодерів ROT13.
Заплутаний Javascript, о мій
Отримана сторінка із зображенням та вітальним повідомленням була нудною. Джерелом сторінки було що інше, але. Це були рядки та рядки більш гнучких, вкладені в теги <script type = "text \ javascript">. Ах, заплутаний Javascript.
Затухання - це широко застосовувана техніка, коли шкідливі кодери записують код атаки таким чином, що людина не може легко прочитати код. Він відрізняється від криптографії тим, що він не покладається на секретний, а скоріше на зведені методи програмування для генерування важкого для читання коду. Отриманий код нечіткий для людського ока, але машина не має жодних проблем з його розумінням та виконанням.
Як і у випадку з ROT13, не потрібно було намагатися розбирати затуманений Javascript вручну. Натомість я використав інспектор DOM, який вбудований у веб-браузер Chrome і переглянув кожен елемент сторінки. Я міг бачити код для відображення зображення та вітальне повідомлення, приховане всередині безглуздя, а також коментований рядок коду, що містить наступну підказку.
Обфускування не обмежується лише Javascript. Мені довелося відредагувати сценарій Perl, щоб зрозуміти, що намагався сказати той потворний біт коду.
Реверсна інженерія, як бос
Одного разу я завантажив виконуваний файл (відсканований антивірусом Kaspersky - не завадить бути обережним!), Який запропонував мені ввести ім’я користувача та пароль. Настав час змінити інженер, що виконується.
Операція ноутбука Linux допомогла в цей момент, тому що я міг використовувати рядки, інструмент Linux командного рядка, який друкує вміст нетекстових файлів, і gdb, налагоджувач, який дозволяє вам бачити, що відбувається всередині файлу під час його виконання. . Струни також були зручні пізніше під час виклику, коли я завантажував файли .d64. Я міг завантажити емулятор Commodore 64 - як задумав організатор виклику - запустити файл, але я просто запустив рядки, щоб зрозуміти, куди йти далі.
Я чув про вбудовування таємних повідомлень всередину картини, але коли я стикався з таким зображенням, то спочатку я був спотиканий. Тоді я згадав, що зображення мають шари, і зловмисники можуть вбудовувати інформацію в різні шари, не порушуючи видимий шар. Я міг би подивитися на кожен шар у GIMP, інструмент з відкритим кодом, подібний до Adobe Photoshop, який працює на Linux. Натомість я провів зображення по рядках, які витягли весь текст, прихований у зображенні. Це одна універсальна і зручна команда.
Примітка про паролі
Кілька кроків у виклику запропонували мені дійсний пароль. Хоча "пароль" так і не з'явився, був хоча б один випадок, коли я просто випадковим чином вводив слова, які мали певне значення для конференції та гри, поки я не натрапив на правильний. За один крок мене запустили малі / великі регістри, тому я просто створив список усіх можливих комбінацій і пропрацював свій шлях.
Зловмисник, озброєний якоюсь інформацією про жертву, може легко спробувати відгадати правильний пароль або просто пробігти список можливих слів. Я продовжував бурмотіти: "Я збираюся перехитрити тебе", і коли я зрозумів це, я подумав: "HA! Зрозумів!"
Просто вирішення головоломки
За винятком рядків і gdb, кожен окремий елемент виклику залежав від чогось прямого, або чогось, що я міг би дізнатися за допомогою пошуку в Google. Хоча зламати не всі так просто, важливо розуміти, що навички будуються один на одного. Для початку просто потрібно трохи цікавості та готовності наполегливо наполегливо.
Ви чуєте про людей, які намагаються проникнути в системи або запустити кампанії в Інтернеті заради задоволення, або просто довести, що вони можуть. Те, що змушує хакерів зламати, - це невловимий адреналіновий наліт, який виникає від вирішення складної головоломки.