![]() |
подделка контрольных сумм
Само слово коллизия - это столкновение противоположных сил, интересов, взглядов. Так написано в словаре. ну а я хочу рассмотреть коллизию в crc32.
Коллизия контрольных сумм в crc32 - отличный пример того, что нет ничего невозможного Допустим, вы протрянили форум.. Или же архив... Отлично, но вот в чем беда - контрольные суммы не совпадают.. И в этой статье я хочу написать о том, что такое и как подделать контрольные суммы.. Собственно, для начала нужен сам пример вычисления контрольной суммы.. Код:
Как подсчитывается CRC32?Цитата:
Но пожалуй, надо перейти от теоризации к более практической части! рассмотрим: По сути, в самой прошивке не хранится CRC, а там хранятся лишь корректирующие байты. Но походу, если все структуры выверены на границу 4-х байт, то можно взять блок, стандартным алгоритмом подсчитать контрольную сумму. если же она не будет равняться нулю, то ищет тот блок, который подходит под нужные нам условия. В утилите: PEiD аже плагин есть специально для подделки CRC (http://slil.ru/24480346 - ссыль посеяла. поэтому залила), а также вот(http://www.secretashell.com/codomain/peid/plugins/ ) ссылка на подборку плагинов для нее.. По сути надо знать что вычислять и по каким параметрам.. Нашла таблицу - приведу ее: http://img507.imageshack.us/my.php?i...0062693de8.jpg По сути, в Crc32 нам надо подогнать блок байт к контролируемому блоку, подогнав контрольную сумму к нужному значению. Блок равен разрядности.. То есть для CRC32 блок будет равняться 4-ем байтам.. расчитанными, или полученными с помощью брута. чтобы рассчитать эту сумму, нужен не только aлгоритм, данные из вышепредставленной таблицы, но также сведения(также необходимые) откуда и докуда защита считает контрольную сумму. Затем нам надо решить внедрять ли нам внутрь кода корректирующие байты, или же просто дописать их. И если целостность всего блока проверяется, то тогда, конечно же легче, лучше и проще нам будет дописать необходимые данные. но тогда длина контролируемого блока изменится.. Но защитные системы часто не обращают внимания на дописывание - они контролируют целостность определенного блока байтов. Я приведу исходник плагина для PEiD'а, который дописывает 4 корректирующих байта к файлу: Код:
#include <stdio.h>Этот метод намного более действенен.. у него больше перспектив... При желании, можно выбить себе место для 4х байт. Можно переписать машинные команды. для начала надо найти наименее значимые биты.. Да и если учесть, что компиляторы тоже не всухую работают.. То есть они тоже вставляют куски кода.. А если это сертификат, то высвободить себе места намного проще. Но всеже, лучше мы рассмотрим пример: Например байтовое расположние у нас выглядит так: A:::::::::::::::::::::::::::::::::D контрольная сумма равняется CRC_OK теперь мы изменим некоторые байты: A:::::x:::::::::::::::::::::::::xxx::::x:x:D Но в чем беда - контрольная сумма отличается.. Давайте найдем себе кусочек байтов, которые можно изменить без зазрения совести? Походу, байты лучше всего вставлять посередине. Это мы и продемонстрируем: A:::::x::::::B_12_3_4_C::::::xxx:::x:x:D Это шаблон, ткак сказать. а теперь нам надо просто подсчитать контрольные суммы этих 4-х байтов и подобрать те, что нам подходят. И в конце посчитать контрольную сумму данного блока. Так.. а теперь посмотрим поближе. Выше я разместила ссылку на PEiD и на плагины! Нам нужен плагин FixCRC(еще ссыль на плагины, вот еще на пейд ссыль ). Потом мы запускаем что-либо, жмем стрелочку. и выбираем crc32 в plugins. Затем выходим, и в хекс-редакторе, к примеру, правим файл. hex_редактор можно найти тут (http://www.handshake.de/user/chmaas/...load/xvi32.zip - спасибо Дикс'у с его темой про авик)) Затем опять откурываем файл в PEiD опять смотрим контрольную сумму. Не совпадает, не так ли?Затем плагин САМ пишет нам - 4 bytes written! да, и мы можем заметить, что в конец действительно было дописано 4 корректирующих байта. Потом мы может вставлять эти волшебные 4 байта в файл, предварительно отступив 4 байта назад в хекс-редакторе. таким образом, можно корректировать не только целые файлы, но и отдельные куски кода! Чтож, мы подделали crc32 - что дальше? Никто не стоит на месте.. Завтра кто-то сможет подделать MD5, потом кто-то придумает MD6.. Посмотрим.. |
Причём тут протрояненыый форум и контрольная сумма? Имхо контрольная сумма относится к файлу (одному!). Ну если ты имелла ввиду скрипт один (например на php) тогда да...
И вообще твоя статья очень смахивает на Криса Касперски (я уже читал) а вот кстате она: http://www.xakep.ru//magazine/xa/090/122/4.asp ЗЫ MD5 и MD6 подделать нельзя, но коллизии попытаться найти можно MD5(pass1)=MD5(pass2) |
-=lebed=-, честно говоря, я ее впервые вижу. Ту статью..
ПС: а то, что на форумах тоже система защиты же.. И смотрит контрольную сумму.. Хотя мне тут кое-кто сказал, что легче просто убрать проверку) |
Shnurovka, а что значит этот фрагмент кода?
Цитата:
|
Thanat0z, я, к сожалению, не кодер.. но исходники выложила для наглядности..
|
|
-=lebed=- это пример, если ты не понял! И во всем инете он аналогичен по сути!
|
Цитата:
ЗЫ Если честно я вообще не понимаю как можно писать что-то, в чём сама плохо разбираешься, значит не твоё, что печально... Скажи мне пожалуйста как вычислить контрольную сумму форума? |
жесть
|
-=lebed=-, мля. если честно то ты по сути только наезжаешь.. Это я вижу! а вот реально больше не вижу ничего! Я конечно слегка офигела от того, что статья в чем-то похожа.. потому что я перерывала весь инет неделю - по теме материала мало. Нашла практический пример, тут что-то есть там что-то етсь. То есть статья можно сказать практическая.. А то, что я ошиблась где-то. Не робот в конце концов.. и не все знаю.. к сожалению.. и мне надоело тут уже отписываться.. если честно! так что - если вдруг что.. ставь минусы - мне не жаль.. ЭТУ статью(что ты покзал) вижу впервые. Все что хотела - сказала! Все.
|
Цитата:
|
писец: неделю рыла весь инет, а я нашёл за пять минут весь исходный материал Криса Касперски... Ну раз рыла дак дай ссылки на исходный материал! А потом говори что это не Крис Касперски а мой сборник из его статей...
Раз: http://www.insidepro.com/kk/118/118r.shtml Два: http://www.xakep.ru//magazine/xa/090/122/4.asp - имхо хватит... этого чтоб написать то что выше, а смысл ? Ты сама подделала контрольную сумму по своей статье? давай тогда выкладывай два файла с одинаковыми контрольными суммами, но один протрояненный а другой нет... |
-=lebed=-, лол. а я взяла определение коллизии со словаря) с толкового словаря.. )) вики и не открывала)
Мля. я рада что ты у нас аткой умный.. Дружишь с Крисом Касперским.. Я - нет! что дальше? Пля.. задолбал! ПС: ты умный.. поздравляю.. круто! иди радуйся.. |
+ снял, если и сама старалась, потому как тут секур-форум и если люди о чём-то пишут, то берут определения не в толковом словаре...
ЗЫ Протроянить архив не так-то просто, если он не SFX. (обычный exe c распакующим модулем). А вот просто архив протроянить интересно как ты себе представляешь? Сам архив имеет контрольную сумму - его нельзя ковырять (добавлять быйты туда) иначе не распакуется... Кроме того файл (для примера один) в архиве, если распаковать имеет свою контрольную сумму. И не факт, что подделав контрольную сумму исходного файла заархивировав мы получим контрольную сумму исходного архиива... |
-=lebed=-, ну снял и ладно.. Один к точкам придрался. второй к словарю. Красота..
|
Цитата:
PS А ты всегда так близко к сердцу критику принимаешь? ;) и ссылки давай на источники, какими пользуешься при написании статей, бум тебе помогать... :) (а то источники бывают хорошие и не очень). |
-=lebed=- конечно я принимаю критику близко к сердцу.. куда я денусь собственно?
Эмм.. вам весь список озвучить? могу в личку... но это очень долго!! оочень.. )) посути сначала перерываю весь инет, читаю все... потом пытаюсь писать из собственных соображений. а тут статья какоя-то. которую впервые вижу)) Лан. забей.. может пригодися кому.. |
2 -=lebed=- - достаточно, твоя критика ясна
2 Shnurovka - научись воспринимать критику. Вообще твои статьи отличаются абстрактностью, в том плане что не знаю кому пригодится то что в них описано, и мало кто их понимает. А самое плохое, что ты похоже сама не понимаешь о чем пишешь, такое ощущение что собраны кусочки материалов, которые написали для тебя другие люди. Далее посты не по теме, то есть не о статье будут удаляться, достаточно уже сказано |
Цитата:
|
Один вопрос. Всего один. Ты сама поняла что сюда выложила под видом своей статьи?
|
Цитата:
Вот ты тут такой умный блин, обосрал шнуровку, а сам то, епт, про чё ? Ты как вообще представляешь себе ответ на свой вопрос?. |
Цитата:
|
Хрень полная. Неопределнности море, автор не имеет к статье никакого отношения
|
а если не кодер то зачем писать статью ?
|
Цитата:
Constantine, не имеет? ну ты даешь.. сам сделай лучше, ок? ЗЫ: статья практическая.. посути, в конце практический пример! ПС: думаем, народ. я разобралась в том, что я написала.. ППС: а форум можно как проверить ) index.php - тоже файл. и его тоже можно проверить. так что с форумом я оказалась права! )) смотрю тут никто не стал разбираться в материале, а доверился стадном чувству.. Мне жаль, что тут у нас все обращают внимание только на недостатки.. + к этому. по пред статье мне поверили после расшировки ай-пишников руснета в ирц.. И если вы все уперлись как бараны - я САМА подменю контрольную сумму и выложу тут! Устроит? я так вижу, что одна я сочла за труд попытаться в чем-либо разобраться. остальные лишь критикуют.. притом, что в своих постах не нашли времени найти ошибок. Я рада, что вы все такие умные.. поэтому я выложу тут результат подмены контр сумм. и после этого прошу без всяких.. заключение: куда баран - туда и стадо. вижу никто не потрудился разобраться ХОТЯ БЫ в практической части. |
2Shnurovka
В общем-то, с большинством (как ни странно) я согласен и заново перечислять не буду. Ладно, разобралась ты. Но, я думал, что статьи пишутся для того, чтобы объяснять другим? А с орфографией, грамматикой, да и вообще стилистикой вижу проблемы. Так статьи не пишутся. И наезжать на других тоже не очень красиво с твоей стороны. |
Цитата:
Цитата:
В любом случае, если под форумом она имеет ввиду один скрипт на php (например index.php куда добавили функции бэкдора) та метода, что в статье описана, для этого не годится (то что в статье имеет отношение к исполняемым файлам). В скрипте придётся для поиска коллизии (приведение CRC к исходной) вставлять например, комментарий и писать туда определённую последовательность байтов (символов). Да и о каком практическом применении идёт речь если как сказано это выше CRC контроль в WEB не используется...Ок!, спросим у Шнуровки что значит мы протроянили архив? З.Ы. Всё что написано выше, подтвержает только одно - Шнуровка плохо понимает то, о чём она пишет, следовательно статья (содержащая неточности и ошибки) просто теряет своё предназначение, т. е. по сути статьёй не является... (похожа на лабораторную работу сделанную на 3). PPS Самое печальное, то что она до сих пор считает, что на счёт протроянивания форума она права... ну бери index.php и грузи его в PEiD и ищи точку входа... :D Мне понравилось заключение Мыщъх: Цитата:
Цитата:
|
Прочитал статью Касперски- такая тема, это покаалась еще большей хренью и кстати ТС пишет что во всем разобралась, но ни на один вопрос по сути не ответила- только агрессивные наезды. гы
|
Цитата:
Цитата:
Кстати, я сняла видео. там все элементарно. Кому что еще непонятно после этого будет? видео! 50 метров с копейками Посути просто прогу заюзала. но ведь контрольные суммы сошлись, не так ли? се ссылки есть в статье. так что смотрим и меняем все, что надо! А насчет наездов. Я принимаю конструктивную критику,а не просто так: типа автор не имеет к статье отношения. Ну и что это? 5 строчек похожи. Видите только плохое. В общем ладно.. Ваше дело. Смотрите видео.. ПС: оно конечно первое. Не фонтан ) по техническим аспектам сильно не бить |
iv. снимала я CamStudio, а ужала я вроде на 30 метров винраром походу. просто поставила макс сжатие. пОставила принудительное сжатие видео. и норм.
|
Цитата:
протроянили архив=протроянили файл в нём = склеили file.exe c другим troy.exe (троем). Засунули результат в PEiD - вернули СRC к исходной, заархивировали снова, контрольная сумма архива отличается от контрольной суммы исходного архива, что делать? |
-=lebed=-, я правила в хексе для примера.. можно правиль в чем угодно.. И вернуть к исходной. Я знаю, что бестолку его туда засовывать. но можно засунуть в хексе.
А ты архив exe'шный сделай и меняй. Точнее склей файл exe'шыный с архивом. и все норм. Есть же такая ф-ция. и иконку меняет заодно. Разве неправильно? ПС: я рада что пошел другой разговор. И требования уже другие - не как к блондинке, тоже радует. Спасибо за это)) |
Цитата:
|
Код:
Получается что если ты не варишь в языке, то исходники нельзя выкладывать? Как-то странно выходит. Хотя твое дело по сути.. Все выкладывают.. А мне нельзя?цитата из другой статьи твоей Код:
-вот и статья моя |
Цитата:
Цитата:
|
я пересняла видео.. Сорри за мой еврейский. В общем, залью - выложу в этот пост!
видео. 26 метров Все. я хз как там дальше ужимать его.. посути тут 2 кнопочки нажать и сделать. Особо и нет ничего.. |
Цитата:
Типа ООП языки и функциональные языки строятся по одним принципам?) |
> языки программирования все равно почти по одному принципу строятся. так что понять что-то можно
простите не удержался эту фразу как понимать? что такое все языки программирования по одному принципу строятся? а может тогда и русский, французский и итальянский с китайским тоже по одним принципам строятся? and Shnurovka, 0x00 я опять под аком нерд пишу? ооот бл........ |
сборник чужих статей...
|
Да главное результат: Репа набрана, ме пошёл ставить минусы тем, кто шнуровке + поставил за эту статью...
|
| Время: 14:56 |