Вход

Просмотр полной версии : Wert-Scan


Страницы : [1] 2 3 4

Wert
07.10.2004, 09:00
Итак, как и обещал - выкладываю последнюю версию своего творения. Умеет блокировать/разблокировать chv коды, выполнять 1 шаг gsm-алгоритма по запросу и (главное!) строить случайные выборки rand-sres.

В следующей версии добавлю сканирование карт v1 (вот только таблицу хорошую для 2R атаки сгенерю). А то под Юникс еще нету таких прог...

Адрес - ftp://ftp.ionb.ru/pub/sim/ws093.rar Пароль на архив - c12dx26a07z29

Для работы нужен модуль Device::SerialPort. Берется на CPAN-е.

Для построения таблицы rand-sres запускать так:
wertscan.pl --port=/dev/ttyS0 --speed=19200 --pin=xxxx --randscan --scancycles=60000 --outfile=./result.tbl

Пока все...

PIC-ador
07.10.2004, 10:08
запускать так:
wertscan.pl --port=/dev/ttyS0 --speed=19200 --pin=xxxx --randscan --scancycles=60000 --outfile=./result.tbl

2 Angelex:
Во-во! Попробуй одной рукой! :D

vit1
07.10.2004, 14:25
пароль не фурычет ил архив?

unixoid
07.10.2004, 18:44
Да...Особые респекты wert`u!!!!!!!!!
Скачал архив, сегодня буду смотреть...
Спасибо!:)

PS.Куски твоего кода использовать в своих прогах не буду:)) Обещаю!:))))

vit1
07.10.2004, 18:57
Не знаю что у тебя фу рычит но у меня нет, качаю архив, размер
архива 4,07 КБ разворачиваю, а мне выдает " неправильный пароль"
WinRAR 3.30 У МЕНЯ.

Wert
07.10.2004, 22:50
Размер архива 4172 байта. Все нормально разворачивается (уже куча народу скачала). Почему с паролем - так это просто. Иначе много кому не надо стянут :)

Что касается кода - используйте где хотите - я копирайтов (пока) не ставлю. Только не выдавайте за свое :)

nomen.
08.10.2004, 02:38
А что там за архивчик в одной директории с сабжем? И открывается тем же паролем.

Wert
08.10.2004, 13:14
А догадаться сложно? Это программный эмулятор работы алгоритма v1. Просто с С переписан на Перл...

unixoid
08.10.2004, 17:06
Да..Если с паролем разобраться сложно, то нефиг его вобще качать:))
А лучше было бы bzip2 упаковать и желатьельно пару байтов в заголовке поменять, чтобы уже ламеру было не достаь(я так обычно делаю):)...

Android_ID
08.10.2004, 17:15
Вот что мне пишет прога, я скачал SerialPort.pm, засунул его в папку lib и запустил

D:\Perl\ws093>wertscan.pl --port=/dev/ttyS0 --speed=19200 --pin=1234 --randscan --scancycles=60000 --outfile=./result.tbl

Вот что мне пишет прога:
Can't locate loadable object for module Device::SerialPort in @INC (@INC contain
s: D:/Perl/lib D:/Perl/site/lib .) at D:\Perl\ws093\wertscan.pl line 4
Compilation failed in require at D:\Perl\ws093\wertscan.pl line 4.
BEGIN failed--compilation aborted at D:\Perl\ws093\wertscan.pl line 4.

В чем может быть проблема?
У меня Active Perl 5 с копейками.
Может руки кривые?
Вообще я плохо знаю *NIX

Wert
11.10.2004, 12:45
Гы. По ActiveState ничем не помогу - я его не использую. Но что-то мне подсказывает, что модули в ActiveState свои и ставятся они не так. Вобщем, смотри доку по ActiveState Perl ;-)

Ворон
12.10.2004, 10:31
вот за это я терпеть не могу Уникс.... хотя все время пользуюсь...

Wert
13.10.2004, 11:23
Ворон, так ты и Уникс используешь? ;-)

Ну и пакостное же это занятие - таблицы для 2R-атаки генерить. Я уже заколебался...

Ворон
13.10.2004, 11:41
Какую гадость я только не использую....а люблю только Винду...

Сгенеришь таблицу хоть на элемент меньше моей, считай себя моим Гуру :)

Android_ID
27.10.2004, 22:47
Поставили все что нада, и вот че выдает перл:

D:\Perl\ws093>perl wertscan.pl --port=/dev/ttyS0 --speed=19200 --pin=9724 --rand

WERT Sim-Card Scanner. Version 0.9.3-20041006.

Using device : /dev/ttyS0 (use --port for change)
Using speed : 19200 (use --speed for change)

Can't locate object method "new" via package "win32::SerialPort" (perhaps you fo
rgot to load "win32::SerialPort"?) at wertscan.pl line 539, <DATA> line 164.

Вопрос такой:
dev/ttyS0 - Это никсовое обращение к порту... Навреняка на винде это выглядит както не так :) Или все предусмотрено???
Помогите плз, потому как нада разобраться с этой софтиной :)

Wert
28.10.2004, 10:12
Гы. Ясное дело, что /dev/ttyS0 - это юникс. А вот в Винде похоже надо написать как-то иначе ;) Только дело в том, что я не использую винду уже много лет, поэтому не могу подсказать.

Кто спецы по ActiveState Perl - подскажите человеку!!!

ЗЫ. У меня складывается впечатление, что минимальный размер таблицы 2R - 31076. Но вот достичь этого минимума пока не получается :(

unixoid
28.10.2004, 15:44
У меня на FreeBSD оно тоже не пашет...Оно открывает порт, дерет атр, и потом безконечно читает тупо ноли(из порта)...Отрубал echo - читает атр и молчит...Исходник я не копал, только пкть к лок-файлу и к девайсу изменил и дебаг включил...Просто FreeBSD немного по-иному с терминалами работает...
Вот пишу сейчас свою прогу(на C), пока что она ничего не делает..только проверяет пин, читает разную дрян с файловой системы(IMSI,ICCID,....),выполняет gsm-алгоритм....Типо Пока так, протокол учю :)

Ворон
28.10.2004, 16:46
У меня складывается впечатление, что минимальный размер таблицы 2R - 31076.


Сильная фраза.... а обосновать можешь?

И кроме того...как быть тогда с тем что в моей таблице 31044 элемента?

Wert
28.10.2004, 23:06
Круто! Значит я ошибся. Мне почему-то казалось, что у тебя 31088. Ну ладно, буду знать...

А обоснование следующее - я построил двудольный граф (одна доля - пары из ki, а другая - пары подбора). А теперь на этом графе пытаюсь найти такое максимальное подмножество ребер, выкидывая которые мы не получим в первой доли вершин со степенью меньше 2. (+еще пару хитрых условий) О как! Но дело не в этом, дело в том, что я придумал 4 разных алгоритма и все из них сходятся к числу 31076, вот только сходятся медленно, то есть чем ближе - тем больше времени надо...

ЗЫ. Пошел думать над новым алгоритмом ;)

По поводу FreeBSD - у меня под Фрей прога работает ;-) Проблема скорее всего в несогласованности скорости интерфейса и карточки (именно в этом случае я наблюдал похожие симптомы)...

unixoid
29.10.2004, 00:31
Проблема скорее всего в несогласованности скорости интерфейса и карточки (именно в этом случае я наблюдал похожие симптомы)...
У меня кварц 3.5,те скорость 9600..в твоей я менял(у тебя,по моему, 19200 было)....
Но моя прога работает...Не знаю,короче:)
А у тебя какая операционка? Судя по ttyS0 - Linux:)?
У меня FreeBSD-4.10.. 5ых не люблю...

Android_ID
29.10.2004, 11:22
У меня на FreeBSD оно тоже не пашет...Оно открывает порт, дерет атр, и потом безконечно читает тупо ноли(из порта)...Отрубал echo - читает атр и молчит...Исходник я не копал, только пкть к лок-файлу и к девайсу изменил и дебаг включил...Просто FreeBSD немного по-иному с терминалами работает...
Вот пишу сейчас свою прогу(на C), пока что она ничего не делает..только проверяет пин, читает разную дрян с файловой системы(IMSI,ICCID,....),выполняет gsm-алгоритм....Типо Пока так, протокол учю :)


Портировать на win32 нет возможности? А то я не очень дружу с никсами!

Wert
29.10.2004, 12:56
У меня Линукс. Портировать я думаю можно, кто хочет - попробуйте. А лучше (я советую) - посмотрите в исходник и пишите свои!!! Это самый лучший путь! ;)

unixoid
29.10.2004, 13:48
сегодня вечером выложу свое барахло и пдф`ку с описанием комманд симки..Может кому-то и надо:)
А лучше (я советую) - посмотрите в исходник и пишите свои!!! Это самый лучший путь!
Это 100%!!! :) :}

