Как писать от имени сообщества в ВК

Scada

Все технологические процессы сегодня автоматизированы и часто имеют удаленное управление. Что будет, если его взломают? В 2001 году Эрик Байрес, Джастин Лоу и Дэвид Леверсаж стали вести базу инцидентов в сфере промышленной безопасности ISID, а с 2022 года она доступна онлайн.

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

Старший сотрудник Агентства национальной безопасности США Томас Рид в своей книге At the Abyss утверждает, что в начале восьмидесятых АНБ допустило контролируемую утечку ПО для управления насосами. Софт содержал троян, который активировался в июне 1982 года во время испытаний Транссибирского газопровода.

Он удвоил давление газа и привел к разрушению сварных швов, сорвав поставки газа и вызвав мощный психологический эффект. Советская сторона не отрицает сам взрыв, но исключает его взаимосвязь с трояном. «То, что написали американцы, — это мусор», — сказал Василий Пчелинцев, возглавлявший в 1982 году отдел КГБ в Тюменской области.

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

Например, в 2022 году в США произошла серия «веерных отключений» электроэнергии, причиной которых стали различные нарушения в сфере промышленной безопасности. Все началось с того, что работавший на аутсорсе техник принес на флешке вирус Mariposa. Вирус не был специально написан для порчи оборудования, как это было с трояном Stuxnet.

Речь о банальном разгильдяйстве. Техник наплевал на должностные инструкции и подключил зараженную флешку напрямую к управляющему компьютеру. Он попытался скопировать с нее настройки, тем самым вызвав распространение инфекции. В тот же день как минимум десять других компьютеров системы управления турбинами на разных электростанциях США оказались заражены. Их пришлось остановить, а перезапуск, расследование и возврат к плановой мощности потребовали три недели.

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

Энергетическая сеть состоит из сотен взаимосвязанных узлов, работающих круглосуточно. Поэтому проблемы на одних узлах так или иначе затрагивают другие. Позже один из двух ядерных реакторов на АЭС «Саскуэханна» был отключен операторами вручную, потому что компьютерная система контроля уровня воды стала сбоить и возник риск перегрева активной зоны.

Атаки на SCADA затрагивают преимущественно промышленные системы. Если удается предотвратить аварию, они редко становятся достоянием гласности. Однако некоторые из них направлены на городскую инфраструктуру, где даже мелкие шалости могут быть очень заметными.

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

После того как опубликовали детали уязвимости, в Нью-Джерси были зарегистрированы множественные случаи взлома Tridium Niagara AX. Позже кто-то написал удобный бэкдор, и десятки кул-хацкеров стали наперебой развлекаться с настройками разных зданий. Всего в мире было продано свыше 300 тысяч лицензий на Tridium Niagara AX. Сервис Shodan подсказывает, что многие клиенты до сих пор не установили патчи.

Еще одна чувствительная отрасль — управление транспортом. В 2022 году вся компьютерная сеть Департамента автомобильных дорог округа Кук была закрыта почти на две недели из-за вирусного инцидента. Неизвестный зловред атаковал около двухсот компьютеров.

В 2022 году странный сбой в программе управления самолетом-разведчиком U-2 привел к длительной задержке нескольких сотен рейсов в международном аэропорту Мак-Карран в Лас-Вегасе. Отдельные источники связывают это с деятельностью хакерской группы Dragonfly, чьи атаки преимущественно нацелены на подрядчиков DARPA и авиакомпании США. Официальных комментариев на этот счет также не поступало.

Листинг 2

