Както написах СК защитите компютъра от безгрижни действията на потребителя

Не е тайна, че много потребители са толкова далеч от информационните технологии, която да им позволи да работят за такава сложна устройство, като например компютър, е изпълнен. Но как да се организират, за да ограничи достъпа до компютър? След включване на компютъра вече може да бъде всеки, който има най-малко 10% от ръцете растат рамене. За щастие, има цял клас от програми, които помагат да се ограничи достъпа на потребителите до различни компоненти на операционната система: от прости забрана да играе пасианс или Миночистач, до пълно блокиране на Windows.







Как да се зарази?

Въпреки това, не всички потребители са съгласни да се доброволно за заключване на системата (Искам да съсредоточи вниманието си върху факта, че в тази статия няма да считаме, създаването на зловреден софтуер). Така че често такъв софтуер се доставя до колата им под формата на вируса. Начини да заразят жертвата много. Сред тях най-популярни са:

1. ГРЕШКИ браузър. Не е тайна, че една от целите на съвременните авторите на вируси - браузъра на потребителя. Полезни услуги в мрежата, лопата да ги ринеш, и потребителите, разбира се, да ги използват. За много хора, на браузъра - най-често използваните програми, който се затваря много бавно (I така че не се затварят).

Не е нужно да отидете на врачка, за да намери отговор на въпроса ", чрез която врата е най-добре да пробие в системата на потребителя?". Там вече е ясно: да се възползват от слабите места на най-популярните браузъри. За да приложите този метод, не е нужно да има специална интелигентност. Достатъчно posherstiv за сигурност-сайтове, за да намерите (ако има такива), подходящ sploit и красиво да го украсят, за да отговарят на вашите нужди. Бързо, лесно и безплатно.

3. USER наивност. Когато започнах да се подготви тази статия, в името на експеримента започна операционната система във виртуална машина и се опита да ходи на "съмнителни" сайтове. Не ми вярвате, но аз успях да взема три пъти Winlocker, като се съгласи на "новата версия" на флаш-плейър и "специални" кодек. Честно казано, бях малко шокиран, защото мислех, че този метод не се търкалят.

Каква ще бъде да се код?

Отдавна съм размишлявал езика, на който да пише примерите в тази статия, и реши да припомни изпитан Делфи. "Така че има същия exe'shnik получи мегабайт!" Ти отвърна. Част от истината, но проблемът решим все още е на етап проект зачеването. Всички кодът ще бъде даден на чисто API. Съответно ни животно в компилирана форма ще тежи по-малко от 100 KB. Само няколко десетки лири се отказахме поради манипулация архиватор байткод върху подготвената двоичен.

В основата на всяка Winlocker'a

В основата на всяка Winlocker'a - формата, протегна почти целия екран. Това не е просто страхотна форма и прозорец, който е над всички останали и не се подчиняват всички команди. Не колапс или променяте размера или дори повече, за да завършите процеса на програмата. На пръв поглед може да изглежда, че авторите на вируси са изобретили ноу-хау, но в реалния живот е много по-лесно. В действителност, това е нормалния, за които сте задали начина на изобразяване, "цял". Window да се държат като партизанин и не отговори на заявки за това, разработчиците леко променят процедурата по обработка на съобщение от външната страна.

Модификацията се свежда до един банален лечение WM_SYSCOMMAND мнения. За да бъдем по-точни, единственото необходимо да се декларират проверка на съобщение WM_SYSCOMMAND получи процедура за обработка на съобщения. Смешното е, че при обработката на съобщението не може никога да пишете код - формата и така вече няма да реагира на събитията на външната среда.

Вирусът трябва да се натовари с операционната система. Има няколко начина, за да се гарантира, че вашата програма стартиране. Те могат да бъдат разделени на две групи: прости и напреднали. За напреднали достатъчно място във вестника, така че ние разглеждаме само проста, базирани на използването на системния регистър. Така че, в системния регистър Има няколко автомобилни части:

Кои от предложената стартиране на места, за да изберете за вашите творения? Не точен отговор, но това не се препоръчва да се сложи всичко във всеки един от предложените варианти. Къде по-добре да се използва комбинация, която е да се предписва едновременно на няколко места. Пример записи за стартиране WinAPI дадени втори притурка.

И вие ще блокира и ще ме блокира!

Task Manager

Без изключение vinlokery, която съм виждал, блокира стартирането на диспечера на задачите. Е, ние няма да се справи с тях. Тази функция се изпълнява ключова създаване DisableTaskMgr (тип DWORD) със стойност 1 в същия клон, където е DisableRegistryTools.

Добавяне или премахване на програми

Особено умен, потребители, използващи аплета "Добавяне или премахване на програми" в случай на инфекция система се опитва да се инсталира антивирусен софтуер. Това е лесно да се спре, ако създадете ключ със стойност 1 NoAddRemovePrograms (тип DWORD) в същата секция, където DisableRegistryTools.

Блокиране на достъпа до дискове

За да се развали напълно настроението на потребителя, можете да блокирате всички достъп до дисковете, присъстващи в системата. Нека потребителят дори не се опитва да тече антивирусен софтуер с бастуна си! Даваме си сметка, този трик, чрез създаване NoViewOnDrive ключ (DWORD) под HKEY_LOCAL_MACHINE \ Software \ \ CurrentVersion \ Policies \ Explorer на Microsoft \ Windows. Стойността на клавиша показва, битовата маска на блокиран диск. Така например, би било да карам C 4. Ако искате да блокирате повече от един диск, ще трябва да определят своите маски. Например, стойността 12 ще се побере заключване дискове С (4) и D (8).

Чипът №1: където и да е забавно заедно

Е заразил компютъра на потребителя бедните? Не забравяйте да се грижи за неговите приятели! Не забравяйте, че по-широката разпространението на вируса, по-голям шанс за получаване на парите. Уреждане на машината враг, не е нужно да губите време в напразни, и да се опита да намери нов опора. Как да го направя? Един от най-лесните и най-ефективните начини - мониторинг и инфекция на флаш памети. Тъй като потребителите винаги да използват флаш памети, нашият вирус е лесно да мигрират от една система към друга. Определете дали връзката е лесно да се придържаме. Достатъчно, за да пишете код, който обработва WM_DEVICECHANGE на събитието.







В кода на третата равенството Използвах константи и структури, описанието на което не е в модулите, които идват с Delphi. Те трябва да се опише. Взех цялата информация, от MSDN, но не можете да се къпят, а просто да ми изходния код на DVD диска.

Чипът №2: Вашите обработки ще бъдат наши!

Например: 127.0.0.1 www.odnoclassniki.ru

Помислете за редактирането на файла с хостове, няма да е по-добре да погледнете в това как да използвате Delphi за повишаване на вашия уеб-сървър. Ако сте редовен читател на нашето списание, трябва да се движите в Winsock API. По едно време в категория кодиране на подхлъзнах писане на статии за всички видове клиенти (FTP, пълномощник, IRC, и т.н.), като само през API функции. Препоръчвам ви да се вдигне и да се чете свързват добре с sabzhevoy тема (масло масло - Ред.) ..

Чипът №3: Ecstasy потребител

Злите-програмисти за стимулиране на потребителя да се раздели с трудно спечелените премии SMS? По различен начин. Например, криптиране на важни файлове за него. Какво файлове да се търси? Най-добре е за тези, които могат да повлияят на работата / проучване на жертвата, например, документи (док, XLS, MDB, PPT, TXT), изображения, (JPEG, PNG, BMP), изходния код (PHP, па, C, H, CPP , DPR, пиримидин, и т.н.). Ако жертвата е написал дисертация или някаква всеобхватна доклада, че утре вземе, а след това на нападателя има всички шансове да получи парична награда.

Сега нека да поговорим за техническото изпълнение на това нещо. Търсене на файлове се извършва с FindFirs функциите () и FindNext () от Sysutils модул. Лесно е да се работи с тях, но простотата на този бързо хранене се отрази негативно върху формата на заявлението. Тъй като наддаване на тегло не се използва за нас, ние ще използваме повече хранителни продукти: FindFirstFile () и FindNextFile (). Работата е малко по-трудно с тях (вж. Файла търсене пример на диска), но красотата изисква жертви.

Криптиране на файлове с Delphi също е достатъчно проста. Всичко зависи от избрания метод за криптиране. Можете просто да използвате готови модули, които са лопата да ги ринеш на torry.net и други сайтове. Например, аз се натъкнах на един добър вариант от една от Delphi разработчици. Този модул е ​​със следните характеристики:

// File Encryption
функционира FileEncrypt (INFILE, OutFile: String;
Легенда: TWordTriple): Булева;
// файла Decoding
функционира FileDecrypt (INFILE, OutFile: String;
Легенда: TWordTriple): Булева;
// Encrypt Текст
функция TextEncrypt (конст S: низ;
Легенда: TWordTriple): низ;
// Текст Транскрипция
функция TextDecrypt (конст S: низ;
Легенда: TWordTriple): низ;
// Кодиране на "памет"
функционира MemoryEncrypt (Src: Стрелката; SrcSize:
кардинал;
Цел: Pointer; TargetSize: Кардинал;
Легенда: TWordTriple): Булева;
// Обяснение на "памет"
функционира MemoryDecrypt (Src: Стрелката;
SrcSize: Кардинал; Цел: Pointer;
TargetSize: Кардинал; Легенда: TWordTriple): Булева;

Пълният текст на тези функции, както и примери за използването им ще намерите на нашата кола.

Чипът №4: умножете!

След като в системата на някой друг трябва да се опитват да останат в него толкова дълго, колкото е възможно. Не мога да ви кажа един начин за изпълнение на сто процента. Първият (и най-лесните за изпълнение), който ми хрумна, да се изгради в winlocker мини-Джойнър. Алгоритъмът е следният: когато се активира в системата на жертвата, основната програма ще зарази най-често използваните програми. Освен това, вирусът да им не трябва да се piggybacked. Както паразита ще действа малко "безобидна" Програмно. Неговата основна функция е да извършват проверки за провеждане на процес вирус. Ако не е, че е необходимо да стартирате процеса на изтегляне на "вируса" на интернет и по-нататъшното му изпълнение. създаване на дърводелец, не е трудно от гледна точка на програмирането. Освен това, преди няколко години (вж. Член "се забавляват заедно" в # 104), ние покрити тази тема на страниците на нашето списание.

Чипът №5: играе на криеница с максимална

  1. Дай файла вирус незабележително име. Въпреки че е примитивно правило, но да се наблюдава силно се желае.
  2. Отнемете на вируса от списъка с процесите. Това може да се постигне, за да се разбере за прихващане функции API. Ние вече писа за прихващане API много пъти. Не пропускайте да прочетете тези статии!
  3. Няколко метода са използвани стартиране.

Чипът №6: да убие в началото

Не бъдете мързеливи и пишат на процедура на задължителното процес е завършен. Това със сигурност ще ви помогнат да защитите детето си от зли антивирус, че потребителят ще се опитат да се изпълнява. В идеалния случай обикновено се организират прихващането на функции, които са използвани, за да започне програми, а не да им позволи да се работи нормално.

работа пълен

Самостоятелно направи уеб-сървър

Ограничаване на заявление за спускане

С помощта на системния регистър, за да се определи реалният списъка с одобрени за показване на програмите. Ако не е посочен в списъка, след това потребителят няма да бъде в състояние да стартирате приложения, които не са там. Списък на одобрените заявления е настроен да стартира тук: HKEY_CURRENT_USER \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ RistrictRun. Със създаването на тази секция ключове (тип REG_SZ) за всеки разрешен програма, ще трябва да отидете едно ниво нагоре и да добавите тип DWORD параметър RestrictRun на стойност 1.

управление на компютър

Много лоши случаи ще бъдат в състояние да направи потребителя, ако той или тя има достъп до стартирате модула "Управление на компютъра". Напълно изключите модула през регистъра не трябва да бъде, но премахнете връзката, за да го стартирате от контекстното меню на "My Computer" пряк път - парче от тортата. Просто искаме да създадем DWORD параметър тип NoManageMyComputerVerb със стойност 1 в HKCU раздел \ Software \ \ CurrentVersion \ Policies \ Explorer на Microsoft \ Windows.

Ние изсече услуга

Използването вписванията ви предлага без проблеми да изключите ненужните услуги за потребителя (например, антивирусен софтуер). Пълен списък на инсталираните на системата услуги се намира в клон HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services. За да деактивирате стойност старт бутона на услуга за редактиране. Например, за да инсталирате услугата "Startup Type" да "Manual", трябва да зададете ключ старт 3. Ако искате да си софтуер протегна в системата враг вече, аз ви съветвам да съхранява в своите антивирусни услуги за създаване на база данни. Това е, което трябва да се определят ясно услугите на антивирусен и промяна на тяхното стартиране тип.

И какво друго ни е нужно?

Монитори залепват

Var
диск: DWORD;
започвам
При Msg.WParam на
DBT_DEVICEARRIVAL: // Ако свържете USB флаш устройство
ако (PDEV_BROADCAST_HDR (Msg.LParam) ^
.dbch_devicetype = DBT_DEVTYP_VOLUME) след това
започвам
// Опитайте се да идентифицирате буквата
диск: = PDEV_BROADAST_VOLUME (Msg.LParam "") ^
.dbcv_unitmask;
// Да ви зловреден код
приключи;
DBT_DEVICEREMOVECOMPLETE: // Ако отстранен пръчката
ако (PDEV_BROADCAST_HDR (Msg.LParam) ^
.dbch_devicetype = DBT_DEVTYP_VOLUME) след това
започвам
// USB флаш памет, немонтирани
приключи;

Незакрита прозорец на WINDOWS API

wc.cbSize: = sizeof (тоалетна);
wc.style:=cs_hredraw или cs_vredraw;
wc.lpfnWndProc: = @ WindowProc;
wc.cbClsExtra: = 0;
wc.cbWndExtra: = 0;
wc.hInstance: = HInstance;
wc.hIcon: = LoadIcon (0, idi_application);
wc.hCursor: = LoadCursor (0, idc_arrow);
wc.hbrBackground: = COLOR_BTNFACE + 1;
wc.lpszMenuName: = нула;
wc.lpszClassName: = 'win_main;
RegisterClassEx (възел);
leftPos: = 20;
topPos: = 0;
windowWidth: = screen.width;
WindowHeight: = screen.height;
MainWnd: = CreateWindowEx (
0
"Win_main"
"Тест",
ws_overlappedwindow,
leftPos,
topPos,
windowWidth,
windowHeight,
0
0
Hinstance,
нула
);
SetWindowLong (MainWnd, GWL_HWNDPARENT,
GetDesktopWindow);
SetWindowPos (MainWnd, HWND_TOPMOST,
0, 0, 0, 0, SWP_NOMOVE или SWP_NOSIZE);
ShowWindow (MainWnd, CmdShow);
Докато GetMessage (Mesg, 0,0,0) направи
започвам
TranslateMessage (Mesg);
DispatchMessage (Mesg);
приключи;

WinAPI да работи с регистъра

Var
Легенда: HKEY;
започвам
// Тук можете да замести един от начините
стартиране.
RegOpenKey (HKEY_LOCAL_MACHINE,
PChar ( ""), Key);
RegSetValueEx (Key, PChar (paramstr (0)),
0, REG_SZ,
pchar (paramstr (0)),
lstrlen (pchar (paramstr (0))) + 1);
RegCloseKey (ключ);
приключи;

Покажете тази статия на приятел: