Așa cum am scris ck proteja PC-ul de la acțiuni neglijente ale utilizatorului

Nu este nici un secret faptul că mulți utilizatori sunt atât de departe de tehnologia informației, care să le permită să lucreze pentru un astfel de dispozitiv complex, cum ar fi un calculator, este plină. Dar cum să se organizeze pentru a restricționa accesul la un PC? După rândul său, pe computer acum poate fi orice persoană care are cel puțin 10% mâinile cresc din umeri. Din fericire, există o întreagă clasă de programe care ajută la limita accesul utilizatorilor la diferite componente ale sistemului de operare: de la simpla interdicție de joc Solitaire sau Minesweeper, la un sistem de blocare completă pentru Windows.







Cum te-ai infectat?

Cu toate acestea, nu toți utilizatorii sunt de acord cu blocarea voluntară a sistemului (Vreau să vă atrag atenția asupra faptului că în acest articol nu vom lua în considerare crearea de software rău intenționat). Deci, de multe ori un astfel de software este livrat la masina in forma de virus. Moduri de a infecta victima foarte mult. Dintre acestea cele mai populare sunt:

1. ERORI browser-ul. Nu este nici un secret faptul că unul dintre obiectivele scriitori virus moderne - browser-ul utilizatorului. Utile pentru servicii web, un ban de o duzină, și utilizatori, desigur, să le utilizeze. Pentru mulți, browser-ul - cel mai frecvent utilizate programe, care se închide foarte lent (I, astfel încât nu se închid).

Nu este nevoie pentru a merge la o ghicitoare pentru a găsi un răspuns la întrebarea „prin care ușa este cel mai bine să pătrundă în sistemul utilizatorului?“. Există deja clar: vulnerabilitatile cele mai populare browsere. Pentru a aplica această metodă, nu aveți o inteligență specială. Este suficient de securitate posherstiv pe-site-uri pentru a găsi (dacă există) sploit adecvat și frumos decora pentru a se potrivi nevoilor dumneavoastră. Rapid, simplu și gratuit.

3. naivitatii USER. Când am început să pregătească acest articol, de dragul experimentului a început sistemul de operare într-o mașină virtuală și a încercat să meargă pe site-urile „discutabile“. Nu mă crezi, dar am reușit să iau de trei ori Winlocker, fiind de acord cu privire la „ultima versiune“ flash-player și codec „speciale“. Sincer, am fost un pic șocat pentru că m-am gândit că aceste metode nu se rostogolească.

Ce va fi cod?

Am reflectat mult timp limba în care să scrie exemplele din acest articol, și a decis să reamintească testate în timp Delphi. „Deci, aveți același exe'shnik obține un megabyte!“ Te Primul reia. O parte a adevărului, dar problema am rezolvat este încă în stadiul de concepere a proiectului. Tot codul va fi dat un API curat. În consecință, animale noastre sub forma compilate va cântări mai puțin de 100 KB. Doar câteva zeci de lire sterline am scăzut din cauza bytecode manipulare Archiver peste binar preparat.

Baza oricărei Winlocker'a

Fundamentul oricărei Winlocker'a - forma, întinsă aproape întregul ecran. Aceasta nu este doar o mare formă, și o fereastră care este mai presus de toate celelalte, și n-au ascultat nici o comandă. Nu colaps sau a modifica dimensiunea sau chiar mai mult pentru a finaliza procesul de program. La prima vedere poate părea că scriitorii de viruși au know-how-a inventat, dar în viața reală mult mai ușor. De fapt, este normal pentru fereastra pe care ați setat stilul de afișare „peste tot.“ Fereastra să se comporte ca un partizan și nu răspunde la solicitările utilizatorilor, dezvoltatorii modifica ușor procedura de procesare a mesajului din exterior.

Modificarea se reduce la un banal posturi de tratament WM_SYSCOMMAND. Pentru a fi mai precis, singura necesitatea de a declara o verificare mesaj WM_SYSCOMMAND procedura de procesare a mesajului primit. Lucru amuzant este că, în procesarea mesajului nu se poate scrie cod - forma și, astfel nu va mai răspunde la evenimentele din mediul extern.