Wert
01.11.2004, 09:23
Карта представляет собой удаленный компьютер с которым мы общаемся ТОЛЬКО через последовательный интерфейс по спец. протоколу (gsm11.11). А общаясь только через com-порт очень тяжело искать глюки. Например, по моему опыту на любую недокументированную команду карта отвечает - "Инструкция не поддерживается" (кроме административных команд, но их мы выполнить не можем - надо код доступа).

PIC-ador
01.11.2004, 09:55
с которым мы общаемся ТОЛЬКО через последовательный интерфейс по спец. протоколу (gsm11.11).

Не совсем так. Протокол общий для смарткарт. GSM 11.11 описывает же систему команд для симкарт.

Wert
01.11.2004, 13:46
Согласен ;) Но речь идет о СИМ-картах. Опять же я ни разу не видел карт у которых протокол был бы отличным от T0. Хотя, говорят, бывают...

unixoid
01.11.2004, 21:54
А вот и я :-) извиняюсь, что не вовремя - GPRS не пахал почему-то...

Выкладываю свой хлам...
По поводу for(i=0;i<x;i++)read(d,buf[i],1);...так вот read(d,buf,x); не работает!..аналогично и с write... Не знаю почему,но не работает..читает 4 байта и отцепляется от интрфейса, как будто все считал...
К стати,-дизасемблил кардинал, так там тоже сделано через цыкл...

Вроде все сказал.. :)
Пока что все..будем двигать дальше... :-)

unixoid
01.11.2004, 22:06
А, кстати может и есть какие-то дыры в симках :))
На пример, как в виндах NT на 135 порту :)))))))
Только вот правда, как их найти через ком порт?...

Wert
02.11.2004, 10:03
По поводу циклов. Ясное дело, что не читает за 1 проход! Посмотри внимательно отличие T0 от T1. На то он и T0, чтобы по байтику читать ;)

PIC-ador
02.11.2004, 15:31
А у них, как ни странно - есть проц, или не так? В этом проце есть точка перехода, может как-то всеже можно сделать так, чтобы данные с началом желаний совпали с точкой пехода в памяти проца? может тогда получится почитать, что не читается?

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

KrAZ
02.11.2004, 18:58
А вот и я :-) извиняюсь, что не вовремя - GPRS не пахал почему-то...

Выкладываю свой хлам...
По поводу for(i=0;i<x;i++)read(d,buf[i],1);...так вот read(d,buf,x); не работает!..аналогично и с write... Не знаю почему,но не работает..читает 4 байта и отцепляется от интрфейса, как будто все считал...
К стати,-дизасемблил кардинал, так там тоже сделано через цыкл...

Вроде все сказал.. :)
Пока что все..будем двигать дальше... :-)

А что в архиве?