> dumpbin /RAWDATA:BYTES /SECTION:.rdata passCompare1.exe > rdata.txt
004020E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
004020F0: 18 30 40 00 68 30 40 00 45 6E 74 65 72 20 70 61  .0@.h0@.Enter pa
00402100: 73 73 77 6F 72 64 3A 00 6D 79 47 4F 4F 44 70 61  ssword:.myGOODpa
00402110: 73 73 77 6F 72 64 0A 00 57 72 6F 6E 67 20 70 61  ssword..Wrong pa
00402120: 73 73 77 6F 72 64 0A 00 50 61 73 73 77 6F 72 64  ssword..Password
00402130: 20 4F 4B 0A 00 00 00 00 00 00 00 00 00 00 00 00   OK.............
00402140: 00 00 00 00 90 0A C1 5B 00 00 00 00 02 00 00 00  ......A[........
00402150: 48 00 00 00 24 22 00 00 24 14 00 00 00 00 00 00  H...$"..$.......

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

Один из способов сделать это — насильно поместить эталонный пароль в собственноручно выбранную нами секцию. Такая возможность не предусмотрена стандартом, и потому каждый разработчик компилятора (строго говоря, не компилятора, а линкера, но это не суть важно) волен реализовывать ее по-своему или не реализовывать вообще.

В Microsoft Visual C для этой цели предусмотрена специальная прагма data_seg, указывающая, в какую секцию помещать следующие за ней инициализированные переменные. Неинициализированные переменные по умолчанию располагаются в секции .bss и управляются прагмой bss_seg соответственно.

В листинг 1 перед функцией main добавим новую секцию, в которой будем хранить наш пароль:

// С этого момента все инициализированные переменные будут 
// размещаться в секции .kpnc
#pragma data_seg(".kpnc") 
#define PASSWORD_SIZE 100
#define PASSWORD "myGOODpasswordn"
char passwd[] = PASSWORD;
#pragma data_seg()

Внутри функции main проинициализируем массив:

// Теперь все инициализированные переменные вновь будут 
// размещаться в секции по умолчанию, то есть .rdata 
char buff[PASSWORD_SIZE]="";

Немного изменилось условие сравнения строк в цикле:

if (strcmp(&buff[0],&passwd[0]))

Натравим утилиту DUMPBIN на новый исполняемый файл:

> dumpbin /RAWDATA:BYTES /SECTION:.rdata passCompare2.exe > rdata.txt
004020C0: D3 17 40 00 00 00 00 00 D8 11 40 00 00 00 00 00  O.@.....O.@.....
004020D0: 00 00 00 00 2C 11 40 00 D0 11 40 00 00 00 00 00  ....,.@.?.@.....
004020E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
004020F0: 18 30 40 00 68 30 40 00 45 6E 74 65 72 20 70 61  .0@.h0@.Enter pa
00402100: 73 73 77 6F 72 64 3A 00 57 72 6F 6E 67 20 70 61  ssword:.Wrong pa
00402110: 73 73 77 6F 72 64 0A 00 50 61 73 73 77 6F 72 64  ssword..Password
00402120: 20 4F 4B 0A 00 00 00 00 00 00 00 00 00 00 00 00   OK.............
00402130: 00 00 00 00 6F CB C4 5B 00 00 00 00 02 00 00 00  ....oEA[........
00402140: 48 00 00 00 14 22 00 00 14 14 00 00 00 00 00 00  H...."..........
00402150: 6F CB C4 5B 00 00 00 00 0C 00 00 00 14 00 00 00  oEA[............

Ага, теперь в секции данных пароля нет и хакеры «отдыхают»! Но не спешите с выводами. Давайте сначала выведем на экран список всех секций, имеющихся в файле:

> dumpbin passCompare2.exe
Summary
    1000 .data
    1000 .kpnc
    1000 .rdata
    1000 .reloc
    1000 .rsrc
    1000 .text

Нестандартная секция .kpnc сразу же приковывает к себе внимание. А ну-ка посмотрим, что там в ней?

> dumpbin /SECTION:.kpnc /RAWDATA passCompare2.exe
RAW DATA #4
    00404000: 6D 79 47 4F 4F 44 70 61 73 73 77 6F 72 64 0A 00  myGOODpassword..

Вот он, пароль! Спрятали, называется… Можно, конечно, извратиться и засунуть секретные данные в секцию неинициализированных данных (.bss) или даже секцию кода (.text) — не все там догадаются поискать, а работоспособность программы такое размещение не нарушит.

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

Никогда не пользуйтесь услугами "взлома"

Хакеры – это те люди, которые очень сильно подвержены стереотипам. Когда человек говорит, что он программист, находится уйма народу с вопросами вроде: “А можешь взломать страничку VK” или “помоги, мне кажется девушка изменяет, хочу прочесть ее переписки в инстаграмме”. А какая тогда ситуация с хакерами – даже представить трудно. Точнее трудно было бы, ведь одно из главных правил хакера – чем меньше людей знают, чем ты занимаешься, тем лучше. Поэтому я задумался, а насколько вообще легко найти хакера в интернете и воспользоваться его услугами. Я постоянно сидел на темных форумах, как в клирнете, так и в даркнете и регулярно видел объявления, вроде: “Взломаю аккаунты любой сложности. Оплата по выполнению. Работаю через гаранта” и так далее. А цена у них от 500 рублей до 10 тысяч за аккаунт простого незнаменитого человека. Ну, как бы, не так и дорого, неужели это действительно так легко воспользоваться услугой хакера и взломать чужую страницу?! Или же все они мошенники?! Я решил провести эксперимент, и заказал взлом двух подготовленных мною аккаунтов. Один простой, где я даже подскажу email страницы, и установлю легкий короткий пароль, который можно подобрать любым брутфорсом и второй с сложным паролем и я не дам никакой конкретики.

Так как на Пикабу не очень любят видео, я предоставлю информацию в 2-х форматах.

1.Видео

2.Текст
Текст поста сделан с моего сценария для видео, который я использовал как черновик. Я его перепроверил, но все равно могут быть ошибки так как писал для себя. Заранее прошу прощения.

На самом деле, перед тем как начать этот эксперимент, я долго думал, взлом акаунта какой именно социальной сети лучше заказать. Сначала я решил по классике – вк, но потом понял, что пинать деда – это нехорошо, к тому же его и так уже изрядно избили. В то время, когда это была единственная социальная сеть, где зависала наша молодежь, и я в том числе, был актуален взлом только страниц ВК. Сколько было придумано способов в то время, сколько нашли уязвимостей и сколько сливов было… Если вы не меняли пароль с 2022 года, то знайте, что ваш аккаунт, скорее всего, взломают в любой неожиданный момент, так как он уже давно есть в базах. Изначально Вконтакте был очень плохо защищен и хакеры слили логины и пароли без какого-либо шифрования. Просто почта или номер телефона и пароль (через двоеточие). Все.

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

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

Одноклассники – нахер надо,

ТикТок – зачем мне детские слезы ?

Фейсбук – Ммм, не, тоже мимо.

Инстаграм – то, что нужно.

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

Зачем впринципе взламывать чей-то инстаграм ? Здесь зависит от обстоятельств. Чаще всего взламывают чужие аккаунты не потому, что именно он, этот ваш аккаунт какой-то особенный и кто-то хочет прочесть все ваши переписки. Практически все владельцы взломанных аккаунтов совсем не интересны хакерам. Ни их фотографии, ни сторис, ни личные переписки, ничего с этого им не нужно. Вы просто сами где-то лохонулись, перешли не по той ссылке, держали очень слабый пароль и просто попали в базу к хакеру, а в последующем эти аккаунты будут перепроданы, скорее всего, просто для спама. Спам – эта первопричина всех взломов инстаграм-аккаунтов.

Читайте также  5 инструментов для загрузки или захвата потокового видео с любого веб-сайта

Как можно понять, если вас взломали, то вполне возможно, это не было злым намерением ваших врагов или “друзей” и знакомых. Вторая причина, по которой взламывают – это шантаж. Здесь тоже обычно дело рук незнакомцев, и вы попали в их цепкие лапы совершенно случайно. Вам просто не повезло. Хакер проходится по базе (обычно его интересуют девушки) и ищет в переписках интимные фотографии. Находит, сохраняет, а потом угрожает, что сольет фотки, если девушка не скинет ему, к примеру, 5 тысяч рублей. Но хотелось бы уточнить, что если ты парень, который вздохнул с облегчением, то быстро вдыхай обратно все свое напряжение, так как твои дикпики так же интересны хакерам. Это бывает реже, так как парни зачастую не намерены платить (и фотографируют себя реже), в отличии от девушек, но все же, риски имеется.

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

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

А что на счет – взлома под заказ. Обычно это делается по той причине, что кто-то кому-то не доверяет и хочет прочесть личные переписки. Интересная ситуация, когда для того, чтобы наладить отношения, встревает третий человек, и это не психолог, а хакер. Бывает и другие причины, вроде конкурентов по бизнесу, обычное любопытство, типа: “интересно, что там у него или у нее можно найти”, – и так далее.

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

Для этого я создаю 2 инстаграм-аккаунта

В первом аккаунте ставлю простейший пароль, который можно взломать за считанные минуты обычным брутфорсом.

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

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

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

Так, где мы будем искать наших хакеров ? Отзываться на спам-комментарии в ютубе я конечно же не буду, не настолько все плохо и надеюсь вы тоже подобным не занимаетесь. Практически любые ссылки и телеграм-каналы в комментариях под видосами в ютубе- это все мошенническая хрень (особенно если они не от блогеров).

Поэтому искать мы будем на форумах.

Я подобрал для себя троих хакеров. Услуги одно стоят 500 рублей; второго тысячу, но он согласился сделать за 500 отзыв; и третьего – 10 тысяч.

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

Я отослал троим одинаковое задание – взломать 2 аккаунта.

В первом дал почту и сказал, что не знаю только пароля; во втором сказал, что нет абсолютно никакой инфы.

Оплату предоставляю только после пруфов, что аккаунт взломан

Скидывал задания я им по очереди, так как хотел точно знать, какие методы использует конкретный хакер. Если бы они все делали одновременно, я бы просто не смог понять, где чья работа.

Я не устанавливал никакой дедлайн, но надеялся, что ребята справятся в течении 2-х дней, так как не хотел затягивать эксперимент больше чем на неделю. Кстати, никто из них, естественно, не знал, что я заказал взлом сразу у нескольких людей.

На самом деле их результаты меня невероятно удивили. И сейчас вы поймете почему.

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

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

Способ невероятно банальный и глупый, так еще и у аккаунта 18 подписчиков и 22 подписки.

Но это еще не весь бред от этого хакера. Его сокращенная ссылка ведет не на фишинговый сайт, а на гребанный файлообменник rghost (здесь я даже слезу ностальгии чуть не пустил), и по этой ссылке лежит какой-то архив под названием ПРИЗ.rar

Я едва умудрился скачать его и открыть архив, пришлось использовать виртуалку без каких-либо антивирусов, включая веб-защитников в браузерах. Внутри лежал екзешник, и знаете что ? VirusTotal показал 61 из 62.

Это абсолютный рекорд на моей памяти.

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

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

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

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

Его услуги изначально стоили 500 рублей. Идем к следующему.

Здесь уже поинтереснее. От него не приходило никаких сообщений и я не видел никакой активности. И вдруг он пишет, что удалось взломать только один аккаунт. Сначала я решил, что все понятно, брутфорсом взломал тот аккаунт с легким паролем, уточню – password123321

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

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

А теперь перейдем к 3 хакеру. Переписка в телеге с ним у меня не сохранилась, сейчас вы поймете почему. Но сохранились сообщения в инсте.

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

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

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

И ответил мне, что смог взломать оба аккаунта.

Я понял, что и здесь меня пытаются обмануть и попросил пруфы, на что он скинул зафотошопленные скрины. Скорее всего он просто отредактировал страницу в исходном коде браузера. Я попросил его поставить лишнюю точку в описании аккаунта, чтобы точно убедиться в том, что он смог взломать. Недохакер пытался вешать лапшу на уши, мол заметят, хотя это абсурд. Кто заметит лишнюю точку в описании и тем более решит из-за этого, что его взломали!?

Когда я сказал, что без этого оплаты не будет, он назвал меня кидалой и кинул в ЧС, удалив при этом весь наш диалог. Я затупил и надеялся заскринить весь диалог для видео/поста уже в конце нашего общения, и как вы могли понять, это не прокатило. Особенно обидно, что диалоги с другими хакерами я скринил после каждого сообщения. У меня было дохренище скринов и никто из них даже не удалил переписку. Я зря столько мучался, а вот с этим стоило бы помучиться. Но да ладно.

Не знаю как вы, но думаю мы все солидарны и сойдемся во мнении, что все эти недохакеры те еще мошенники.

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

Думаю вы поняли, что никогда не стоит заказывать взлом аккаунтов. Вас просто кинут на деньги.

Если кому интересно, на своем ютуб-канале я рассматриваю подобные схемы мошенников. Простое вбейте в ютубе “Фландерс”.

Надеюсь вам было интересно и вы узнали что-то новое и полезное.

Полезный способ по взлому вк.здесь еще не видел

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

Читайте также  Как найти человека по номера телефона в ВК: инструкция. Можно ли найти по номеру телефона в соцсети Вконтакте без регистрации?

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

Шаг второй. знакомство с дизассемблером

О’кей, пароль мы узнали. Но как же утомительно вводить его каждый раз с клавиатуры перед запуском программы! Хорошо бы ее хакнуть так, чтобы никакой пароль вообще не запрашивался или любой введенный пароль программа воспринимала бы как правильный.

Хакнуть, говорите? Что ж, это несложно! Куда проблематичнее определиться, чем именно ее хакать. Инструментарий хакеров чрезвычайно разнообразен, чего тут только нет: и дизассемблеры, и отладчики, и API-, и message-шпионы, и мониторы обращений к файлам (портам, реестру), и распаковщики исполняемых файлов, и… Сложновато начинающему кодокопателю со всем этим хозяйством разобраться!

Впрочем, шпионы, мониторы, распаковщики — второстепенные утилиты заднего плана, а основное оружие взломщика — отладчик и дизассемблер.

Итак, дизассемблер применим для исследования откомпилированных программ и частично пригоден для анализа псевдокомпилированного кода. Раз так, он должен подойти для вскрытия парольной защиты passCompare1.exe. Весь вопрос в том, какой дизассемблер выбрать.

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

Логичнее всего воспользоваться услугами дизассемблера-интеллектуала (если он есть), но… давайте не будем спешить, а попробуем выполнить весь анализ вручную. Техника, понятное дело, штука хорошая, да вот не всегда она оказывается под рукой, и неплохо бы заранее научиться работе в полевых условиях. К тому же общение с плохим дизассемблером как нельзя лучше подчеркивает «вкусности» хорошего.

Воспользуемся уже знакомой нам утилитой DUMPBIN, настоящим «швейцарским ножиком» со множеством полезных функций, среди которых притаился и дизассемблер. Дизассемблируем секцию кода (как мы помним, носящую имя .text), перенаправив вывод в файл, так как на экран он, очевидно, не поместится:

> dumpbin /SECTION:.text /DISASM passCompare1.exe > code-text.txt

Заглянем еще раз в секцию данных (или в другую — в зависимости от того, где хранится пароль): см. листинг 2.

Запомним найденный пароль: myGOODpassword. В отличие от Visual C 6.0, которой пользовался Крис, Visual C 2022 не обращается к инициализированным переменным по шестнадцатеричному смещению, а подставляет значение прямо в секцию кода. Таким образом, попробуем найти выявленный ранее пароль в дизассемблированном листинге тривиальным контекстным поиском с помощью любого текстового редактора.

0040107D: B9 08 21 40 00     mov         ecx,offset ??_C@_0BA@PCMCJPMK@myGOODpassword?6?$AA@
00401082: 8A 10              mov         dl,byte ptr [eax]
00401084: 3A 11              cmp         dl,byte ptr [ecx]
00401086: 75 1A              jne         004010A2
00401088: 84 D2              test        dl,dl
0040108A: 74 12              je          0040109E

Смотрите, центральная часть этого листинга отвечает за сравнение значений регистров EAX и ECX. В последний, как мы видим, в первой строке листинга записывается эталонный пароль, следовательно, в первом — введенный пользователем. Затем происходит сравнение и выполняются переходы почти в одну и ту же точку: 0x4010A2 и 0x40109E. Заглянем, что там:

0040109E: 33 C0              xor         eax,eax
004010A0: EB 05              jmp         004010A7
004010A2: 1B C0              sbb         eax,eax
004010A4: 83 C8 01           or          eax,1
004010A7: 85 C0              test        eax,eax
004010A9: 74 63              je          0040110E
004010AB: 0F 1F 44 00 00     nop         dword ptr [eax eax]
004010B0: 68 18 21 40 00     push        offset ??_C@_0BA@EHHIHKNJ@Wrong?5password?6?$AA@
004010B5: E8 56 FF FF FF     call        _printf

Здесь центральную роль играет инструкция test eax,eax, расположенная по смещению 0x4010A7. В случае если eax равен 0, следующая за ней команда JE совершает прыжок на 0x40110E. В противном же случае на вершину стека выталкивается строка Wrong password:

push        offset ??_C@_0BA@EHHIHKNJ@Wrong?5password?6?$AA@

а следом — вызов функции с говорящим названием:

call        _printf

Значит, ненулевое значение EAX свидетельствует о ложном пароле, а ноль — об истинном.

О’кей, тогда переходим к анализу валидной ветви программы, что делается после прыжка на 0x40110E. А тут притаилась инструкция, которая помещает строку Password OK на вершину стека, после чего вызывается процедура _printf, которая, очевидно, выводит строку на экран:

0040110E: 68 28 21 40 00     push        offset ??_C@_0N@MBEFNJID@Password?5OK?6?$AA@
00401113: E8 F8 FE FF FF     call        _printf

Оперативные соображения следующие: если заменить команду JE на JNE, то программа отвергнет истинный пароль как неправильный, а любой неправильный пароль воспримет как истинный. А если заменить TEST EAX,EAX на XOR EAX,EAX, то после исполнения этой команды регистр EAX будет всегда равен нулю, какой бы пароль ни вводился.

Дело за малым — найти эти самые байтики в исполняемом файле и слегка подправить их.

Шаг третий. хирургический

Внесение изменений непосредственно в исполняемый файл — дело серьезное. Стиснутым уже существующим кодом, нам приходится довольствоваться только тем, что есть, и ни раздвинуть команды, ни даже сдвинуть их, выкинув из защиты «лишние запчасти», не получится.

Ну, с «выкидыванием запчастей» справиться как раз таки просто — достаточно забить код командами NOP (опкод которой 0x90, а вовсе не 0x0, как почему-то думают многие начинающие кодокопатели), то есть пустой операцией (вообще-то NOP — это просто другая форма записи инструкции XCHG EAX,EAX — если интересно).

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

Приходится резать программу вживую. Легче всего это делать с помощью утилиты Hiew, «переваривающей» PE-формат файлов и упрощающей тем самым поиск нужного фрагмента. Подойдет любая версия этого hex-редактора. Например, я использовал далеко не самую новую версию 6.

86, прекрасно уживающуюся с Windows 10. Запустим ее, указав имя файла в командной строке hiew32 passCompare1.exe, двойным нажатием клавиши Enter, переключимся в режим ассемблера и при помощи клавиши F5 перейдем к требуемому адресу. Как мы помним, команда TEST, проверяющая результат на равенство нулю, располагалась по адресу 0x4010A7.

Чтобы Hiew мог отличить адрес от смещения в самом файле, предварим его символом точки: .4010A7.

004010A7: 85 C0              test        eax,eax
004010A9: 74 63              je          0040110E

Ага, как раз то, что нам надо! Нажмем клавишу F3 для перевода Hiew в режим правки, подведем курсор к команде TEST EAX,EAX и, нажав клавишу Enter, заменим ее на XOR EAX,EAX.

004010A7: 33 C0              xor         eax,eax
004010A9: 74 63              je          0040110E
Hiew в режиме правки ассемблерной команды
Hiew в режиме правки ассемблерной команды

С удовлетворением заметив, что новая команда в аккурат вписалась в предыдущую, нажмем клавишу F9 для сохранения изменений на диске, а затем выйдем из Hiew и попробуем запустить программу, вводя первый пришедший на ум пароль:

>passCompare1
Enter password:Привет, шляпа!
Password OK

Получилось! Защита пала! Хорошо, а как бы мы действовали, не умей Hiew «переваривать» PE-файлы? Тогда пришлось бы прибегнуть к контекстному поиску. Обратим свой взор на шестнадцатеричный дамп, расположенный дизассемблером слева от ассемблерных команд.

Конечно, если пытаться найти последовательность 85 C0 — код команды TEST EAX,EAX, ничего хорошего из этого не выйдет — этих самых TEST’ов в программе может быть несколько сотен, а то и больше. А вот адрес перехода, скорее всего, во всех ветках программы различен, и подстрока TEST EAX,EAX/JE 0040110E имеет хорошие шансы на уникальность. Попробуем найти в файле соответствующий ей код: 85 C0 74 63 (в Hiew для этого достаточно нажать клавишу F7).

Опп-с! Найдено только одно вхождение, что нам, собственно, и нужно. Давайте теперь попробуем модифицировать файл непосредственно в hex-режиме, не переходя в ассемблер. Попутно возьмем себе на заметку — инверсия младшего бита кода команды приводит к изменению условия перехода на противоположное, то есть 74 JE -> 75 JNE.

Hiew в режиме правки шестнадцатеричного кода
Hiew в режиме правки шестнадцатеричного кода

Работает? В смысле защита свихнулась окончательно — не признает истинные пароли, зато радостно приветствует остальные. Замечательно!

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

Adblock
detector