+ Reply to Thread
Results 1 to 7 of 7

Thread: ZTE USB Modem Engine Reverse

  1. #1

    Default ZTE USB Modem Engine Reverse

    ZTE USB Modem Engine Reverse

    author : Sanjar Satsura {4k4 S4NJ}
    web : http://www.d34dm4st3rs.narod.ru
    e-mail I : sacura_08[at]inbox[dot]ru
    e-mail II : d34dm4st3rs[at]yandex[dot]ru
    e-mail III: sanjar[at]xakep[dot]ru

    0x00 Intro
    Сегодня я хотел бы поделиться со всем миром о моей недавней реверсерской работе.
    Начну с того что вы все наверное уже наслышаны о такой новомодной вещице как USB
    модем для интернета (от Beeline,MTS,etc)...
    Да и маркетологи не спят во всю изрекламировали этот весьма страноватый продукт...
    Почему странноватый споросите вы ?!
    А дело все в том, что этот проект является довольно подозрительным и опасным !!!
    Итак сегодня я попытаюсь вам объяснить почему он таковым является...

    Для лучшего понимания статьи советую скачать исходники:
    Начнем с того что этот проект разрабатывали китайцы (ZTE) и как каждый китайский продукт
    этот продукт является самим по себе бажным и убогим... Не из-за того что его кодили
    неправильные и безмозглые китайцы (а таковы не только китайцы), а потому что этот продукт
    был изготовлен на скорую руку и стоит эта технология не совсем то дорого!
    На моей родине (Узбекистан) этот модем давно набрал высокие обороты по продаже и на нем
    специализируются почти все сотовые операторы(MTS UZ, Beeline UZ, Ucell)...
    Первый раз я столкнулся с этим модемом месяца 3 назад и он сразу же меня заинтересовал
    своей активностью... Когда я пытался установить этот модем своей подруге, касперыч 2010
    сразул предупредил об некой странной активности этого модема... Я на всякий пожарный
    снял копию этой проги и спокойно поехал в свою реверсерскую нору.
    Приехав домой я сразу начал иследование этой проги и обнаружил не хилую активность
    этой в ней=)) Утилиты FileMon & RegMon показали что программа проявляет активное участие в
    жизни ОС и её реестра =0 А именно программа производит сканирование ОС (выявляет :
    1 Инфо о состоянии свободного пространстве RAM
    2 Получает данные о CP
    3 Инфо о состоянии COM подсистемы
    4 Инфо о параметрах Commnad Line (Командная Строка)
    5 Инфо о уровне ID запущенной программы
    6 Инфо о кол-во потоков данного процесса
    7 Инфо о Формате Даты
    8 Инфо о состоянии свободного пространства в жестком диске
    9 Инфо о переменных средах ОС
    10 Проверка размера программы
    11 Инфо о времени ОС
    12 Инфо о микропроцессоре
    13 Инфо о состоянии автозагрузки
    14 Инфо о языке ОС (по умолчанию)
    15 Полная системная информация, аналогичная команде systeminfo в cmd.exe
    16 Получает информацию о зональной относительности компьютера
    17 Здесь получаем SID работающего пользователя
    18 А здесь версию программы=))))
    а также сканирует внутренее содержание системного диска %systemdrive% командой tree и
    производит многие подозрительные действия
    ) но на этом все это не заканчивается...
    А что вы думаете дальше делает эта тварь ?! Правильно ! Передает все собранные данные
    на сервер=))))
    Реверс этой проги это вполне доказал !!! (все данные присутсвуют в этом архиве).
    Вот часть кода (с моими коментами) которая это наглядно демонстрирует :
    Code:
    004D35C0 ; Инфо о состоянии COM подсистемы....
    004D35C6 [00000006 BYTES: COLLAPSED FUNCTION j_GetCommState. PRESS KEYPAD "+" TO EXPAND]
    ; Инфо о параметрах Commnad Line (Командная Строка)...
    004D35CC [00000006 BYTES: COLLAPSED FUNCTION j_GetCommandLineA. PRESS KEYPAD "+" TO EXPAND]
    ; Инфо о уровне ID запущенной программы ....
    004D35D2 [00000006 BYTES: COLLAPSED FUNCTION j_GetCurrentProcessId. PRESS KEYPAD "+" TO EXPAND]
    ; Инфо о кол-во потоков данного процесса ...
    004D35D8 [00000006 BYTES: COLLAPSED FUNCTION j_GetCurrentThreadId. PRESS KEYPAD "+" TO EXPAND]
    ; Инфо о Формате Даты....
    004D35DE [00000006 BYTES: COLLAPSED FUNCTION j_GetDateFormatA. PRESS KEYPAD "+" TO EXPAND]
    ; Инфо о состоянии свободного пространства в жестком диске....
    004D35E4 [00000006 BYTES: COLLAPSED FUNCTION j_GetDiskFreeSpaceA. PRESS KEYPAD "+" TO EXPAND]
    ; Инфо о переменных средах ОС...
    004D35EA [00000006 BYTES: COLLAPSED FUNCTION j_GetEnvironmentStrings. PRESS KEYPAD "+" TO EXPAND]
    004D35F0 00000006 BYTES: COLLAPSED FUNCTION j_GetExitCodeThread. PRESS KEYPAD "+" TO EXPAND]
    ; Проверка размера программы....
    004D35F6 [00000006 BYTES: COLLAPSED FUNCTION j_GetFileSize. PRESS KEYPAD "+" TO EXPAND]
    Я диззасемблировал эту тварь (DLL_Netcard_R.dll) Идой (Idag), кому интересно может
    сам продизассемблировать эту хрень=))...

    После анализа этой твари я обнаружил также серёзные баги в её проектирование,
    а именно эти баги позволяли нам производить различные несанкционированные действия на
    сервере=)))



    0x01 БАГ I - Puk & Pin Spoofing:
    Эта часть статьи посвященна подделке Puk & Pin кодов при запросе с серверной части программы.
    Вот часть кода которая наглядно демонстрирует всё выше сказанное мной :
    Code:
    004EBE13 aSimPukRequir_2 db 'SIM PUK Required',0 ; DATA XREF: sub_4CEB04+163 - Функция проверки PUK -кода
    ; - Посдующее не требует коментариев=))
    004EBE24 aNoUim db 'NO UIM',0 
    004EBE2B aSimPin_0 db 'SIM PIN',0
    004EBE33 aSimPuk_0 db 'SIM PUK',0
    004EBE3B aSimPin2 db 'SIM PIN2',0
    004EBE44 aSimPuk2 db 'SIM PUK2',0
    004EBE4D aSimFailure_0 db 'SIM failure',0
    004EBE59 aSimBusy_0 db 'SIM busy',0
    004EBE62 aSc_2 db 'SC',0 ; DATA XREF: sub_4CEEF0+B1
    004EBE65 aIncorrectPas_3 db 'Incorrect password',0 ; DATA XREF: sub_4CEEF0+134 ; Функция вызова "неправильного пароля"
    ; она же "правильного запроса"
    004EBE78 aSimPukRequir_3 db 'SIM PUK Required',0 ; DATA XREF: sub_4CEEF0+161 - Вот тут функция коректности PUK-кода
    ; начинающим реверсерам : просто при поиске правильного Puk - кода , сравните правильный результат с Required PUK
    ; в main процедуре и все будет тип-топ=)) 
    ;Exp:
    ;cmp aSimPuk_0,aSimPukRequir_3
    ; jmp .... [далее на место назначения]
    004EBE89 align 4
    004EBE8C off_4EBE8C dd offset dword_4CDA95+3 ; DATA XREF: .data:004EBEAC
    Вот еще пример который можно использовать для перехватов ключа и для дальнейшего использования поддельных ключей=)):
    Code:
    004DF26B aSystemCurren_4 db '\SYSTEM\CurrentControlSet\Services\qcusbser\Enum',0 ; Установка ключа для загрузки Сервиса
    004DF26B ; DATA XREF: sub_423BB4+B1 USB Modem'a (qcubser)
    004DF29C aCount_1 db 'Count',0 ; DATA XREF: sub_423BB4+183
    004DF2A2 a1 db '1',0 ; DATA XREF: sub_423BB4+1BD
    004DF2A4 a1_0 db '1',0 ; DATA XREF: sub_423BB4+214
    004DF2A6 a0_0 db '0',0 ; DATA XREF: sub_423BB4+271
    004DF2A8 aSystemCurren_5 db '\SYSTEM\CurrentControlSet\Enum\',0 ; DATA XREF: sub_423BB4+2CD ; Состояние подсистемы
    004DF2C8 aDeviceParamete db '\Device Parameters',0 ; DATA XREF: sub_423BB4+335 ; Параметры для устройства
    004DF2DB aPortname db 'PortName',0 ; DATA XREF: sub_423BB4+42C ; Названия порта =)))))
    Далее еще много чего интересного можете найти в исходнике dll_card_reverse_from flash_media.asm



    0x02 БАГ II - NETCARD PID Exploitation =)) :
    Эта часть статьи удивительно уникальна. Дело в том ,что мы используем клиентскую реализацию программы.
    Но есть также серверная часть... Здесь подробно приведен код отвечающий за подключение к серверной части
    Итак, по всему ниже стоящему коду следует ,что на сервере действует та же система организации что и при организации
    прав unix-like системы:
    PID 3 - уровень доступа простого пользователя. Права ограничены, так что он может просмаривать только свою учетную запись
    PID 2 - уровень доступа с правами Модератора. Права включают в себя просмотр не только своей учетной записи, но и других
    пользователей=))) Далее также в права входят редактирование, удаление учетных записей=)))))!!! По мойму круто!!
    Но все это ограничивается тем что, вы не можете добавлять учетные записи=(
    PID 1 - уровень доступа с правами Администратора. Права не ограничены (ну или почти) ничем. Вы можете удалять,редактировать
    вставлять, добавлять учетные записи, все в рамках этой системы=))))
    PID 0 - уровень Супер Визора (Супер Администратора). Дает полный контроль над всеми системами связанных с этой системой.=)))
    Попросту говоря это права root.
    Существует также PID 4 - ну это простой гость не имеющий никаких прав на этом сервере. Так что его мы прсото не включили=))
    Итак мы выяснили какие существуюит PID'ы и как они работают, но зачем нам эта инфа ?!
    А затем, что когда мы подключаемся (мы входит с правами PID3), но сама программа использует права доступа у серверу с правами
    PID2 !!! Да, да!!! вы не ослышались !!! Права модератора, и всё всё всё что они наследуют!!
    Также существует возможность получения прав PID1 & PID 0 через баги в проектировании системы, но это уже другая тема=))
    А сейчас мы рассмотрим те функции которые отвечают за подключение системы с правами PID 2.
    Не терпится посмотреть зырим в исходник (dll_card_reverse_netcardconf.asm):

    РАЗ:
    Code:
    00402C88 ; Получение данных с сетевой карты usb модема
    00402C88 public _MEC_GetNetcardInfo
    00402C88 _MEC_GetNetcardInfo proc near
    00402C88 
    00402C88 arg_0 = dword ptr 8
    00402C88 
    00402C88 push ebp ; точка подключения заносится в стек=))
    00402C89 mov ebp, esp ; Передаем содержимое указателю стека=))))))
    00402C8B mov eax, dword_4D42F8 ; Передаем в eax удвоенное значение адресса 4D42F8
    00402C90 test eax, eax ; Проверка (сравнение)
    00402C92 jnz short loc_402C9A ; если не расно 0 , скачем 402C9A
    00402C94 mov ax, 9 ; Выпоняем 
    00402C98 pop ebp ; все конец функции
    00402C99 retn ; возврат в точку конца подпрограммы
    
    00402C9A loc_402C9A: ; CODE XREF: _MEC_GetNetcardInfo+A
    00402C9A cmp byte ptr [eax+0D0h], 1 ; Сверка ключей =))
    00402CA1 jz short loc_402CA9 ; если да (т.е равно 0) то едем дальше
    00402CA3 mov ax, 7; выполняем
    00402CA7 pop ebp ; конец функции
    00402CA8 retn ; возврат в точку конца подпрограммы
    ДВА:
    Code:
    00402CE0 ; Здесь проводятся установки SID&NID
    ; где SID - это ваш ID по подключению и NID - это и есть наш PID
    00402CE0 public _MEC_SetNetcardSIDAndNID
    00402CE0 _MEC_SetNetcardSIDAndNID proc near
    00402CE0 ;;;;;;; Установки для глобальных переменных
    00402CE0 arg_0 = dword ptr 8 ; Дес. 8
    00402CE0 arg_4 = dword ptr 0Ch ; Дес. 12
    00402CE0 arg_8 = dword ptr 10h ; Дес. 16 
    00402CE0 
    00402CE0 push ebp ; Заносим в стек=))
    00402CE1 mov ebp, esp ; Вот здесь можно и шелкод сбабахать =))) Запоминаем адресс =D))))
    00402CE3 mov eax, dword_4D42F8 ; Заносим двойное значение генерируемое функцией ... 
    ; по адрессу 4D12F8
    00402CE8 test eax, eax ; Проверка
    00402CEA jnz short loc_402CF2 ; Прыгаем если да, нет идем дальше
    00402CEC mov ax, 9 ; конец подфункции
    00402CF0 pop ebp ; выходим
    00402CF1 retn ; возврат в основную программу
    00402CF2 ; ---------------------------------------------------------------------------
    00402CF2 
    00402CF2 loc_402CF2: ; CODE XREF: _MEC_SetNetcardSIDAndNID+A
    00402CF2 cmp byte ptr [eax+0D0h], 1 ; Сравнение везде одно и тоже, так что поломав одну функцию
    00402CF9 jz short loc_402D01 ; с легкостью ломаем следующую (т.к они писались достаточно
    00402CFB mov ax, 7 ; одинаково)
    00402CFF pop ebp
    00402D00 retn
    00402D01 ; ---------------------------------------------------------------------------
    
    00402D01 loc_402D01: ; CODE XREF: _MEC_SetNetcardSIDAndNID+19
    00402D01 mov edx, [ebp+arg_8] ; MOV в роли LEA =)))) 
    00402D04 push edx ; Заносим EDX
    00402D05 mov ecx, [ebp+arg_4] ; Берутся те самые ключи занесенные в регистр ebp
    00402D08 mov edx, [ebp+arg_0] ; и заносятся путем попутного шифрования =)))
    ; mov ecx, [ebp+arg_4] == mov ecx,[ebx+ 12] (см. выше)=)))
    00402D0B call sub_40B544 ; Вызов подфункции 
    00402D10 pop ebp ; Выходим из процедуры
    00402D11 retn
    00402D11 _MEC_SetNetcardSIDAndNID endp
    И Наконец ТРИ:
    Code:
    00402E20 ; Exported entry 72. _MEC_SetNetcardPwd
    00402E20 ; Установки для пароля
    00402E20 ; --------------- S U B R O U T I N E ---------------------------------------
    00402E20 
    00402E20 ; Attributes: bp-based frame
    00402E20 
    00402E20 public _MEC_SetNetcardPwd
    00402E20 _MEC_SetNetcardPwd proc near
    00402E20 
    00402E20 arg_0 = dword ptr 8
    00402E20 
    00402E20 push ebp ; Можно выловить пасс
    00402E21 mov ebp, esp ; Здесь он попадает в стек так что можно снять pwd (pass) 
    00402E23 mov eax, dword_4D42F8 ; LordPE (простым дампом)
    00402E28 test eax, eax ; Вносит пароль по умолчанию и тестирует
    00402E2A jnz short loc_402E32 ; если поменять инструкцию jnz на jz можно без проблем
    00402E2C mov ax, 9 ; проходить на сервер 
    00402E30 pop ebp
    00402E31 retn
    00402E32 ; ---------------------------------------------------------------------------
    00402E32 
    00402E32 loc_402E32: ; CODE XREF: _MEC_SetNetcardPwd+A
    00402E32 cmp byte ptr [eax+0D0h], 1 ; /// Та же самая проверка =))
    00402E39 jz short loc_402E41
    00402E3B mov ax, 7
    00402E3F pop ebp
    00402E40 retn
    00402E41 ; ---------------------------------------------------------------------------
    00402E41 
    00402E41 loc_402E41: ; CODE XREF: _MEC_SetNetcardPwd+19
    00402E41 mov edx, [ebp+arg_0]
    00402E44 call sub_40B5A4
    00402E49 pop ebp
    00402E4A retn
    00402E4A _MEC_SetNetcardPwd endp
    
    0402F24 ; Exported entry 78. _MEC_ChangeNetcardLockPwd
    00402F24 ; Установки для изменения PWD (пароля)
    ; Вот и все перехватываем esp и дело в шляпе =D
    00402F24 ; --------------- S U B R O U T I N E ---------------------------------------
    00402F24 
    00402F24 ; Attributes: bp-based frame
    00402F24 
    00402F24 public _MEC_ChangeNetcardLockPwd
    00402F24 _MEC_ChangeNetcardLockPwd proc near
    00402F24 
    00402F24 arg_0 = dword ptr 8
    00402F24 arg_4 = dword ptr 0Ch
    00402F24 
    00402F24 push ebp ; Ни чем не скрывается
    00402F25 mov ebp, esp
    00402F27 mov eax, dword_4D42F8
    00402F2C test eax, eax
    00402F2E jnz short loc_402F36
    00402F30 mov ax, 9
    00402F34 pop ebp
    00402F35 retn
    Помойму достаточно доказательств ужасного бага =)) нет ?! Тогда копайте исходник =D))!



    0x03 БАГ IV - Remote SQL Injection
    И напоследок очень серьёзный баг в проектировании системы который позволяет производить произвольные
    SQL-иньекции в билинговой системе соединеной через серверную часть программы...
    Этот пример демонстрирует также взаимосвязь серверной части ZTE USB-modem Engine с другими
    компонентами системы=)) Это поможет вам ориентироваться в системе в целом =)))
    Далее расмотренны возможные реализации атак:

    РАЗ:
    Code:
    004D4767 unk_4D4767 db 5Ch ; \ ; DATA XREF: sub_405248+113 ; Слеш который может помочь
    ; при организации null(x00) байтов
    004D4768 db 0 ; ; %d
    004D4769 aDb_dat_0 db 'db.dat',0 ; DATA XREF: sub_405248+13D ; Файл куда скидываются временные данные 
    004D4792 aDataSource db 'Data Source=',0 ; DATA XREF: sub_405248+1F1 ; Указатель на db.dat (temp database)
    004D479F asc_4D479F db ';',0 ; DATA XREF: sub_405248+1FF ; 
    004D47A1 aPersistSecurit db 'Persist Security Info=False',0 ; DATA XREF: sub_405248+264 ; Состояние Информационной службы
    ; по умолчанию отключён... =))))
    ДВА:
    Code:
    .....
    04D47D5 aSmsindex db 'Smsindex',0 ; DATA XREF: sub_405768+46 ; ID индекса (номер по счету)
    004D47DE aCodetype db 'CodeType',0 ; DATA XREF: sub_405768+82 ; Код региона(компании) Exp:+998-65
    004D47E7 aLocation db 'Location',0 ; DATA XREF: sub_405768+C0 ; Направление (регион)
    004D47F0 aStatus db 'Status',0 ; DATA XREF: sub_405768+FE ; Статус (отправлен или нет)
    004D47F7 aIsconcat db 'IsConcat',0 ; DATA XREF: sub_405768+13C ; Каталог Контакта
    004D4800 aConcatrefindex db 'ConcatRefIndex',0 ; DATA XREF: sub_405768+177 ; Активность клиента
    004D480F aConcattotalmou db 'ConcatTotalMount',0 ; DATA XREF: sub_405768+1B3 ; Общее кол-во отпрваленных
    004D4820 aConcatseq db 'ConcatSeq',0 ; DATA XREF: sub_405768+1EE ; Sequens =D
    004D482A aContent db 'Content',0 ; DATA XREF: sub_405768+229 ; Содержание =))))))
    004D4832 aSender db 'Sender',0 ; DATA XREF: sub_405768+2AB ; Отправитель
    004D4839 aReceiver db 'Receiver',0 ; DATA XREF: sub_405768+32A ; Получатель
    004D4842 aSendtime db 'SendTime',0 ; DATA XREF: sub_405768+3AF ; Время отправки
    004D484B aRecvtime db 'RecvTime',0 ; DATA XREF: sub_405768+428 ; Время получения СМС =))) 
    004D4854 aSmscentre db 'SMSCentre',0 ; DATA XREF: sub_405768+4A1 ; SMS Центр
    004D485E aIndexid db 'indexID',0 ; DATA XREF: sub_405CAC+2D ; ID индекса
    004D4866 aGroupid db 'GroupID',0 ; DATA XREF: sub_405CAC+77 ; ID Группы. Exp: User, Moderator, Administrator
    004D486E aLocation_0 db 'Location',0 ; DATA XREF: sub_405CAC+B5 ; Направление СМС
    004D4877 aAnumber db 'ANumber',0 ; DATA XREF: sub_405CAC+F6 ; Номер контакта exp: 6660666 =)))
    004D487F aName db 'Name',0 ; DATA XREF: sub_405CAC+138 ; Имя контакта на кого зарегистрован номер;-))
    004D4884 aCompany db 'Company',0 ; DATA XREF: sub_405CAC+1C0 ; Компания. Exp: beeline ,mts , etc...
    .....
    ТРИ :
    Code:
    ; Это запрос типа : select count(*)as Total from SMS where Location=%d ; %d = 0(по умочанию) см. адресс:004D4768,
    ; также %d может быть любой цифрой (организации в С) 
    004D4A9A aSelectCountAsT db 'select count(*) as Total from SMS where Location=%d;',0 ; Запрос помогает 
    004D4A9A ; DATA XREF: sub_407D9C+21 ; вытаскивать любое СМС из базы
    ; Запрос парсится путем прибавления данных (mov eax,0; mov ebx,1, add eax,ebx)
    ; Таким образом организованны некоторые запросы снизу
    ; А у нас получилось : select count(*) as Total from SMS where Status=%d and Location=%d; где %d = 0
    004D4ACF aSelectCountA_0 db 'select count(*) as Total from SMS where Status=%d and Locati' ; Вытаскивает все СМС где статус равно
    004D4ACF ; DATA XREF: sub_407D9C+40 ; %d - любая цифра...
    004D4ACF db 'on=%d;',0 ; И выше стоящий Location = %d, %d - любая цифра
    004D4B12 aTotal db 'Total',0 ; DATA XREF: sub_407D9C+87
    004D4B18 aSelectFromSmsW db 'select * from SMS where Location = %d',0 ; Выборка СМС
    004D4B18 ; DATA XREF: sub_407E6C+50 
    004D4B3E aSelectFromSm_0 db 'select * from SMS where Status = %d and Location = %d',0 
    004D4B3E ; DATA XREF: sub_407E6C+72
    004D4B74 aDeleteFromSmsW db 'delete * from SMS where Smsindex = %d and Location = %d',0 ; Удаление СМС =))))))
    004D4B74 ; DATA XREF: sub_408010+19
    004D4BAC aDeleteFromSm_0 db 'delete * from SMS where Location = %d',0
    004D4BAC ; DATA XREF: sub_408078+1A
    004D4BD2 aDeleteFromSm_1 db 'delete * from SMS where Status = %d and Location = %d',0
    004D4BD2 ; DATA XREF: sub_408078+38
    004D4C08 aUpdateSmsSetSt db 'update SMS set Status=%d where Smsindex = %d and Location =' ; Изменить СМС-ку ?! =D
    004D4C08 ; DATA XREF: sub_408100+29
    004D4C08 db ' %d',0
    В действительности запросы могут выглядеть следующим образом :
    select count(*)as Total from SMS where Location=998657231001 - вытаскивает все СМС-ки абонента (UZB MTS) 7231001

    ЧЕТЫРЕ :
    Code:
    ; А теперь CDR
    ; Разговариваем сколько угодно и меняем значение времени на 0:01 =)))
    ; И платим гроши=)) Или звоним куда надо и потом меняем номера и все =))))
    ; Делаем что хотим =D)))
    ; повторяю %d - число (целое,натуральное)
    ; %f - число с плавающей запятой; PS: ИЗ Си %f - float
    004D4DF4 aSelectFromCdrW db 'select * from CDR where Location=%d;',0
    004D4DF4 ; DATA XREF: sub_408430+17
    004D4E19 aSelectFromCd_0 db 'select * from CDR where CDRType=%d and Location=%d;',0
    004D4E19 ; DATA XREF: sub_408430+36
    004D4E4D aDeleteFromCdrW db 'delete * from CDR where Location = %d;',0
    004D4E4D ; DATA XREF: sub_4084FC+1A
    004D4E74 aDeleteFromCd_0 db 'delete * from CDR where CDRType = %d and Location = %d;',0
    004D4E74 ; DATA XREF: sub_4084FC+38
    004D4EAC aInsertIntoCdrI db 'insert into CDR(indexID,PhoneNumber,RecordName,RecordTime,Du'
    004D4EAC ; DATA XREF: sub_408584+56
    004D4EAC db 'ration,DurationActive,TXBytes,RXBytes,Location,CDRType)value'
    004D4EAC db 's(%d,:PhoneNumber,:RecordName,:RecordTime,%d,%d,%f,%f,%d,%d)'
    004D4EAC db ';',0
    004D4F62 aDeleteFromCd_1 db 'delete * from CDR where indexID = %d and Location = %d;',0
    004D4F62 ; DATA XREF: sub_408654+18
    004D4F9A aSelectCountA_3 db 'select count(*) As Total from PhoneBook where Location = %d',0
    004D4F9A ; DATA XREF: sub_4086BC+1A
    004D4FD6 aTotal_1 db 'Total',0 ; DATA XREF: sub_4086BC+64
    SQL запрос может выглядеть так :
    Code:
    insert into CDR(666,7231001,Hacker,11:00,00:01,00:01,0,0,0,SIM)values+
    +(666,:+998657230666,:Hax0r,:00:01,0,0,0.0,0.0,0.0,0.0)
    PS: + - это знак продолжения строки

    И наконец ПЯТЬ !!! :
    Code:
    ; переменные которые можно вводить с телефона (например запрос для shtrom атаки=))))
    004D7BEC a0123456789ppht db '0123456789pPHT+*#',0 ; DATA XREF: sub_40D490+29
    004D7BFE aEI db '-T=е¦+Tы',0 ; DATA XREF: sub_40D490+98
    004D7C07 unk_4D7C07 db 0CAh ; ¦ ; DATA XREF: sub_40D490+AA
    0x04 Заключение:
    Итак сегодня мы с вами рассмотрели USB модем от ZTE... Ну и какие впечатления ?!
    Надеюсь статья вам понравилась и мои старанья не пропали зря...
    Эта статья является поучительной, так что за любое несанкционнированое действие
    направленное против закона я отвественности не несу!!!
    Наверное каждый из нас сделал для себя выводы (и разработчки и пользователи), так что
    без обид ok =))
    С вами был тот же 4k4 S4NJ,S4(uR4_13l@(kH@(k3R_XxX, Sanjar Satsura, etc...

    Gr33tz: m3=))) & FBI =)))) & 4ll p30pl3 wh0 kn0w m3=)))
    Fuckzz: 4ll $tup1d b0t of our b1g W0RLD=))
    Я бы изменил мир, но БОГ не дает исходники...

  2. 4 пользователя(ей) сказали cпасибо:
    G1yuK (20-10-2010) Sholar (15-01-2013) denis7656 (14-09-2015) root (12-05-2010)
  3. #2
    Ærik's Avatar

    Default Re: ZTE USB Modem Engine Reverse

    Спасибо Sanjar!

    Очень рады видеть тебя и твои статьи на нашем форуме. Действительно, статьи интересные и качественные.

    В общем, ещё раз спасибо за статьи.

  4. #3
    root's Avatar

    Default Re: ZTE USB Modem Engine Reverse

    Присоединяюсь к Ærik"у. Спасибо за статьи! ))
    Успех – это путь от провала до провала без потери энтузиазма. (В. Черчиль)

    Не бойся идти медленно, бойся остановиться. (Китайская пословица)

    When you lose fun and start doing things only for the payback, you're dead. (c) TCLH (Phrack 65, Intro)

  5. #4
    ximera's Avatar

    Default Re: ZTE USB Modem Engine Reverse

    Присоеденяюсь к товарищам.
    Спасибо за статьи. Рады видеть на нашем форуме!
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  6. #5

    Default Re: ZTE USB Modem Engine Reverse

    Вам спасибо что пригласили... Тут смотрю походу крутой форумец у вас=) Хоть и молодой ... Щас вот закончу реверс нового ботнета, сразу статью размещу=))
    Я бы изменил мир, но БОГ не дает исходники...

  7. #6
    root's Avatar

    Default Re: ZTE USB Modem Engine Reverse

    Стараемся)) Осталось немножко его подпилить (заказать лого, приобрести или сделать дизайн для главной странички, немного подкорректировать структуру форума) и можно будет усиленно привлекать посетителей.

    Щас вот закончу реверс нового ботнета, сразу статью размещу=))
    Будем ждать :)


    PS: До кучи еще возможно приобретем коммерческий форум и дизайн к нему, но над этим еще нужно будет подумать.
    Успех – это путь от провала до провала без потери энтузиазма. (В. Черчиль)

    Не бойся идти медленно, бойся остановиться. (Китайская пословица)

    When you lose fun and start doing things only for the payback, you're dead. (c) TCLH (Phrack 65, Intro)

  8. #7

    Default Re: ZTE USB Modem Engine Reverse

    Спасибо, Sanjar Satsura! Интересно было почитать!!!

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:41
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org