Видео: РС DONI ft Ð¢Ð¸Ð¼Ð°Ñ Ð¸ Ð Ð¾Ñ Ð¾Ð´Ð° Ð Ñ ÐµÐ¼Ñ ÐµÑ Ð° клипа, 2014 (Ноември 2024)
Вземете един куп хакери и други хора, съобразени със сигурността, на едно и също място и малко добронамерена конкуренция и хакерството е неизбежно.
Миналата седмица на срещата на върха по въпросите на сигурността в лабораторията на Kaspersky беше затрупана с интересни сесии и присъстваха едни от най-добрите умове в информационната сигурност, но това не беше всичко. Участниците също могат да се състезават в „Крипто предизвикателството“, където използват уменията си за хакване, за да решат серия от загадки. Аз бях сред шепата, която завърши предизвикателството и по пътя научих малко повече за криптографията, обфуксацията и обратното инженерство.
Най-вече научих, че хакерството е като решаване на пъзели; продължаваш да мислиш: „Нека просто опитам това едно нещо“ и се чувстваш наистина развълнуван, когато го получиш.
Криптографията държи ключа
В основата си криптографията е да приеме съобщение и да го напише по такъв начин, че да изглежда като глупост на този, който не знае тайната. Малко прилича на Pig Latin. Ако не знаете правилата на езика, нямате представа какво означава "ellohay". Някои шифри са много прости - като замяна на буквата със следващата буква, така че a става b, b става c и така нататък, докато „здравей“ стане „ifmmp“. Други са много по-сложни от математиката и се използват за защита на нашите номера на кредитни карти и парола.
Всеки участник в срещата при регистрация получи писмо за криптовалутата. В края имаше низ от букви, който нямаше смисъл, но имаше познат формат. Започвайки с „vhhd: //“ и последвано от групи от букви, разделени с период (.), Това беше ясно URL адреса към уебсайт. След като разбрах, че първите няколко букви са „http: //“ разбрах, че това е ROT13, популярна (и изключително слаба) шифърка, която заменя всяка буква с една, която идва 13 места по-късно в азбуката. Нямаше нужда да обработвате URL адреса ръчно, тъй като в мрежата има тонове ROT13 декодери.
Затъмнен Javascript, Oh My
Получената страница с изображение и приветствено съобщение беше скучна. Източникът на страницата беше всичко друго, но не. Това бяха редове и редове с по-дръзки, затворени в <script type = "text \ javascript"> тагове. Ах, объркан Javascript.
Затъмняването е често използвана техника, при която злонамерените кодери пишат код за атака по такъв начин, че човек не може лесно да прочете кода. Тя се различава от криптографията по това, че не разчита на таен, а на методите на изкривено програмиране за генериране на трудно четим код. Полученият код е нечетлив за човешкото око, но машината няма проблем да го разбере и изпълни.
Както беше в случая с ROT13, нямаше нужда да се опитвате да анализирате замърсения Javascript ръчно. Вместо това използвах инспектора на DOM, който е вграден в уеб браузъра Chrome и преминах през всеки елемент на страницата. Можех да видя кода за показване на изображението и приветственото съобщение, скрито вътре в трептенето, както и коментиран ред от код, съдържащ следващата улика.
Замътването не се ограничава само до Javascript. Трябваше да редактирам скрипт на Perl, за да разбера какво се опитва да каже този грозен бит код.
Обратно инженерство като шеф
В един момент изтеглих изпълним файл (сканиран с Kaspersky Antivirus - не боли да внимавам!), Който ме подкани да въведа потребителско име и парола. Беше време да се обърне инженер, който да се изпълни.
Работата с лаптоп на Linux помогна в този момент, защото бих могъл да използвам струни , инструмент за Linux на команден ред, който отпечатва съдържанието на нетекстови файлове, и gdb , грешка , която ви позволява да видите какво се случва във файл, докато се изпълнява, струните също бяха полезни по-късно в предизвикателството, когато изтеглих.d64 файлове. Можех да изтегля емулатор Commodore 64 - както организаторът на предизвикателството възнамеряваше - да пусна файла, но просто пуснах низове, за да разбера къде да продължа.
Чувал съм за вграждане на секретни съобщения във снимка, но когато се сблъсках с такова изображение, първоначално бях спънат. Тогава си спомних, че изображенията имат слоеве и нападателите могат да вграждат информация в различни слоеве, без да нарушават видимия слой. Можех да разгледам всеки слой в GIMP, инструмент с отворен код, подобен на Adobe Photoshop, който работи на Linux. Вместо това прокарах изображението през низове , които извличаха целия текст, скрит в изображението. Това е една многостранна и удобна команда.
Забележка за паролите
Няколко от стъпките в предизвикателството ме подтикнаха към валидна парола. Докато „паролата“ никога не се появи, имаше поне един случай, в който просто на случаен принцип въведох думи, които имаха някакво значение за конференцията и играта, докато не се натъкнах на правилната. В една стъпка се задействах от малки / малки букви, така че просто генерирах списък с всички възможни комбинации и проправих своя път.
Нападател, въоръжен с някаква информация за жертвата, може лесно да се опита да отгатне правилната парола или просто да премине през списък с възможни думи. Непрекъснато мърморех: „Ще те надхитря“ и когато разбрах, си помислих: „ХА! Разбрах!“
Просто решаване на пъзели
С изключение на низове и gdb, всеки един елемент на предизвикателството зависеше от нещо доста ясно или нещо, което бих могъл да науча с търсене в Google. Макар че не всички хаквания са толкова прости, важно е да се разбере, че уменията се изграждат един върху друг. За да започнете, просто е необходимо малко любопитство и желание да продължите.
Чувате за хора, които се опитват да проникнат в системи или да стартират кампании онлайн за забавление или просто да докажат, че могат. Това, което кара хакерите да хакнат, е онзи неуловим адреналинов прилив, който идва от решаването на предизвикателен пъзел.