eXTracted INternals

eXTracted INternals
 
ФорумФорум  ЧаВоЧаВо  ПоискПоиск  РегистрацияРегистрация  ПользователиПользователи  ГруппыГруппы  Вход  

Поделиться | 
 

 Обход Symbian Capabilities

Предыдущая тема Следующая тема Перейти вниз 
На страницу : Предыдущий  1, 2, 3, 4, 5, 6  Следующий
АвторСообщение
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Ср 20 Июн - 19:23

Hex пишет:
Сорцы TRK: http://extint.nerod.ru/Files/metrotrk.rar
То что надо, вчера полдня пытался их найти - безуспешно. Там кстати присутствует интересная функция InstallROMPatch
Hex пишет:
Кстати, Hex, не мог бы ты в настройках форума включить возможность редактирования своих постов пользователям? Иногда хочется что-то добавить в пост, а приходится заводить новый.
+1
Тоже хотел предложить Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Обход Symbian Capabilities   Чт 21 Июн - 2:18

Включил правку.
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Чт 21 Июн - 19:41

Hex, натолкни пожалуйста на мысль как с TRK общатся. Вчера попробовал, чето ничего не получилось. Мож там как то форматировать сообщения надо или перед началом отослать че нить в порт чтоб TRK поняло что с ним хотят общатся Smile Я пробовал тупо писать 4 (GetVersions), а потом читать... ниче не возвращает Sad Так же пробовал сначала 1 (Connect) результат тот же...
Раньше с портами не работал, мож глупость спрашиваю Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Обход Symbian Capabilities   Чт 21 Июн - 23:16

Ну я собственно сам протокол не рыл глубоко, я через Codewarrior конектился к E60, и оно там само выписывало в лог все ушедшие-пришедшие байты. Я помню что я взял одну из заготовок работы с COM портом просто поганял байты, как codewarrior, а потом ради интереса проверил OpenFile.

Конкретнее опиши ситуацию.
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Пт 22 Июн - 0:17

Через OpenFile открываю COM4. Потом через WriteFile пробовал писать 4, потом через секунду (или сразу) читал 1024 байт (на всякий случай) через ReadFile... ничего не возвращалось. По идее должен был вернутся дворд с версиями протокола и самой проги.

ЗЫ. Точна, надо поснифирить как с ним карбид общается Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Обход Symbian Capabilities   Пт 22 Июн - 4:04

Там важны настройки: порта, скорость, DTR, RTS и прочие флаги.
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Сб 23 Июн - 8:00

файлы хеша - это действительно SHA1 160 (совпадает со с значением из DAMN Hash Calc). На wasm говорят, что коллиций для sha обнаружено не было - значит действительно не подделать. Для записи в каталог c:\sys\hash\ тоже нужен TCB
Я так посмотрел, в роме есть одна проверка хешей.
Место, где проверяются капсы в заголовке, найти пока не смог.
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Вс 24 Июн - 18:51

Что значит "действительно не подделать" ? Зачем подделывать, проще сгенерить Smile Тока вот с записью жопа Sad TRK, собака, не хочет писать/читать из запрещенных дир.
Цитата :
Место, где проверяются капсы в заголовке, найти пока не смог.
Попробуй, RLoader поковырять (начни с User::LoadLogicalDevice) Тока он там через SWI работает...
Кстати, сразу вопрос возник: где найти вектора прерываний ? Чтоб хоть знать куда управление передается...
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Пн 25 Июн - 0:31

да смотрел я RLoader - тухло всё...
Также смотрел RProcess::DoHasCapability - не участвует в процессе загрузки приложений.
Проги с TCB не запускаются, показывая InfoMsg "Невозможно запустить", а InfoMsg - не в CoreOS находится, значит, возвращается просто номер ошибки. Думал поискать по ссылкам, начиная с момента, когда хеш считается, в дебри какие-то забираюсь... в общем не знаю.
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Обход Symbian Capabilities   Пн 25 Июн - 5:25

Zorn пишет:
Кстати, сразу вопрос возник: где найти вектора прерываний ? Чтоб хоть знать куда управление передается...

Найти можно в Ekern.exe
Сделайте поиск бинарный поиск числа E0000003. В найденых результатах, вхождения с 11 по 16 - это в таблице хендлеров SWI.

Выглядит примерно так:
Код:

ROM:F8014A2C    dword_F8014A2C  DCD 0xE9                ; DATA XREF: ROM:off_F802D620o
ROM:F8014A2C                                            ; ROM:off_F80401C0o
ROM:F8014A30                    DCD sub_F801AD84
ROM:F8014A34                    DCD sub_F8015224
ROM:F8014A38                    DCD 0
ROM:F8014A3C                    DCD sub_F8029B80
ROM:F8014A40                    DCD 0xE0000003
ROM:F8014A44                    DCD sub_F8029C24
ROM:F8014A48                    DCD 0xE0000003
ROM:F8014A4C                    DCD sub_F8029C2C
ROM:F8014A50                    DCD 0xE0000003
E0000003 - я так понимаю это capability которые нужны для вызова.
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Пн 25 Июн - 18:58

Мляха, че то не обратил внимания что у ехе TRK не хватает TCB (FE в конце не заметил)... ЫЫЫ, из за одного бита все летит к чертям... абыдно. С другой, стороны - зачем тогда у драйвера все капсы, если загружаемая либа принимает капсы загрузчика ? (хотя как это к драйверам относится не знаю) Это меня на мысль натолкнуло - может есть какая нибудь версия старая со всеми капсами ???
А пока надо какой нибудь еще способ придумать...

ЗЫ. Лоадер, кстати, это efile.exe (он еще в заголовке рома как Secondary Image). В его private директорию _reg файлы всех программ кладутся...
Сам пока РОМ не ковыряю... пока не найду способ его патчить...
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Вт 26 Июн - 7:54

а я что-то уже не понимаю, нафига мне все эти капсы доступные, более менее интересен только условный капабилити AllFiles (да и то, можно все файлы прошивки можно и так получить, без использования мобилы), остальные в основном безусловные, и в обычных прогах не используются, и толку от них нет.
Еще где-то в сдк натыкался на функции, требующие ECapability_Denied, что-то там с криптографией связано, возможно, неимплементировано.
-
кстати, почему вы считаете, что нельзя в инталляторе найти багов?
вот глянул мельком, к примеру на securitymanager.dll (ALL caps, вызывается из installserver.exe с TCB), сразу наткнулся на код:
Код:

                EXPORT Swi::SecUtils::IsExeL(TDesC16  const&)
Swi::SecUtils::IsExeL(TDesC16  const&)  ; DATA XREF: .text:0000A578o
TUidType        = -0x430
fname          = -0x214

                PUSH    {R4,R5,LR}
                SUB    SP, SP, #0x1FC
                SUB    SP, SP, #0x1FC
                SUB    SP, SP, #0x3C
                LSL    R5, R0, #0
                MOV    R0, SP
                MOV    R4, SP
                BLX    TEntry::TEntry(void)
                LSL    R1, R5, #0
                ADD    R0, SP, #0x440+fname
                BL      TBufBase16__TBufBase16
                LSL    R1, R4, #0
                BL      sub_8F78
                MOV    R1, #0
                ADD    R0, SP, #0x440+TUidType
                BLX    TUidType::operator[](int)
                LDR    R0, [R0]
                LDR    R1, =0x1000007A
                CMP    R0, R1
                BNE    ret_0
                MOV    R0, #1
ret                                    ; CODE XREF: Swi::SecUtils::IsExeL(TDesC16  const&)+3Cj
                                        ; Swi::SecUtils::IsDllL(TDesC16  const&)+34j ...
                ADD    SP, SP, #0x1FC
                ADD    SP, SP, #0x1FC
                ADD    SP, SP, #0x3C
                POP    {R4,R5,PC}
; ---------------------------------------------------------------------------
ret_0                                  ; CODE XREF: Swi::SecUtils::IsExeL(TDesC16  const&)+2Ej
                MOV    R0, #0
                B      ret
; End of function Swi::SecUtils::IsExeL(TDesC16  const&)
Что будет если в подобной функции длина имени файла будет больше 0x440? не перезапишем ли мы LR в стеке? если так, в такой объем можно неплохую программу забубенить, к примеру
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Вт 26 Июн - 18:27

wl пишет:
кстати, почему вы считаете, что нельзя в инталляторе найти багов?
Я этого не говорил. Даже пытался Smile Пробовал сис сделать с путем (на теле) типа C:\sys\bin\..\hash\TrkApp.exe. Думал мож он путь проверяет на sys\hash (ну наудачу Smile) makesis не захотел мне такой сис делать (мож подпатчить попробовать))))
wl пишет:
Что будет если в подобной функции длина имени файла будет больше 0x440? не перезапишем ли мы LR в стеке? если так, в такой объем можно неплохую программу забубенить, к примеру
Ну, не 0x440 а гораздо меньше:
Код:
(0x440-0x214)/2-(всякая дребедень от TBufBase16 кроме самого пути)
получается окола 255...
НО, попробуй ка у себя на винте, хотя бы, создать файл с полным путем (без диска) больше 255 Smile Даже на НТФСе низя, что уж там о телефонной ФС говорить... Надо где то еще поискать...
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Ср 27 Июн - 2:58

а кто говорил, что его нужно создавать? главное в sis такой путь запихать, наверняка где-нить сглючит
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Ср 27 Июн - 19:02

Цитата :
а кто говорил, что его нужно создавать? главное в sis такой путь запихать, наверняка где-нить сглючи
Где бы только найти описание формата sis для 9x. Для 6.1 помнится я разбирал формат, да и он был описан в СДК насколько я помню. Для 9-ки пока не нашел...
Или может makesis пропатчить ?

И еще один вопрос не дает покоя: даже если выгорит, как определить куда управление передавать (чем LR переписывать), ведь значение SP на тот момент не известно ?

ЗЫ. А ты пробовал менять файл Z:\System\Data\swipolicy.ini Там вроде можно PlatSec отключить как таковую.
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Ср 27 Июн - 23:10

Содержимое файла от SE w950, не понятно, что тут можно изменить, учитывая, что файл можно только уменьшать:
Код:

AllowUnsigned = true
MandatePolicies = false
MandateCodeSigningExtension = false
Oid = 1.2.3.4.5.6
Oid = 2.3.4.5.6.7
DRMEnabled = true
DRMIntent = 3
OcspMandatory = false
OcspEnabled = true
AllowGrantUserCapabilities = true
AllowOrphanedOverwrite = true
UserCapabilities = NetworkServices LocalServices ReadUserData WriteUserData Location UserEnvironment
AllowPackagePropagate = true
ApplicationShutdownTimeoutSeconds = 10
RunWaitTimeoutSeconds = 180
ReplacePath = \MMFH_PATH_ROOT\|c:\MEDIA FILES\|!:\|
ReplacePath = \MMFH_PATH_IMAGE\|c:\MEDIA FILES\PICTURE\|!:\PICTURE\|
ReplacePath = \MMFH_PATH_AUDIO\|c:\MEDIA FILES\MUSIC\|!:\MUSIC\|
ReplacePath = \MMFH_PATH_VIDEO\|c:\MEDIA FILES\VIDEO\|!:\VIDEO\|
ReplacePath = \MMFH_PATH_DOCUMENT\|c:\MEDIA FILES\DOCUMENT\|!:\DOCUMENT\|
ReplacePath = \MMFH_PATH_OTHER\|c:\MEDIA FILES\OTHER\|!:\OTHER\|
-
формат sisx описан на сайте симбиан, на всякий случай продублирую:
http://server2.dimonvideo.ru/uploads/public/users/wl/softwareinstallsis.rar
а что, makesis по умолчанию не позволяет добавлять пути длиннее 255 символов? ведь не важно, где файл хранится, важно куда он будет помещен, как описано в .pkg файле.
-
а прыгнуть можно назад на стек, на это самое название файла, а в нём (в названии) и написать малвар, правда придется избегать нулей в коде, кто знает, возможно ли это на ARM...
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Чт 28 Июн - 0:40

Цитата :
Содержимое файла от SE w950, не понятно, что тут можно изменить
Там есть опция которая PlatSec отключает. Точное название не помню, глянь в хелпе СДК (про эмулятор и капсы).
Цитата :
а что, makesis по умолчанию не позволяет добавлять пути длиннее 255 символов?
Я не подумал... но скорей всего заорет...
Цитата :
а прыгнуть можно назад на стек, на это самое название файла, а в нём (в названии) и написать малвар, правда придется избегать нулей в коде, кто знает, возможно ли это на ARM...
Вот я и спрашиваю КАК ? Ведь значение SP неизвестно (там ведь надо будет точное значение для LR в оверфлоу написать). А по части нулей скорей всего можно не беспокоится - опять же юникод + у TBufBase16 строки не нультерминатные (там вообще не строки, а просто данные с указанием длины).
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Чт 28 Июн - 2:12

а, ну да... у нас же LR абсолютный адрес хранит... но это пока что не важно, наверняка это можно как-то обойти, нам главное сейчас найти способ атаки, чтобы после возврата из одной из функций прыгала туда, куда мы хотим, а не к предыдущему методу.
Имхо, лучше всё-так и с имен файлов начать, а потом уже к сертификатам/asn.1 переходить - всё таки попроще. В голову приходят разные идеи, типа там... c:\temp\c:\sys\hash, или c:\/\\//\/\/\/\, или c:\temp\..\sys\hash, или c:\a\a\a\a\...(много-много раз)...\a\a\. Также в таблице юникода символу косой четры соответствуют несколько кодов.
в общем, надо задурить как-то парсер имен файлов.
Для этого нужна утила для разжатия/сжатия сисконтроллера, и вообще, свободного редактирования полей готовых сисек
-
Насчет PlatSec - это только для эмулятора, на мобиле эта фишка не проверяется, и вообще, на этапе компиляции операционки указывается, используются ли капабилити
-
ах да, и ещё - в книге про кишки симбиан написано, что в 9.1 CoreOS полностью загружается в память, так что если как-то найти способ обмануть MMU и записать туда свои данные, тогда запросто можно поскипать проверку хешей у exe
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Чт 28 Июн - 19:41

Эх, про срыв стека наверное тоже придется забыть. Вчера глянул ту функцию которую ты приводил... спустился вниз конструктора TBufBase16. Во первых там ДОЛЖНА явно задаваться длина буфера (и она там задается - 256). Во вторых в TDes16::Copy (оно там ниже используется), если длина буфера приемника меньше длины буфера передатчика будет User::Panic с кодом 11. А у кода у этого такое название интересное... ETDes16Overflow
Все продумали черти, на уровне конструктора.

Утилу для сисек думаю не проблема написать, тока вот диплом сдам Rolling Eyes
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Обход Symbian Capabilities   Пт 29 Июн - 2:28

Я б с вами тоже поковырялся. Да блин у мя ща задача на WinCE. Поэтому могу тока поглядывать и подсказывать чего знаю.
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Пт 29 Июн - 7:45

ну это понятно про эту фунцию, что она не подлежит взлому, я поэтому и написал в том посте про поиск уязвимостей в _подобных_ функциях. Глюк можно найти даже в Zlib-библиотеке, если что...
Определим для начала, в каком направлении нужно растягивать sis, чтобы порвалась сама симбиан. Кроме этого ничего умного больше в голову не приходит - непонятно, в каком ещё месте можно так легко манипулировать входными данными для получения TCB-капабилити. Хотя можно пофильтровать z:\sys\bin на эту тему
-
кстати, вопрос перепрошивки uiq3 смартов - уже решенный, этим сейчас плотно занялся человек из team davinci, и вскоре каждый желающий сможет перепрошиться на $20 на прошивку без сертификатов, капабилетей и прочей дряни, типа запроса на доступ в интернет/фс для оперы мини (вполне возможен вариант изменения z: диска прямо из уже установленной и запущенной симбиан). Однако всё равно интересно поискать дыры в чреве симбиана
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Пн 2 Июл - 11:42

неожиданно выяснили, почему нельзя запустить приложение с TCB - оказывается, импортируемые dll не должны иметь меньшие капсы, чем процесс. Именно поэтому всё, что с TCB - это серваки без UI, которому ничего не дано
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: Обход Symbian Capabilities   Вт 3 Июл - 3:02

Я чо-то запутался. Вы какие капс стремитесь получить?
Вернуться к началу Перейти вниз
Посмотреть профиль
wl



Количество сообщений : 127
Дата регистрации : 2007-02-15

СообщениеТема: Re: Обход Symbian Capabilities   Вт 3 Июл - 8:04

TCB - чтобы править содержимое sys\ каталога
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: Обход Symbian Capabilities   Чт 5 Июл - 1:59

Возможно TCB нам и нужен. Задача ведь драйвер подгрузить. Взглянем в сторону TRK. TCB нету, но драйвер может загружать. Причем у драйвера есть TCB, значит правило для библиотек (должно иметь такие же или больше капсы) на драйвера не распространяются. Надо посмотреть, проверяет ли инсталлер драйвера на капсы при установке (тут скорей всего облом). Либо поискать еще какой нибудь способ для патча ROMa (пристальней глянуть функцию InstallROMPatch из ТРК) с минимальными капсами.
Я тут Карбид 1.2 скачал. Там вроде есть вывод всех капсов необходимых для проги. Гляну, что нужно для LoadLogicalLibrary, мож чего наколдовать получится.

ЗЫ. Завтра еду диплом сдавать... поболейте за меня Cool
Вернуться к началу Перейти вниз
Посмотреть профиль
Спонсируемый контент




СообщениеТема: Re: Обход Symbian Capabilities   

Вернуться к началу Перейти вниз
 
Обход Symbian Capabilities
Предыдущая тема Следующая тема Вернуться к началу 
Страница 2 из 6На страницу : Предыдущий  1, 2, 3, 4, 5, 6  Следующий

Права доступа к этому форуму:Вы не можете отвечать на сообщения
eXTracted INternals :: Вопросы и ответы :: Общий форум-
Перейти: