[Parallels Workstation Detection]

Discussion in 'Реверсинг' started by 0x0c0de, 28 Nov 2008.

  1. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    [Детект Parallels Workstation].

    Много написано было про VmWare, а про детект этой вм ничего не видела, а так как юзаю не варю, а ее, то стало интересно. Нашла по крайней мере 2 способа ее сдетектить

    ОС: Windows XP (SP2,SP3)

    1)Виртуальный cdrom и hdd
    В системе, установленной на Parallels

    присутствуют символические ссылки с именами
    ~(у меня)

    IDE#CdRomPRL_Virtual_CD-ROM______________________R102____#4&2eac1
    2a2&0&0.1.0#{53f56308-b6bf-11d0-94f2-00a0c91efb8b}

    IDE#DiskVirtual__HDD_[0]________________________FWR10003#31303134
    39353632333538353739333933323438#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

    на реальном компе (также только частный случай)

    IDE#CdRomATAPI_DVD_A__DH20A4P____________________9P54____#5&3b5e6
    249&0&0.1.0#{1186654d-47b8-48b9-beb9-7df113ae3c67}

    IDE#DiskHitachi_HDS721616PLA380_________________P22OABEA#5&1bbc6d
    1b&0&0.0.0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

    (см скрины)

    http://img530.imageshack.us/my.php?image=parllsuv1.jpg

    как видно, юзала Winobj.

    понятное дело, что часть CdRomPRL_ и DiskVirtual__HDD_ постоянна на остальное закладываться не стоит (я проверку на эту часть строки делала, но в принципе можно проверять CdRomPRL_Virtual_CD-ROM). Здесь вывод: идем по дереву объектов (используя NtOpenDirectoryObject и NtQueryDirectoryObject) и ищем SymbolicLink. Потом парсим строку и если находим подстроку DiskVirtual__HDD_ или CdRomPRL_, то мы под Paralles.
    Результат работы моей проги под эмулятором
    детектед

    http://img266.imageshack.us/my.php?image=dethd2.jpg


    2. Через реестр в VideoBiosVersion права Parallels(R)

    Ключ: HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System

    Параметр: "VideoBiosVersion"

    Значение(у меня):

    2Parallels(R) VGA-Compatible BIOS Version 1.05
    Id: vgabios.c,v 1.61 2005/05/24 16:50:50 vruppert Exp


    Думаю, в следующем коде все понятно

    Code:
    BOOL DetectBios(void){
    BOOL rslt = FALSE;
    HKEY hkey;
    wchar_t lpData[500];
    
    if(!RegOpenKey(HKEY_LOCAL_MACHINE,L"HARDWARE\\Description\\System",&hkey))
     {
      DWORD Type = REG_MULTI_SZ,lpcbData = 500;
    
    
      if(!RegQueryValueEx(hkey,L"VideoBiosVersion",0,&Type,(LPBYTE)&lpData,&lpcbData))
      {
    
       wprintf(L"Value name = %s\n",lpData);
       //ищем подстроку Parallels(R) в строке со значением 
       if(checkLink(lpData,L"Parallels(R)",12)){
    	   wprintf(L"Registry value detected\n");
       }
       
    
      }
      else wprintf(L"Error in RegQueryValueEx\n");
    
      RegCloseKey(hkey);
    }
    else wprintf(L"Cannot open key\n");
      return rslt;
    
    }
    

    program download

    http://rapidshare.com/files/168272284/ParallelsDetect.rar.html
     
    #1 0x0c0de, 28 Nov 2008
    Last edited: 29 Nov 2008
    2 people like this.
  2. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    Мой вирус пополнился новым методом детекта вм =)
     
  3. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    слишком явный метод, строки палятся :)
    вот если бы какие-либо порты задействовать или еще что-нибудь экзотическое
     
  4. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    несуть, порты или строки, сигну всеравно повесят на кодес. на собственном примере поведаю, был кодес, невинный посути, добавил детек сандбоксов и варей тому подобных, 4ерез недели 2 смотрю палится вебером, каспером, авастом. эмпири4еским путем было выяснено 4то сигны детекта были навешаны на детект с именем какого-то о4ередного "Agent.XXX" и им пофиг 4то мой код "нормальный" =\ с таким подходом, скоро каждого медика будут упрятывать в тюрьму, ведь у них в арсенале есть шприцы, а шприцы потенциально могут содержать в себе капли крови-ви4 позитивных лодей. так4то лу4ше упрятать пока никого не заразили)
     
  5. Ryu

    Ryu New Member

    Joined:
    13 Jun 2008
    Messages:
    19
    Likes Received:
    3
    Reputations:
    2
    wtf? "слишком явный метод, строки палятся"- кто юзает строки? Возьми свой полином и захешируй. Ничего палиться не будет (не вечно конечно, но достаточно долго). А если еще криптор-пакер или хотя бы простенький полиморф - пол-года я думаю актуальность будет обеспечена.
     
    #5 Ryu, 26 Dec 2008
    Last edited: 26 Dec 2008
    1 person likes this.
  6. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    простенький полиморф, пол года - да что вы батенька ;)
    по сабжу, есть более красивые методы детекта, работающие под гостем.
     
    #6 Hellsp@wn, 26 Dec 2008
    Last edited: 26 Dec 2008
  7. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    А если не секрет, можно один хотя бы пример? Ради интереса :)