WIN XP SP2 Remote Сmd

Тема в разделе "WASM.RESEARCH", создана пользователем Nafanya, 17 авг 2010.

  1. Nafanya

    Nafanya Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    581
    Существует ли подобный эксплойт вообще?
    На большинстве сайтах связанных с информационной безопасностью, лишь только косвенно упоминают, что некая уязвимость относится также и к XP SP2 с возможностью выполнения произвольного кода,а пример эксплойта всегда выкладывают для более старых версий Windows, в основном для WINDOWS 2000, которые уже редко кем используются.

    В Win XP SP2 в библиотеке NETAPI32.DLL - функция Netpwpathcanonicalize содержит уязвимый код, который может использоваться для переполнения буфера в стековом кадре и как следствие выполнение произвольного кода. Вызов функции NetpwPathcanonicalize возможен по сети.
    Фрагмент уязвимого кода:
    5BD5A44C > 85FF TEST EDI,EDI
    5BD5A44E . 0F84 9F7B0000 JE netapi32.5BD61FF3
    5BD5A454 . 50 PUSH EAX ; /src
    5BD5A455 . 57 PUSH EDI ; |dest
    5BD5A456 . FF15 3010D55B CALL DWORD PTR DS:[<&msvcrt.wcscpy>] ; \wcscpy
    5BD5A45C . 66:85DB TEST BX,BX
    5BD5A45F . 59 POP ECX
    5BD5A460 . 59 POP ECX
    5BD5A461 . 0F85 35E30000 JNZ netapi32.5BD6879C
    5BD5A467 > 33C0 XOR EAX,EAX
    5BD5A469 . 40 INC EAX
    5BD5A46A > 5F POP EDI
    5BD5A46B . 5E POP ESI
    5BD5A46C . 5B POP EBX
    5BD5A46D . C9 LEAVE
    5BD5A46E . C2 0400 RETN 4
    Функция служит для приведения пути к каноническому виду ("c:\1\2\3\..\..\ =c:\1 ").
    Путь подобный "\..\..\xxxx" вызовет ошибку данной функции.
    Код брал из netapi32.dll версия 5.1.2600.2180 (стандартная непропатченная XP SP2)
    Какие соображения?
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Зависит от того, куда указывает edi и возможно ли контролировать eax. Если edi указывает на статическую область памяти, например, в стековый кадр, а eax содержит адрес строки, которую мы передаем, то тогда да, можно устроить переполнение буфера.