unixoid
02.11.2004, 21:16
А что в архиве?
Primer raboty s simkoj...napisano C..testilos` v FreeBSD-4.10..
Vot tak vot:)

PIC-ador
02.11.2004, 22:10
Выкладываю свой хлам...

:( А scan то где?

unixoid
02.11.2004, 22:30
Скоро будет..Запарка над таблицей :)

PIC-ador
02.11.2004, 23:01
Запарка над таблицей

Да фиг с ней с таблицей. Алгоритмы давай! :D

KrAZ
03.11.2004, 02:14
Запарка над таблицей

Да фиг с ней с таблицей. Алгоритмы давай! :D

А я их попробую в Нокию впихнуть :) :)

Wert
03.11.2004, 09:05
Как это фиг с ней с таблицей - это самое важное!!! Я придумал таки 5-й алгоритм генерации таблицы, но ничего хорошего из этого не вышло... Теперь придумываю шестой ;)

unixoid
03.11.2004, 09:19
Да фиг с ней с таблицей. Алгоритмы давай!
Да действительно, ето же самое главное! Уже сказали....
Прога будет полностю готова через пару дней,..выложу..а вот таблица будет не знаю когда...может ктото сам генернет раньше меня :))
Или с воронскана сдерет и будет под ункс юзать :)
Но мне что-то не охота,хочу свою :)

А я их попробую в Нокию впихнуть
А таблица влезет? ;)

PIC-ador
03.11.2004, 10:25
Я придумал таки 5-й алгоритм генерации таблицы, но ничего хорошего из этого не вышло... Теперь придумываю шестой

... а у Dejan'а всего за несколько часов. :D

unixoid
03.11.2004, 11:55
За сдирание чего либо с Ворона, можно и по голове получить. Поосторожнее с идеями.
Ха..нтересно...Дело в том, что исходников Ворона у нас нету и кто докажет, что мы содрали с Ворона что-то?

unixoid
03.11.2004, 12:04
Я придумал таки 5-й алгоритм генерации таблицы, но ничего хорошего из этого не вышло... Теперь придумываю шестой

... а у Dejan'а всего за несколько часов. :D

У Диджиана она не оптимальна...

Wert
03.11.2004, 12:18
Во-первых, у Dejan-а элементов больше, во-вторых - никто не говорит что у Ворона - оптимальная таблица (нет доказательств того, что она наименьшая, хотя пока нет и опровержений).

ЗЫ. А то, что таблица взята из Ворона очень просто доказать - в ней будет 31044 элемента ;-))))

PIC-ador
03.11.2004, 13:43
очень просто доказать - в ней будет 31044 элемента

Не факт! А если в ней несколько других пар?

У Диджиана она не оптимальна...

:D Но генерится же быстро! А пара лишних десятков запросов погоды не делает.

PIC-ador
03.11.2004, 14:10
Дело в том, что исходников Ворона у нас нету и кто докажет, что мы содрали с Ворона что-то?

А причем тут исходники? Поставь на порт логер, задай не коллизионную пару …и вся таблица у тебя в логе.
Но …

можно и по голове получить

Константин
03.11.2004, 14:12
Красиво сказал.. :)

Слушай, у тебя дело случаем не двигается с дополнительной галочкой в конфигураторе? Помнишь, был разговор об имени сети?

PIC-ador
03.11.2004, 14:26
Помнишь, был разговор об имени сети?

Да будет. Но потом... Переделывать конфигуратор из-за одной птички, чтоб потом еще раз как-то не хочется. Сейчас поддался повальному увлечению сим-сканом. :D Писать симки из программатора уже могу, не хватает только сканера. Сейчас застрял на 4R-атаке. Все остальные (2R, 3R, 5R) как-то вроде без проблем. А тут затык… :(

Константин
03.11.2004, 15:05
Ну, успехов!
Терпеливо ждём.

Ворон
04.11.2004, 17:32
Всем привет...
Вот таблица для 2R атаки ...

То Пикадор>
раз уж такое повальное увлечение сканированием, то может откроешь топик теории сканирования, как я делал в свое время :) Будем обсуждать, славо богу народ теперь подкованный... а то у меня тогда сплошной монолог вышел ....

PIC-ador
04.11.2004, 20:21
То Ворон>
Как только разберусь с 4R!
А таблица прям как из лога. :D

Ворон
04.11.2004, 20:41
Как только разберусь с 4R!
А таблица прям как из лога.


Дык такой она и должна быть ..в оптимальном виде...
Нет, можно было конечно выложить в отсортированном виде по возрастанию (убыванию), но это не будет неэффективно... :)



... а у Dejan'а всего за несколько часов


А здесь чего то путаете... дежановская таблица это par3.bin и она идет в готовом виде...

А генерится у него par2.bin ,правда не знаю для чего ....либо для какой нибудь из атак, либо (скорее всего) для Стронг КИ...

PIC-ador
05.11.2004, 00:16
А генерится у него par2.bin ,правда не знаю для чего

Возможно.

Проверил твою 2R таблицу. :D и увидел что у тебя счетчик A3A8 врет, показывает на одно обращение меньше, чем на самом деле. :(
Может ты где-то пару потерял?

messenger
05.11.2004, 00:28
То Ворон:
Скажите, а что, собственно, Стронг Ки Деджана из себя представляет? :?:

Ворон
05.11.2004, 08:15
Проверил твою 2R таблицу. и увидел что у тебя счетчик A3A8 врет, показывает на одно обращение меньше, чем на самом деле.
Может ты где-то пару потерял?


Это навернов я так очки втираю...мол обрашения экономлю :mrgreen:

PIC-ador
05.11.2004, 09:52
Это навернов я так очки втираю...мол обрашения экономлю

...не. Наверное Break из цикла делаешь, а счетчик в цикле явл. счетчиком обращений. :?:

unixoid
05.11.2004, 10:18
Ого как все двигается! :))
Сегодня вечером буду разбирать эту таблицу...:)

Wert
05.11.2004, 12:40
Ворон, спасибо за таблицу! Но я не оставляю попыток сделать меньше!!! (А вдруг получится)...

ЗЫ. Сегодня прикручу эту таблицу к своей 2R-атаке ;-)

Ворон
05.11.2004, 13:07
Но я не оставляю попыток сделать меньше!!! (А вдруг получится)...


Я тоже на это надеюсь...

PIC-ador
05.11.2004, 16:07
Но я не оставляю попыток сделать меньше!!! (А вдруг получится)...

Это возможно только имея СВОЮ таблицу!

Wert
05.11.2004, 16:48
Из готовой таблицы сделать лучшую нельзя, иначе бы Ворон сам ее сделал. Это очевидно. Я же создаю алгоритмы, которые пытаются сгенерить таблицу с минимумом элементов из полного набора карты коллизий. В данном случае результат может быть (а может и не быть).

ЗЫ. И вообще - для нахождения минимальной таблицы надо всего-то ;) перебрать 2 в ~192000 степени вариантов...

Ворон
05.11.2004, 17:08
Из готовой таблицы сделать лучшую нельзя, иначе бы Ворон сам ее сделал. Это очевидно.


И из чего же это очевидно? Мне лично это не очевидно...
Я не знаю можно ли сделать меньше... но и доказательста обратного нету...

PIC-ador
05.11.2004, 17:17
Мне лично это не очевидно...

Да я толком не знаю как у тебя пары лежат. Хотя бы по этому.

Wert
06.11.2004, 17:00
Hotlom, а я из Ворона ничего по частям не вытаскиваю... Я вообще-то ни одного алгоритма еще ни у кого не попросил ж-) (Я сам дошел до алгоритмов всех атак). Но вот задача с минимальной таблицей мне показалась интересной, так как пока машины подбирают неколлизионные таблицы для v2 надо что-то делать. Вот поэтому я и пытаюсь найти такую таблицу... Будет реальный результат по v2 - брошу я эту 2R, так как карты v1 хорошо сканятся и Вороном...

unixoid
06.11.2004, 19:03
Слушай,Wert. А что тебе дадут ети таблицы RAND - SRESKc ?
Разтолкуй забитому в GSMных делах чайнику :))

KrAZ
06.11.2004, 20:28
А я их попробую в Нокию впихнуть
А таблица влезет? ;)

Главное чтобы все меньше метра занимало в скомпилированном виде, в идеале - 200 килобайт (тогда и телефон как телефон будет работать).

Wert
07.11.2004, 09:31
unixoid, ну это просто. Так как я пока не знаю как надо будет проводить атаку на v2, то для проверки появляющихся идей нужны будут варианты подбора. А где лучше всего искать варианты? Конечно же в случайном наборе данных... И чем больше этот набор, тем лучше...

PIC-ador
07.11.2004, 20:43
Я же создаю алгоритмы, которые пытаются сгенерить таблицу с минимумом элементов из полного набора карты коллизий.

А полный набор у тебя есть? (там более 295 тыс.)

unixoid
08.11.2004, 10:15
Я вообще-то ни одного алгоритма еще ни у кого не попросил ж-) (Я сам дошел до алгоритмов всех атак).
А как тебе это удалось? Сколько сидел?

P.S. А я симскан дизасемблил :))

Wert
08.11.2004, 10:39
PIC-ador, полный набор я построил в первую очередь (просто перебрав все 65536 вариантов для каждого из 65536 пар ki). То есть 2 в 32-й степени вариантов. На Атлоне-2000 прошло за 1.5 дня.

unixoid, я взял исходник comp128v1 (ну это наверное у всех есть). И стал думать. Общее время думания составило где-то недели 2 (по вечерам и ночам). Просто для меня - это не первая встреча с криптоанализом (я и раньше подобными вещами занимался).

unixoid
08.11.2004, 11:08
Понатно...
Исходник у всех есть :)))
Я даже пыталсяа его в голове прокрутить :)) но там такая куча вложенных циклов и такие закрученые формулы, что крыша едет :D

PIC-ador
08.11.2004, 11:34
полный набор я построил в первую очередь (просто перебрав все 65536 вариантов для каждого из 65536 пар ki). То есть 2 в 32-й степени вариантов. На Атлоне-2000 прошло за 1.5 дня.

Это пример как делать НЕ НАДО! :D У меня все генерится менее 10 минут. И никаких переборов.

ЗЫ. Правда в первый раз я тоже на эти грабли наступил. :(

Wert
09.11.2004, 09:20
Может так делать и не надо, но есть такое правило "Машина должна работать, а человек - думать". И если то, что мне нужно для думания генерится за приемлемое для меня время, то пусть себе генерится, а я вместо того, чтобы улучшать этот алгоритм генерации буду над чем-нибудь другим думать. О как! (надеюсь понятно изложил).

ЗЫ. А тот перебор вообще не Перле был написан ;) (за 5 минут).

PIC-ador
09.11.2004, 10:00
:) Ну ладно не кипятись. Просто полтора дня для меня время неприемлимое.

Ворон
09.11.2004, 11:01
Дык все равно один раз нужно было генерить...какая разница скока времени.... главное потом сохранить ..чтоб опять не генерить....
или могли бы просто сказать я бы выложил весь файл., чтоб попусту время не теряли (говорю попусту, ибо идеи глубокомысленной в переборе 65 тыс. по 65 тыс немного :) )

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

П.С. кстати насчет 1.5 часа и 10 минут... я так думаю Wert гонял весь алгоритм, в то время как ПИК-адор вычислял сразу 4 байта результата после второго раунда из 4 исходных байтов (2 Ки и 2 SRAND)

unixoid
09.11.2004, 11:35
раз уж такое повальное увлечение сканированием, то может откроешь топик теории сканирования, как я делал в свое время :) Будем обсуждать, славо богу народ теперь подкованный... а то у меня тогда сплошной монолог вышел ....
Давайте! Мне тоже интересно :)

PIC-ador
09.11.2004, 12:14
П.С. кстати насчет 1.5 часа и 10 минут...

Заметим, что не полтора часа, а полтора дня против десяти минут. :D
Итак:
Ворону не нужно объяснять, что такое коллизия? Вот из этого я и исходил.
Все делается в три этапа:
1. ТОЛЬКО для ДВУХ (не четырех) связанных байт вычисляются все возможные значения выхода при разных входных на первом раунде. В памяти строится таблица размером 64к, где индекс к строке и есть собственно значение выхода, а строка содержит число пар и сами пары (у меня оформлено как структура). Она будет заполнена где-то на ¾.
2. Тоже самое делаем только для второго раунда (там таблица будет заполнена только на ¼ )
3. Далее цикл уже для всей четверки байт. Переменные цикла индексы ко второй таблице. Из нее получаем индексы для первой (не забывая, о том, что связка байт изменилась). И на выходе уже собираем пары в кучку.

PIC-ador
09.11.2004, 12:27
в то время как ПИК-адор вычислял сразу 4 байта результата после второго раунда из 4 исходных байтов (2 Ки и 2 SRAND)

Кстати, тоже вариант. Хотя в памяти уже не разместить такую таблицу!

Ворон
09.11.2004, 16:49
насчет 1.5 часов опечатка конечно....1.5 дня имелось ввиду

А насчет разместить в памяти... хм.. всего получается около 300 тысяч. коллизионных пар... умножаем на 6 (каждой паре KI по две коллизионные пары), итого 1.8мегабайт.... спокойно размещается...

PIC-ador
09.11.2004, 18:55
2 Ворон>

Хотя в памяти уже не разместить такую таблицу!

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

Wert
10.11.2004, 11:31
Да это все понятно. Но как уже было сказано - надо-то ведь 1 раз! Далее этот файлик лежит себе и лежит ;)

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

AnMan
13.11.2004, 02:33
....запускать так:
wertscan.pl.....
[root@localhost Wert-Scan]# perl wertscan.pl --port=/dev/ttyS0 --speed=19200 --pin=1234 --randscan --scancycles=60000 --outfile=./result.tbl

WERT Sim-Card Scanner. Version 0.9.3-20041006.

Using device : /dev/ttyS0 (use --port for change)
Using speed : 19200 (use --speed for change)

->ATR : 3B 3C E5 00 4B 31 25 F2 10 09 03 94 83 83 90 00

---------------------------------------
-|-> A0 A4 00 00 02
-|- 5 bytes wrote
-|<-
-|- 0 bytes readed
-|- ERR:ERR_READ_SIGN_ECHO
ERROR! Cannot select DF_GSM (7F.20)!!! (ERR_READ_SIGN_ECHO)
имеем
[root@localhost root]# uname --all
Linux localhost.localdomain 2.4.26-std-up-alt5 #1 Mon Jun 28 21:59:23 MSD 2004 i686 GNU/Linux
[root@localhost root]# setserial -abGv /dev/ttyS0
/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal

Чего-то не пойму, чего ему не хватает? (7F.20) - это что?

unixoid
14.11.2004, 16:14
7F20 это DF.GSM...Посмотри описание симок(я в соседнем топике ложил) и все поймешь...
А подобная бадяга у меня была с FreeBSD..но я не стал разбиратся..облом,и так работы хватает...
А у тебя всего скорее проблемма с портом..Какой у тебя ридер? Может он 19200 не держит? попробуй поставь 9600...
PS. Tы явно Ctrl+C Ctrl+V делал :)))))))))))))))))

unixoid
14.11.2004, 16:24
O. Разтолкуйте мне,plz, o раундах шифрования...Что они вобще собой представляют? и как их "увидеть" в том алго(v1)? Сегодня пол дня сидел, не мог додуть..:(
Вот, допустим, мне нужно узнать выход(32 байта,я так понял?) на втором раунде
для ранда 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
и KI 01 FF FF FF FF FF FF FF 02 FF FF FF FF FF FF FF ...
Как его вычислить?

Wert
15.11.2004, 10:42
Ну это просто.

1-й раунд - используются байты i, i+16 и таблица table0.
2-й райнд - используются байты i,i+8 и таблица table1.

Замечание - под раундами мы понимаем именно шифрование по таблицам, а НЕ полные циклы (которых там 8). Ибо, если после 2-го раунда результаты получились одинаковые, то дальше на выходе они тоже будут одинаковые.

Ясно?

ЗЫ. А симка не отвечает скорее всего из-за несогласованности скорости порта и карты. А еще может интерфес без эха?

unixoid
15.11.2004, 17:09
Нет. Не ясно....:(

Tы лучше расскажи как узнать выход(32 байта,я так понял?) на втором раунде..На пример есть ранд 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 и KI 00 FF FF FF FF FF FF FF 01 FF FF FF FF FF FF FF ...

Я так сразу пойму....

Wert
15.11.2004, 19:49
Блин. Ну это же долго расписывать. Ну вот смотри: сначала строим 32-х байтовый массив R вида KI-RAND.
Далее (1-й раунд) - берем 0-й байт (00) и 16-й байт (02). По таблице 0 перевычисляем новые значения 0-го и 16-го байта (R[0]n=Table0[(R[0]+2*R[16]) and 1FF], R[16]n=Table0[(2*R[0]+R[16]) and 1FF]). Аналогично для оставшихся 15-ти пар (1-17, 2-18,...,15-31).
Далее (2-й раунд) - берем 0-й байт (уже новое значение!) и 8-й байт. Делаем аналогично - R[0]n=Table1[(R[0]+2*R[8]) and 0FF], R[8]n=Table1[(2*R[0]+R[8]) and 0FF]. Аналогично для оставшихся 15-ти пар (1-9,2-10,...,7-15,16-24,..,23-31).

Ясно? Подробнее уже некуда.

AnMan
17.11.2004, 00:41
...ЗЫ. А симка не отвечает скорее всего из-за несогласованности скорости порта и карты. А еще может интерфес без эха?
Согласен, плюс, как оказалось, права на порт и его групповая принадлежность. Но менять не хочу. Под эмулятором wine sim_scan 2.1 работает, и с портом и картой порядок. Какой дистр порекомендуем?
... подобная бадяга у меня была с FreeBSD..но я не стал разбиратся..облом...
У меня ALT-linux. А под каким дистрибутивом завелось ?

Wert
17.11.2004, 09:15
У меня (как у автора) - LFS. Хотя работать будет под чем угодно, лишь бы был perl5 и права на порт (я от рута пускал).

unixoid
18.11.2004, 04:12
Konechno zhe ponyatno! Kuda uzhe podrobnee :) Spasibo!

__________
А вот выкладываю Wert-Scan под wIndoW$. Файлы генерит такие, как и оригинальный Wert-scan...

Пример запуска:
wertscan -d COM2 -r out.tbl -l 65536
Help:
wertscan -? или просто wertscan

Писал под чутким руководством Hotlom`a :)
Спасибо ему большое за инфу!

