Привилегии отладчика под гостем или ограниченным пользователем

Тема в разделе "WASM.BEGINNERS", создана пользователем jeni, 10 мар 2007.

  1. Scratch

    Scratch New Member

    Публикаций:
    0
    Регистрация:
    1 янв 2005
    Сообщения:
    161
    Пробую делать как ты говоришь... От IRQL_NOT_LESS_OR_EQUAL избавился, но теперь вываливается вот в этом месте:

    Код (Text):
    1. 010041B3  |.  897D FC       MOV DWORD PTR SS:[EBP-4],EDI
    2. 010041B6  |.  E8 91FDFFFF   CALL NOTEPAD.01003F4C
    3. 010041BB  |.  85C0          TEST EAX,EAX
    4. 010041BD  |.  0F85 28010000 JNZ NOTEPAD.010042EB
    5. 010041C3  |.  57            PUSH EDI                                 ; /Revert
    6. 010041C4  |.  FF35 30980001 PUSH DWORD PTR DS:[1009830]              ; |hWnd = NULL
    7. 010041CA  |.  C705 4C980001>MOV DWORD PTR DS:[100984C],1             ; |
    8. 010041D4  |.  FF15 CC110001 CALL DWORD PTR DS:[<&USER32.GetSystemMen>; \GetSystemMenu
    9. 010041DA  |.  68 48170001   PUSH NOTEPAD.01001748                    ; /TableName = "SlipUpAcc"
    10. 010041DF  |.  FF35 80AB0001 PUSH DWORD PTR DS:[100AB80]              ; |hInst = NULL
    11. 010041E5  |.  A3 DCA60001   MOV DWORD PTR DS:[100A6DC],EAX           ; |
    12. 010041EA  |.  FF15 C8110001 CALL DWORD PTR DS:[<&USER32.LoadAccelera>; \LoadAcceleratorsW
    13. 010041F0  |.  68 0000FD00   PUSH 0FD0000                             ; /NewValue = FD0000
    14. 010041F5  |.  6A F0         PUSH -10                                 ; |Index = GWL_STYLE <<<ВОТ ТУТ!!!
    15. 010041F7  |.  FF35 30980001 PUSH DWORD PTR DS:[1009830]              ; |hWnd = NULL
    16. 010041FD  |.  A3 D8A60001   MOV DWORD PTR DS:[100A6D8],EAX           ; |
    17. 01004202  |.  FF15 6C120001 CALL DWORD PTR DS:[<&USER32.SetWindowLon>; \SetWindowLongW
    18. 01004208  |.  83C6 0E       ADD ESI,0E
    19. 0100420B  |.  56            PUSH ESI                                 ; /Arg1
    20. 0100420C  |.  E8 69FFFFFF   CALL NOTEPAD.0100417A                    ; \NOTEPAD.0100417A
    21. 01004211  |.  66:3938       CMP WORD PTR DS:[EAX],DI
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Scratch
    Надо вот так делать, смотри:

    Код (Text):
    1.  ; инициализируем GS секретным селектором сегмента с проекцией доса
    2. 0100739D >    64:A1 0000000>MOV EAX, DWORD PTR FS:[0]
    3. 010073A3      8EE8          MOV GS, AX                               ;  Modification of segment register
    4.  
    5. ; читаем из порта 3137, т.к. там могут быть необработанные данные
    6. 010073A5      66:BA 3731    MOV DX, 3137
    7. 010073A9      66:ED         IN AX, DX                                ;  I/O command
    8.  
    9. ; interrupt gate (надо заранее подготовить)
    10. 010073AB      CD 37         INT 37
    11.  
    12. ; общаемся с сопроцессором по поводу загрузки доса в секретный сегмент
    13. 010073AD      0F77          EMMS
    14. 010073AF      9B            WAIT
    15. 010073B0      D9C1          FLD ST(1)
    16.  
    17. ; восстанавливаемся
    18. 010073B2      0FAA          RSM                                      ;  Privileged command
    19.  
    20. ; переводимся в unreal mode
    21. 010073B4      0F20C0        MOV EAX, CR0
    22. 010073B7      24 FE         AND AL, 0FE
    23. 010073B9      0F22C0        MOV CR0, EAX                             ;  Privileged command
    24.  
    25. ; обнуляем каталог страниц, чтобы дос не мог затереть наши данные
    26. 010073BC      33C0          XOR EAX, EAX
    27. 010073BE      0F22D8        MOV CR3, EAX                             ;  Privileged command
    28.  
    29. ; ставим хук, как уже посоветовали, через DR7
    30. 010073C1      65:A1 3713030>MOV EAX, DWORD PTR GS:[31337]
    31. 010073C7      0F23E0        MOV DR4, EAX                             ;  Privileged command
     
  3. Scratch

    Scratch New Member

    Публикаций:
    0
    Регистрация:
    1 янв 2005
    Сообщения:
    161
    а что делать с
    Код (Text):
    1. 010073C7    A5              MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
    2. 010073C8    A5              MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
    3. 010073C9    A5              MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
    4. 010073C10   A5             MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
    Это у меня вместо нопов. А
    010073BE 0F22D8 MOV CR3, EAX
    лучше не делать, CR3, если кто не в курсе, используется для обхода касперского из под гостя
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Scratch
    Я кстати откомментировал код выше.
    ты дос не загрузил в первый банк командой FLT ST(1). Читай мой сорс
    кстати не забудь сделать MOV CL, 1F / CALL KfRaiseIrql.
     
  5. maestro-ant

    maestro-ant Member

    Публикаций:
    0
    Регистрация:
    23 июл 2006
    Сообщения:
    112
    неа и так невыходит.. замыкются вторинные порты на чипсете М1 и М3. может ring(-1) заюзать.. хз. поможет ли..
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    maestro-ant
    Так надо SEH поставить и вывести еденицу в 31337. Иначе будет deadlock
     
  7. Scratch

    Scratch New Member

    Публикаций:
    0
    Регистрация:
    1 янв 2005
    Сообщения:
    161
    или
    Код (Text):
    1. ADD IQ,100
    вместо
    Код (Text):
    1. XOR IQ,IQ
    Это все что у меня на сегодня получилось, еще надо стресс тест мемори манагера провести - оставлю его на всю ночь параллельно с пережимальшиком фильма...
     
  8. maestro-ant

    maestro-ant Member

    Публикаций:
    0
    Регистрация:
    23 июл 2006
    Сообщения:
    112
    Топикстартер хот читает это.. для кого стараемся..
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    У меня вылетает бсод USER_IQ_NOT_GREATER_OR_EQUAL при попытке сделать XOR IQ,IQ =\
     
  10. jeni

    jeni Евгений

    Публикаций:
    0
    Регистрация:
    10 мар 2007
    Сообщения:
    41
    Блин ну вы даете. Это же вроде раздел для новичков??? Неужели можно получить привилегии отладчика под гостем чрез посылку 1 в порт и еще какго-то колдовства с банком памяти??? Мне то всего нужно что бы я смог открыть системный процесс с доступом PROCESS_ALL_ACCESS под гостем.
     
  11. PageFault

    PageFault New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    31
    jeni
    А ты думаешь в сказку попал? Халявы не бывает. Хочешь обойти защиту системы, учись ее глубоко понимать.
     
  12. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Great
    Scratch
    Так мужики... Теперь я не понял. Вот смотрите.

    Когда мы траницу памяти парсим:

    mov ecx, 200h
    @@:
    inc IQ
    loop @B


    Почему вот у мя вылетает в БСОД на значении 140, а у друга на 180 ?? Может, дело в процессоре?


    Второй момент.
    Перерыл весь инет, но так и не нашел доков по r(-1)
    Пошел на форум чапы. Там коротко и ясно объяснили, что мешает мне выйти на уровень r(-1)
    Вопрос:
    На чем пишут программы под r(-1), и какой вид ассемблера лучше употреблять?
     
  13. Scratch

    Scratch New Member

    Публикаций:
    0
    Регистрация:
    1 янв 2005
    Сообщения:
    161
    попробуй увеличивать регистр IQ не по одному а по 2,3 и так далее... Одному моему знакомому помогло... до 180ти вряд ли доползет, но пару десятков обскакать можно )
    вместо r(-1) попробуй r(0xFFFFFFFF), ассемблеру же хексы надо! Кстати, IQAsm v.12.0 или ZenAsm 3.6.4 вполне для этого сгодятся )
     
  14. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Scratch
    Можно еще попробовать ринг4, чтобы в него перейти, нужно выполнить команды HLT / JMP $
     
  15. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Господа! А вам не кажется, что стебаться над новичком в разделе для новичков как минимум некрасиво?

    jeni
    Вряд ли ты получишь под пользователем доступ к ЛЮБОМУ процессу, но попробуй покопать в сторону функции AdjustTokenPrivileges. И воспользуйся поиском, на форуме эта тема пробегала пару раз.

    Офф: PageFault, ник больно знакомый. Сам придумал, или позаимствовал у кого?
     
  16. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Господа модераторы - удалите пожалуйста из этого топика флуд от Squash - его вмешательство совершенно не соответствует теме и портит дзенную красоту мысли!
     
  17. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Y_Mur
    Дзенная красота мысли - в ее краткости, а у вас две страницы шаманских завываний об увеличении айкью через ринг 4.
     
  18. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Squash
    Например в посте #34 приведён очень короткий и изящный вариант перехода в Ring4, а то что Воины Дзена изо всех сил старались перечислить все известные им способы решения изначально поставленной задачи - это плюс, а не минус. Если ничего не понимаешь в красоте - не лезь!
     
  19. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    [offtop]
    Y_Mur
    Перегнули палку имхо, совсем вводить в заблуждение непонимающего, но желающего разобраться и пришедшего за советом, человека просто некрасиво. Он же без лишних понтов спросил, поэтому не знаю насколько это красиво по-дзенски, но вот по-человечески не очень.
    [/offtop]
     
  20. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    W4FhLF
    Squash
    Дружно читаем еще раз дзеннский пост номер 2.
    Думаю, после, автора уже ничто не ввело в заблуждение