Системный эксплойт для Windows 7

Discussion in 'Мировые новости. Обсуждения.' started by Solitude, 17 Oct 2012.

  1. Solitude

    Solitude Member

    Joined:
    29 Aug 2011
    Messages:
    445
    Likes Received:
    23
    Reputations:
    1
    Системный эксплойт для Windows 7

    Программист Макс Делисо (Max DeLiso) работал над своим проектом, никак не связанном с информационной безопасностью, и случайно обнаружил последовательность инструкций, которая вызывает BSOD на любой машине с Windows 7. Что характерно, своеобразный «эксплойт» работает из-под пользователя с ограниченными правами, и всё равно надёжно рушит систему. По какой-то причине Макс Делисо решил не сообщать в Microsoft об обнаруженной 0day-уязвимости, а выложил информацию в открытый доступ http://megafrock.com/cryptex.html, так что теперь каждый может проверить вредоносный код на любой системе Windows 7, потому что патча просто не существует.

    Макс Делисо признаётся, что не достаточно компетентен, чтобы определить, можно ли использовать эту уязвимость для выполнения произвольного кода в системе, но такая вероятность существует. Очевидно, что можно получить доступ к памяти ядра и инициировать отказ в обслуживании.

    Файлы cryptex.c и makefile в архиве скачать можно здесь http://megafrock.com/cryptex.tar.bz2. Созданный файл cryptex.exe следует запускать с большой осторожностью, на свой страх и риск. Ниже приводим листинг ключевого фрагмента cryptex.c, нестандартный вызов CreateConsoleScreenBuffer со значением 0xC0000000 в итоге приводит к отказу системы.

    Code:
     /* ... */
          
             extern int cryptex() { 
                HANDLE thisProc = GetCurrentProcess();
                HANDLE stdin;
                HANDLE stdout;
                HANDLE thisHeap = GetProcessHeap();
                HANDLE conBuffer;
                DWORD cIoCount;
                HLOCAL inBuffer;
    
                if((conBuffer = CreateConsoleScreenBuffer(
                   0xC0000000, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL)) == INVALID_HANDLE_VALUE ||
                   (stdin = GetStdHandle(STD_INPUT_HANDLE)) == INVALID_HANDLE_VALUE ||
                   (stdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE) {
                      return CRYPTEX_CON_HANDLE;
                }
             
             /* ... */
    Макс проверил программу под Windows 7, но допускает, что она работает также под Windows Vista.

    17.10.2012
    http://www.xakep.ru/post/59490/​
     
  2. cLauZ

    cLauZ Member

    Joined:
    22 Oct 2009
    Messages:
    328
    Likes Received:
    27
    Reputations:
    5
    Пхах,бсод вылетел, норм=)
     
  3. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    525
    Reputations:
    173
    И за бсода я возненавидел вин7 больше всех!
    в XP пока не было ни разу =), линуха вообще не знает что это такое ))
     
  4. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Похоже кто-то почти не пользовался ХР, они там лезут отовсюду через пару лет :D
     
  5. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    525
    Reputations:
    173
    Зря так говоришь, сижу на XP давно, бывало разное, но чтоб каждую неделю бсод такого не было ни разу.
    А вообще XP Больше для кошелька использую.
    В любом случае лучше чем распиаренные вин7. по которому так прутся школьники которым нужны красота на раб столе.
     
  6. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Та же фигня, выпадает в экспешн без BSOD'a.
     
  7. cloud2020

    cloud2020 New Member

    Joined:
    11 Feb 2012
    Messages:
    6
    Likes Received:
    2
    Reputations:
    -1
    А как скомпилировать его? Через Dev-Cpp не компилируеться.
     
  8. dzruyk

    dzruyk New Member

    Joined:
    30 Sep 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Видимо нужно попробовать в visual studio или просто с ms компилятором.
     
Loading...