PS.Написано эт овсе было под FreeBSD....А здесь просто портировано под M$..так что, если будут глюки - пишите..

Ворон
18.11.2004, 08:24
ты бы хоть абревиатуру другую использовал... а то WS ... путаница будет...

unixoid
18.11.2004, 14:01
И еще...
Известно, что для 3R атаки нам нужны 2 пары (0,8 ) RAND, при которых для известных 0,8 байтов KI результаты (0,8,16,24) на втором раунде отличаются первым байтом...Но...таких четверок то дофига, а подходит только одна...Вот и не могу догнать, как вычислить именно ту, которая нужна....Я же не буду скармливать каждую (0,8 )RAND1 и (0,8 )RAND2 карте меняя 12 байт ранда от 0 до FF...это же запросов.....
Подскажите плз, как быть...

PIC-ador
18.11.2004, 17:23
Но...таких четверок то дофига, а подходит только одна...

... и не только для 3R! Для 4R и 5R их тоже до фига. :D

Ворон
18.11.2004, 21:07
И еще...
Известно, что для 3R атаки нам нужны 2 пары (0,8 ) RAND, при которых для известных 0,8 байтов KI результаты (0,8,16,24) на втором раунде отличаются первым байтом...

Необязательно первым ..любым из четырех...

...Но...таких четверок то дофига, а подходит только одна...Вот и не могу догнать, как вычислить именно ту, которая нужна....

байт номер 0 и 4 на третьем раунде формируются из байтов 0 и 4 на втором раунде.. таким образом из байтов, которыми отличаются четверки на втором роунде (назовем их Х1 и Х2, и пусть это будут первые байты т.е. 0 ) и байта номер 4 (назовем его Y), должны получаться одинаковые значения на третьем роунде...

говоря конкретнее из Х1Y (0,4) и Х2Y (0,4) на втором роунде, должны получится одинаковые (0,4) на третьем роунде...

Байт 4 (Y) на втором роунде легко подогнать, варьируя любой из байтов (4,12) RANDa...

unixoid
19.11.2004, 00:22
Спасибо большое!!! Все сделал, работает! ;) :D
Теперь буду делать 4R..... :wink:

Wert
22.11.2004, 09:23
Ну вот видишь - коллективный разум помог, как всегда! Кстати, самая неприятная атака - это 5R ;-)

Wert
24.11.2004, 11:06
У меня вопрос к Ворону - а последовательность элементов в твоей таблице 2R - случайная? Или есть закономерность? Мне вот пришло в голову отсортировать таблицу по частоте встречаимости в коллизиях (по убыванию). Тогда вероятность подбора пары в начале атаки больше, чем просто отношение числа проверенных пар к общему...

Ворон
24.11.2004, 11:14
У меня вопрос к Ворону - а последовательность элементов в твоей таблице 2R - случайная?


Нет конечно... отсортировано по частоте встречаемости в коллизиях :mrgreen:

Wert
24.11.2004, 11:54
Ок. Хорошие идеи иногда приходят и в самую дурную голову ;) Это я так самокритично ;)

BigMan.
27.11.2004, 14:13
2 unixoid Пытання!!
Портированный на винду WertScan выдает на всех опробованных мною машинах:
ATTR: 3B A 21 0 5 22
Error selecting 3F00 (MF)!

Ты просил писать если будут глюки, вот я и пишу :))

unixoid
27.11.2004, 17:25
Похоже на глюк со скоростю порта...Ты какую скорость ставил? Какая скорость у твоего ридера? Какую скорость ставишь, когда юзаешь другие проги?
Дело в том, что я не умел работать с портом в винде и содрал все с СимСкана..Попробуй в СимСкане те свои карты...Если будет подобный глюк - тогда буду копаться в инете, искать другие решения...Если будет пахать, значит что-то не досмотрел..поправим тогда..

Wert
29.11.2004, 09:57
Скоро выйдет версия 1.0 оригинального Wert-Scan-а. Написана в двух вариантах - на Перле и на Паскале (FPC). Так вот FPC-шная версия уже сейчас запросто собирается и работает ОДИНАКОВО и под Линухом и под Виндой.

Сайт управляется системой uCoz