Virusul trebuie să fie încărcat cu sistemul de operare. Există mai multe modalități de a se asigura că programul dvs. de pornire. Acestea pot fi împărțite în două grupe: simple și avansate. Pentru avansate nu este suficient spațiu în hârtie, astfel încât să ia în considerare doar simplu, bazat pe utilizarea registrului. Deci, în registru Există mai multe piese auto:

Care dintre pornire propuse de locuri pentru a alege pentru creațiile tale? Nici un răspuns exact, dar nu este recomandat pentru a pune totul în oricare dintre opțiunile propuse. În cazul în care mai bine de a utiliza o combinație care este prescris în același timp în mai multe locuri. Exemplu intrări pentru WinAPI de pornire dat doua platcă.

Și vei bloca și mă va bloca!

task manager

Fără excepție vinlokery pe care l-am văzut, a blocat lansarea Task Manager. Ei bine, nu vom ține pasul cu ei. Această caracteristică este pusă în aplicare de creare cheie DisableTaskMgr (tip DWORD), cu o valoare de 1 în aceeași ramură, în cazul în care DisableRegistryTools.

Adăugare sau eliminare programe

Mai ales Brainy, utilizatorii care folosesc applet-ul „Add or Remove Programs“, în cazul unei infecții cu sistem încearcă să instaleze software-ul anti-virus. Este ușor să se oprească, dacă creați o cheie cu o valoare de 1 NoAddRemovePrograms (tip DWORD), în aceeași secțiune în care DisableRegistryTools.

Blocarea accesului la unitățile

Pentru a strica complet starea de spirit a utilizatorului, puteți bloca accesul la toate discurile prezente în sistem. Să utilizatorul nici măcar nu încearcă să ruleze software-ul antivirus cu bățul! Ne dăm seama acest truc prin crearea cheie NoViewOnDrive (DWORD) sub HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer. Valoarea pentru cheia indică masca de biți a unității blocate. De exemplu, ar fi de a conduce C 4. Dacă doriți să blocați mai mult de un disc, trebuie să se stabilească măștile lor. De exemplu, valoarea de 12 se va potrivi de blocare discuri C (4) și D (8).

Chip-ul №1: oriunde distractiv împreună

A infectat un utilizator de computer săraci? Nu uitați să aibă grijă de prietenii lui! Amintiți-vă, mai larg răspândirea virusului, mai multe șanse de a obține bani. Stabilindu pe masina inamic, nu trebuie să pierdeți timpul în zadar, și să încerce să găsească un nou punct de sprijin. Cum de a face acest lucru? Una dintre cele mai simple și mai eficiente metode - monitorizarea și infectarea memorii flash. Deoarece utilizatorii folosesc întotdeauna memorii flash, virusul nostru este ușor de a migra de la un sistem la altul. Determinați dacă conexiunea este ușor de a lipi. Suficient pentru a scrie cod care se ocupă de WM_DEVICECHANGE eveniment.







În codul celei de a treia cravată am folosit constante și structuri, descrierea care nu este în modulele care vin cu Delphi. Ei trebuie să le descrie. Am luat toate informațiile din MSDN, dar nu poți scălda, și să ia doar codul sursa mea de pe DVD-ul.

Chip-ul №2: trece dvs. va fi al nostru!

De exemplu: 127.0.0.1 www.odnoclassniki.ru

Luați în considerare editarea fișierului de gazde nu va, este mai bine să aruncăm o privire la modul de utilizare Delphi pentru a ridica serverul de web. Dacă sunteți un cititor regulat al revistei noastre, trebuie să navigați API Winsock. La un moment dat în categoria Codificarea scris articole despre alunecat tot felul de clienti (FTP, PROXY, IRC, etc.) numai cu api-funcții. Vă recomandăm să selectați și să citească un bun agent de legare cu tema sabzhevoy (ulei de ulei -. Nn) ..

Chip-ul №3: utilizator Ecstasy

Evil-programatori pentru a stimula utilizatorul despărțire cu hard-a câștigat SMS premium? Differently. De exemplu, criptarea fișierelor importante pentru el. Ce fișiere să caute? Este cel mai bine pentru cei care pot afecta activitatea / studiul victimei, de exemplu, documente (doc, xls, MDB, ppt, txt), imagini (jpeg, png, bmp), codul sursă (PHP, pas, c, h, cpp , DPR, py, etc.). În cazul în care victima a scris o teză sau un raport general că mâine ia, atunci atacatorul are toate șansele de a obține o recompensă în bani.

Acum să vorbim despre punerea în aplicare tehnică a acestui lucru. Căutarea fișierelor se face cu FindFirs funcțiile () și FindNext () din modulul SysUtils. Ușor de a lucra cu ei, dar simplitatea acestei fast-food afectează negativ forma cererii. Deoarece creșterea în greutate nici un folos pentru noi, vom folosi mai multe produse dietetice: FindFirstFile () și FindNextFile (). Lucru un pic mai greu cu ei (a se vedea. Fișier exemplu de căutare a discului), dar frumusetea cere victimelor.

Cripteze cu Delphi, de asemenea, este destul de simplu. Totul depinde de metoda de criptare selectată. Puteți utiliza pur și simplu modulele gata făcute, care sunt un ban de o duzină pe torry.net și alte site-uri. De exemplu, am dat peste o opțiune bună de la unul dintre dezvoltatorii Delphi. Acest modul are următoarele caracteristici:

// Criptare fișiere
funcționa FileEncrypt (infile, outfile: String;
Cheie: TWordTriple): Boolean;
// Fișier Decoding
funcționa FileDecrypt (infile, outfile: String;
Cheie: TWordTriple): Boolean;
// Text Criptați
Funcția TextEncrypt (const s: string;
Cheie: TWordTriple): string;
// Transcrierea text
Funcția TextDecrypt (const s: string;
Cheie: TWordTriple): string;
// Cripta „memorie“
funcționa MemoryEncrypt (Src: pointer; SrcSize:
Cardinal;
Tinta: Pointer; TargetSize: Cardinal;
Cheie: TWordTriple): Boolean;
// Explicația „memorie“
funcționa MemoryDecrypt (Src: pointer;
SrcSize: Cardinal; Tinta: Pointer;
TargetSize: Cardinal; Cheie: TWordTriple): Boolean;

Textul integral al acestor funcții, precum și exemple de utilizare a acestora, veți găsi pe unitatea noastră.

Chip-ul №4: multiplica!

Odată ajuns în sistemul altcuiva ar trebui să încerce să rămână în ea, atâta timp cât este posibil. Nu pot să vă spun o modalitate de a pune în aplicare o sută la sută. Primul (și cea mai simplă în implementare), care a avut loc pentru mine, pentru a construi în winlocker mini-Joyner. Algoritmul este după cum urmează: atunci când este activat în sistemul victimei, programul principal va infecta programele cele mai utilizate în mod obișnuit. Mai mult decât atât, virusul acestora nu ar trebui să fie piggybacked. Ca parazit va acționa un pic „inofensiv“ programm. Funcția sa principală este de a executa controale pentru procesul de funcționare a virusului. Dacă nu este, este necesar să se inițieze descărcarea de „virus“, a Internetului și în execuția acestuia. a crea un tâmplar nu este dificil din punct de programare. În plus, câțiva ani în urmă (a se vedea. Articolul „distracție împreună“, în # 104), am acoperit acest subiect în paginile revistei noastre.

Chip-ul №5: juca ascunde și de a căuta pe un maxim

  1. Dă fișierul numele neremarcabil virusului. Deși este o regulă primitivă, dar pentru a observa este foarte de dorit.
  2. Ia departe virusul din lista de proces. Acest lucru poate fi realizat, pentru a înțelege funcțiile API interceptare. Am deja scris despre interceptarea API de multe ori. Asigurați-vă că pentru a citi prin aceste articole!
  3. Mai multe metode sunt folosite de pornire.

Chip-ul №6: pentru a ucide la început

Nu fi leneș și scrie o procedură de proces obligatoriu este completă. Aceasta va ajuta cu siguranta vă proteja copilul de antivirus rău că utilizatorul va încerca să ruleze. În mod ideal, în general, organizează interceptarea funcțiilor care sunt folosite pentru a porni programe, și nu pentru a le permite să funcționeze în mod normal.

complet de lucru

web-server Self-made

Restricționarea lansarea aplicației

Cu ajutorul registrului pentru a determina lista reală a aprobat pentru a rula programe. Dacă această listă este specificată, atunci utilizatorul nu va fi capabil să ruleze aplicații care nu sunt acolo. O listă de cereri aprobate este setat pentru a lansa aici: HKEY_CURRENT_USER \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ RistrictRun. Prin crearea acestei secțiuni (chei de tip REG_SZ) pentru fiecare program autorizat, va trebui să meargă în sus cu un nivel în sus și adăugați un tip DWORD parametru RestrictRun la valoarea 1.

de gestionare a computerului

Multe cazuri rele va fi capabil să facă utilizatorul în cazul în care el sau ea are acces pentru a rula utilitarul de completare snap „Computer Management“. dezactivați complet snap prin registru nu ar trebui să fie, dar elimina link-ul pentru ao lansa din meniul contextual al „My Computer“ scurtătură - o bucată de tort. Vreau doar să creați un parametru de tip NoManageMyComputerVerb DWORD cu o valoare de 1 în secțiunea HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer.

Am tăiat în jos de serviciu

Utilizarea Registry vă oferă fără probleme pot dezactiva serviciile inutile pentru utilizator (de exemplu, software-ul antivirus). Lista completa a serviciilor instalate pe sistemul este situat în HKEY_LOCAL_MACHINE \ System ramură \ CurrentControlSet \ Services. Pentru a dezactiva serviciul de editare valoarea cheii de pornire. De exemplu, pentru a instala serviciul „Startup Type“ la „Manual“, trebuie să alocați un start-cheie 3. Dacă doriți să software-ul întins într-un sistem de inamic mai mult, vă sfătuiesc să păstrați în serviciile sale antivirus de creare a bazei de date. Asta este, trebuie să identifice în mod clar serviciile antivirus și de a schimba tipul lor de pornire.

Și ce altceva mai avem nevoie?

monitoare stick-

var
disc: DWORD;
începe
caz de Msg.WParam
DBT_DEVICEARRIVAL: // Dacă conectați o unitate flash USB
if (PDEV_BROADCAST_HDR (Msg.LParam) ^
.dbch_devicetype = DBT_DEVTYP_VOLUME) atunci
începe
// Încercați să identificați litera de unitate
disc: = PDEV_BROADAST_VOLUME (Msg.LParam "") ^
.dbcv_unitmask;
// Face codul malitios
se încheie;
DBT_DEVICEREMOVECOMPLETE: // Dacă stick-ul eliminat
if (PDEV_BROADCAST_HDR (Msg.LParam) ^
.dbch_devicetype = DBT_DEVTYP_VOLUME) atunci
începe
// unitate flash USB, nemontate
se încheie;

fereastra neînnegurat pe Windows API

wc.cbSize: = sizeof (wc);
wc.style:=cs_hredraw sau 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: = zero;
wc.lpszClassName: = 'win_main';
RegisterClassEx (WC);
leftPos: = 20;
topPos: = 0;
windowWidth: = Screen.Width;
WindowHeight: = Screen.Height;
MainWnd: = CreateWindowEx (
0
'Win_main',
'Test',
ws_overlappedwindow,
leftPos,
topPos,
windowWidth,
windowHeight,
0
0
Hinstance,
zero
);
SetWindowLong (MainWnd, GWL_HWNDPARENT,
GetDesktopWindow);
SetWindowPos (MainWnd, HWND_TOPMOST,
0, 0, 0, 0, SWP_NOMOVE sau SWP_NOSIZE);
ShowWindow (MainWnd, CmdShow);
In timp ce getMessage (mesg, 0,0,0) do
începe
TranslateMessage (mesg);
DispatchMessage (mesg);
se încheie;

WinAPI de a lucra cu registrul

var
Cheie: HKey;
începe
// Aici se pot substitui una dintre modalitățile
pornire.
RegOpenKey (HKEY_LOCAL_MACHINE,
PChar ( ''), Key);
RegSetValueEx (Cheia, PChar (paramstr (0)),
0, REG_SZ,
pchar (paramstr (0)),
lstrlen (pchar (paramstr (0))) + 1);
RegCloseKey (Cheia);
se încheie;

Arată acest articol unui prieten: