Как сделать чекер на python

Добавил пользователь Владимир З.
Обновлено: 07.09.2024

Сегодня мы будем работать над созданием кейлоггера Python . Кейлоггеры-один из самых распространенных инструментов в арсенале хакера. На самом деле они являются одним из самых основных инструментов и очень просты в изготовлении. В этом модуле мы научимся кодировать очень эффективный, но точный кейлоггер.

Установка Необходимых Библиотек

Прежде чем мы начнем, нам нужно установить определенную библиотеку, что мы можем сделать с помощью команды pip:

С этим покончено, мы можем продолжать писать наш код!

Реализация кейлоггера Python всего в 10 строках

Объяснение Кода

Я не буду заставлять тебя болтаться только с кодом. Давайте разберемся, что делает каждая линия, чтобы вы были готовы построить свою собственную!

Строки 1-2: Импорт Необходимых Библиотек

Для работы нашего кода нам понадобятся следующие библиотеки:

  • pynput : Это поможет нам прочитать нажатия клавиш, когда пользователь вводит данные
  • logging : Это будет записывать нажатия клавиш в файл, который мы позже сможем эксфильтратировать подходящими средствами

Строка 4: Базовая конфигурация журнала

Здесь мы создаем базовую конфигурацию для системы ведения журнала. Мы указываем имя файла, в котором нажатия клавиш будут записываться как keylog.txt с последующим указанием формата, в котором будут храниться нажатия клавиш, что в данном случае будет:

Строка 6-7: Определение нашей Функции

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

Строка 9-10: Получение нажатий клавиш

Во-первых, здесь мы создаем экземпляр прослушивателя, который будет записывать нажатия клавиш и передавать созданную нами функцию в качестве аргумента. Затем мы используем метод .join () , чтобы соединить его с основным потоком.

Таким образом, каждый раз, когда нажимается клавиша, запускается прослушиватель, и он вызывает нашу функцию, которая затем записывает ваши нажатия клавиш в файл.

Запуск Нашего Кейлоггера Python

Вы можете запустить программу с помощью:

После запуска программы мы заметим новый файл keylog.txt создан в текущем каталоге.

Украдкой запускаем наш кейлоггер Python

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

В Linux/Unix

Чтобы запустить код незаметно, вы можете просто запустить его как:

Это позволит коду работать даже после закрытия терминала, сохраняя при этом запись нажатий клавиш !

В Windows

В Windows вы можете просто переименовать расширение файла из .py в .pyw , а затем дважды щелкнуть файл, чтобы запустить его без появления терминала. Затем программа запускается в фоновом режиме, регистрируя каждое нажатие клавиши.

Вывод

Поэтому мы закодировали короткий, но эффективный кейлоггер Python для записи нажатий клавиш жертвы. Однако он предназначен исключительно для образовательных целей и не должен использоваться в злонамеренных целях.

Зачем кому-то писать вредоносное ПО на Python? Мы собираемся сделать это, чтобы изучить общие принципы разработки вредоносных программ, а в то же время вы сможете попрактиковаться в использовании этого языка и применить полученные знания для других целей. Кроме того, вредоносное ПО Python встречается в естественных условиях, и не все программы защиты от вирусов обращают на него внимание.

Конечно, приведенные в статье скрипты никоим образом не подходят для использования в боевых условиях — в них нет обфускации, принципы работы просты, как дважды два, и нет никаких вредоносных функций. Однако проявив немного изобретательности, их можно использовать для простых грязных уловок — например, выключения чьего-либо компьютера в классе или в офисе.

Теория

Определяем IP

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

Нач­нем писать код. Сра­зу импорти­руем биб­лиоте­ки:

Обе биб­лиоте­ки не пос­тавля­ются с Python, поэто­му, если они у тебя отсутс­тву­ют, их нуж­но уста­новить коман­дой pip .

Код получе­ния внеш­него и внут­ренне­го адре­сов будет таким. Обра­ти вни­мание, что, если у жер­твы нес­коль­ко сетевых интерфей­сов (нап­ример, Wi-Fi и Ethernet одновре­мен­но), этот код может вес­ти себя неп­равиль­но.

Ес­ли с локаль­ным адре­сом все более-менее прос­то — находим имя устрой­ства в сети и смот­рим IP по име­ни устрой­ства, — то вот с пуб­личным IP все нем­ного слож­нее.

Я выб­рал сайт api. ipify. org , так как на выходе нам выда­ется толь­ко одна стро­ка — наш внеш­ний IP. Из связ­ки пуб­личный + локаль­ный IP мы получим поч­ти точ­ный адрес устрой­ства.

Вы­вес­ти информа­цию еще про­ще:

Ни­ког­да не встре­чал конс­трук­ции типа print( f'<> ') ? Бук­ва f озна­чает фор­матиро­ван­ные стро­ковые литера­лы. Прос­тыми сло­вами — прог­рам­мные встав­ки пря­мо в стро­ку.

Строковые литералы не только хорошо смотрятся в вашем коде, они также помогают избежать таких ошибок, как сложение строк и добавление чисел (Python это не JavaScript!).

Итак, начинаем с простых проектов: ты научишься собирать информацию о системе, напишешь своего бота для Telegram (или, как вариант, одного из пяти, описанных в другой статье), простейший вирус и обратный шелл.

Первые шаги в Python


Python с нуля, урок 1

Учимся кодить без скучных книжек

Чтобы ломать, много ума не надо: можно качнуть Kali Linux, юзать готовые программки, копипастить код с форумов и вслепую качать скрипты с GitHub. Но потолок хакера, пока он не научится писать и понимать код, будет низким. В этой статье я попытаюсь в доступной форме научить тебя основам. Начинаем с абсолютного нуля!


Python с нуля, урок 2

Учимся работать со строками, файлами и интернетом


Python с нуля, урок 3

Работаем с ОС, изучаем регулярные выражения и функции


Пять простых примеров

Примеры, которые сподвигнут тебя изучить Python

Python за последнее десятилетие набрал огромную популярность и не сдает своих позиций — его применение и для обучения программированию, и для разработки приложений только растет. Не каждый язык может похвастаться популярностью в таких разных отраслях, как веб-разработка, DevOps, научные вычисления и машинное обучение.

Практика. Легкий уровень


Разведка змеем

Собираем информацию о системе с помощью Python

Если ты часто имеешь дело с разными компьютерами, тебе, конечно, нужен простой в использовании и быстрый инструмент для сбора информации о системе. Сегодня мы покажем, как сделать такую программу, отсылающую собранные данные в Telegram, а еще попрактикуемся в программировании на Python.


Телеграфирует робот

Пишем бота для Telegram на Python


Питоном по телеграму!

Пишем пять простых Telegram-ботов на Python


Ядовитый питон

Пишем на Python простейшую малварь: локер, шифровальщик и вирус

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


Reverse shell на Python

Осваиваем навыки работы с сетью на Python на примере обратного шелла

Практика. Средний уровень


Идеальная форма

Обрабатываем сложные формы на Python с помощью WTForms

Обработка HTML-форм в веб-приложениях — несложная задача. Проблемы начинаются, когда форма разрастается: нужно следить за полями, их ID, атрибутами name, корректно маппить атрибуты на бэкенде при генерации и процессинге данных. Разработка превращается в постоянную рутину. Однако есть способы сделать работу с формами удобной.


Крадущийся питон

Создаем простейший троян на Python

В этой статье я расскажу, как написать на Python простейший троян с удаленным доступом, а для большей скрытности мы встроим его в игру. Даже если ты не знаешь Python, ты сможешь лучше понять, как устроены такие вредоносы, и поупражняться в программировании.


Тотальная проверка

Используем API VirusTotal в своих проектах


Используем нейросеть, чтобы следить за людьми и разгадывать капчу

You only look once, или YOLO, — эффективный алгоритм, который позволяет выделять объекты на изображении. В этой статье мы используем его, чтобы написать на Python программу для определения числа людей в помещении, а по дороге опробуем его в разгадывании капчи.


Ищем эксплоиты

Сканим уязвимые серверы и автоматизируем пентест с помощью Python

Проект Vulners за пару лет превратился из агрегатора данных о багах в довольно популярный инструмент пентестера. Это уже полноценный тулкит для поиска эксплоитов, API для Python, плагины для Burp Suite и Chrome, серверный агент. Vulners удобно встраивается в сценарии атак, на нем пишут сканеры уязвимостей. В этой статье мы посмотрим, что может предложить Vulners, а также научимся использовать всю мощь его Python API в повседневных задачах.


Scapy для начинающих

Укрощаем строптивого змея

Достаточно долгое время написание инструментов для пентеста компьютерных сетей считалось занятием очень непростым. Но все изменилось с появлением библиотеки Scapy для языка Python. С помощью этой связки можно удовлетворить любую потребность — от создания просто скрипта, отсылающего несколько заданных пакетов в сеть, до написания собственного снифера.

Практика. Продвинутый уровень


Малварь на просвет

Используем Python для динамического анализа вредоносного кода

Многие вредоносные программы сопротивляются отладке: они отслеживают и блокируют запуск популярных утилит для мониторинга файловой системы, процессов и изменений в реестре Windows. Чтобы обхитрить такую малварь, мы напишем на Python собственный инструмент для исследования образцов вредоносных программ.


Шаг за шагом

Автоматизируем многоходовые атаки в Burp Suite


Это не перебор!

Пишем утилиту для взлома Wi-Fi на Python

Бывает, что возникает необходимость подключиться к Wi-Fi, не зная пароль, — скажем, когда ты сидишь в кафе и стесняешься спросить его или, например, когда тебя наняли, чтобы провести пентест сети организации. Технология WPS уже давно помогает хакерам и в том и в другом. В этой статье мы посмотрим, как самостоятельно реализовать атаку, основанную на слабостях алгоритмов генерации WPS PIN.


Python для микроконтроллеров

Учимся программировать одноплатные компьютеры на языке высокого уровня

Шутники говорят, что после трудового дня за компьютером типичный программист едет домой, садится за ПК и таким образом отдыхает. А ведь истина на самом деле куда ужаснее этой шутки: многие из нас, приходя с работы, посвящают оставшееся до сна время. программированию микроконтроллеров. :) Обывателям не понять, но Arduino, Teensy или ESP — действительно очень неплохое хобби. Их единственный недостаток — необходимость программировать на достаточно низком уровне, если не на Assembler, то на Arduino C или Lua. Но теперь в списке ЯП для микроконтроллеров появился Python. Точнее, MicroPython. В этой статье я постараюсь максимально продемонстрировать его возможности.


Python’ом по брутфорсу

Перекрываем кислород взломщикам с помощью ручного метода исследования

Большинство пользователей до сих пор ставят себе на аккаунты простые пароли — комбинации даты рождения, имени любимого футболиста, клички питомца, не подозревая, что вся эта информация находится в открытом доступе. Используя ее, брутфорсер может значительно облегчить себе задачу угона аккаунтов. Чтобы этому противодействовать, вводят антибрутфорс (АБФ). Как работает АБФ, как вычислить взломщика-брутфорсера, кластеризовать его вредоносные запросы и пресечь их расскажем в этой статье. Использовать будем Python.

Интересное о Python


Переходим на Python 3

Как попрощаться с Python 2.7 и кодить дальше

В этом году анонсирован последний выпуск Python 2.7, после чего Python Software Foundation перестанет поддерживать ветку 2.7. Множество популярных библиотек и фреймворков тоже прекращают официальную поддержку Python 2, а целый ряд дистрибутивов Linux уже не включают его в набор пакетов по умолчанию.


Python по всем правилам

Делаем свою структуру данных совместимой с фичами Python


Async/await

Асинхронные возможности в Python 3+

16 марта 2014 года произошло событие, которое привело к довольно бодрым холиварам, — вышел Python 3.4, а вместе с ним и своя внутренняя реализация event loop’а, которую окрестили asyncio. Идея была такая: чтобы не зависеть от внешних реализаций отлова неблокирующих событий на сокетах, надо встроить ее в сам язык! Давай посмотрим, что в итоге получилось.


Профилировщики для Python

Измеряем скорость выполнения наших приложений


Разборки в террариуме

Изучаем виды интерпретаторов Python

Сам по себе Python, несомненно, является языком программирования. Но многие ошибочно считают, что Python — это всегда та самая штука, которая идет в комплекте с большинством *nix-систем и запускается, если набрать python в консоли. А как же оно на самом деле?

Сегодня я начну повествование создания парсера электронной почты. Атаки по электронной почте являются важнейшим компонентом социальной инженерии.

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

email-scraper.py

beautifulsoup

str

user_url

Если у Вас не установлены некоторые библиотеки, из начала кода, то рекомендую Вам их установить. Они будут подчеркнуты красной или желтой чертой (в зависимости от редактора кода).

scrapped_urls

Для каждого шаблона электронного ящика, который нам удастся найти, мы собираемся сохранить его, а затем распечатать. В конце выполнения нашей программы, мы также хотим создать еще одно множество, которое будем равно e-mail-ам:

emails = set()

try: while len(urls):

count = 0, count += 1

Если достигается число счета, равное 100, тогда выходим из цикла. Это просто означает, что мы говорим программе, очистить только первые 100 url-адресов:

if count == 100 break

url = urls.popleft()

scrapped_urls.add(url)

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

Итак, начинаем с простых проектов: ты научишься собирать информацию о системе, напишешь своего бота для Telegram (или, как вариант, одного из пяти, описанных в другой статье), простейший вирус и обратный шелл.

Первые шаги в Python


Python с нуля, урок 1

Учимся кодить без скучных книжек

Чтобы ломать, много ума не надо: можно качнуть Kali Linux, юзать готовые программки, копипастить код с форумов и вслепую качать скрипты с GitHub. Но потолок хакера, пока он не научится писать и понимать код, будет низким. В этой статье я попытаюсь в доступной форме научить тебя основам. Начинаем с абсолютного нуля!


Python с нуля, урок 2

Учимся работать со строками, файлами и интернетом


Python с нуля, урок 3

Работаем с ОС, изучаем регулярные выражения и функции


Пять простых примеров

Примеры, которые сподвигнут тебя изучить Python

Python за последнее десятилетие набрал огромную популярность и не сдает своих позиций — его применение и для обучения программированию, и для разработки приложений только растет. Не каждый язык может похвастаться популярностью в таких разных отраслях, как веб-разработка, DevOps, научные вычисления и машинное обучение.

Практика. Легкий уровень


Разведка змеем

Собираем информацию о системе с помощью Python

Если ты часто имеешь дело с разными компьютерами, тебе, конечно, нужен простой в использовании и быстрый инструмент для сбора информации о системе. Сегодня мы покажем, как сделать такую программу, отсылающую собранные данные в Telegram, а еще попрактикуемся в программировании на Python.


Телеграфирует робот

Пишем бота для Telegram на Python


Питоном по телеграму!

Пишем пять простых Telegram-ботов на Python


Ядовитый питон

Пишем на Python простейшую малварь: локер, шифровальщик и вирус

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


Reverse shell на Python

Осваиваем навыки работы с сетью на Python на примере обратного шелла

Практика. Средний уровень


Идеальная форма

Обрабатываем сложные формы на Python с помощью WTForms

Обработка HTML-форм в веб-приложениях — несложная задача. Проблемы начинаются, когда форма разрастается: нужно следить за полями, их ID, атрибутами name, корректно маппить атрибуты на бэкенде при генерации и процессинге данных. Разработка превращается в постоянную рутину. Однако есть способы сделать работу с формами удобной.


Крадущийся питон

Создаем простейший троян на Python

В этой статье я расскажу, как написать на Python простейший троян с удаленным доступом, а для большей скрытности мы встроим его в игру. Даже если ты не знаешь Python, ты сможешь лучше понять, как устроены такие вредоносы, и поупражняться в программировании.


Тотальная проверка

Используем API VirusTotal в своих проектах


Используем нейросеть, чтобы следить за людьми и разгадывать капчу

You only look once, или YOLO, — эффективный алгоритм, который позволяет выделять объекты на изображении. В этой статье мы используем его, чтобы написать на Python программу для определения числа людей в помещении, а по дороге опробуем его в разгадывании капчи.


Ищем эксплоиты

Сканим уязвимые серверы и автоматизируем пентест с помощью Python

Проект Vulners за пару лет превратился из агрегатора данных о багах в довольно популярный инструмент пентестера. Это уже полноценный тулкит для поиска эксплоитов, API для Python, плагины для Burp Suite и Chrome, серверный агент. Vulners удобно встраивается в сценарии атак, на нем пишут сканеры уязвимостей. В этой статье мы посмотрим, что может предложить Vulners, а также научимся использовать всю мощь его Python API в повседневных задачах.


Scapy для начинающих

Укрощаем строптивого змея

Достаточно долгое время написание инструментов для пентеста компьютерных сетей считалось занятием очень непростым. Но все изменилось с появлением библиотеки Scapy для языка Python. С помощью этой связки можно удовлетворить любую потребность — от создания просто скрипта, отсылающего несколько заданных пакетов в сеть, до написания собственного снифера.

Практика. Продвинутый уровень


Малварь на просвет

Используем Python для динамического анализа вредоносного кода

Многие вредоносные программы сопротивляются отладке: они отслеживают и блокируют запуск популярных утилит для мониторинга файловой системы, процессов и изменений в реестре Windows. Чтобы обхитрить такую малварь, мы напишем на Python собственный инструмент для исследования образцов вредоносных программ.


Шаг за шагом

Автоматизируем многоходовые атаки в Burp Suite


Это не перебор!

Пишем утилиту для взлома Wi-Fi на Python

Бывает, что возникает необходимость подключиться к Wi-Fi, не зная пароль, — скажем, когда ты сидишь в кафе и стесняешься спросить его или, например, когда тебя наняли, чтобы провести пентест сети организации. Технология WPS уже давно помогает хакерам и в том и в другом. В этой статье мы посмотрим, как самостоятельно реализовать атаку, основанную на слабостях алгоритмов генерации WPS PIN.


Python для микроконтроллеров

Учимся программировать одноплатные компьютеры на языке высокого уровня

Шутники говорят, что после трудового дня за компьютером типичный программист едет домой, садится за ПК и таким образом отдыхает. А ведь истина на самом деле куда ужаснее этой шутки: многие из нас, приходя с работы, посвящают оставшееся до сна время. программированию микроконтроллеров. :) Обывателям не понять, но Arduino, Teensy или ESP — действительно очень неплохое хобби. Их единственный недостаток — необходимость программировать на достаточно низком уровне, если не на Assembler, то на Arduino C или Lua. Но теперь в списке ЯП для микроконтроллеров появился Python. Точнее, MicroPython. В этой статье я постараюсь максимально продемонстрировать его возможности.


Python’ом по брутфорсу

Перекрываем кислород взломщикам с помощью ручного метода исследования

Большинство пользователей до сих пор ставят себе на аккаунты простые пароли — комбинации даты рождения, имени любимого футболиста, клички питомца, не подозревая, что вся эта информация находится в открытом доступе. Используя ее, брутфорсер может значительно облегчить себе задачу угона аккаунтов. Чтобы этому противодействовать, вводят антибрутфорс (АБФ). Как работает АБФ, как вычислить взломщика-брутфорсера, кластеризовать его вредоносные запросы и пресечь их расскажем в этой статье. Использовать будем Python.

Интересное о Python


Переходим на Python 3

Как попрощаться с Python 2.7 и кодить дальше

В этом году анонсирован последний выпуск Python 2.7, после чего Python Software Foundation перестанет поддерживать ветку 2.7. Множество популярных библиотек и фреймворков тоже прекращают официальную поддержку Python 2, а целый ряд дистрибутивов Linux уже не включают его в набор пакетов по умолчанию.


Python по всем правилам

Делаем свою структуру данных совместимой с фичами Python


Async/await

Асинхронные возможности в Python 3+

16 марта 2014 года произошло событие, которое привело к довольно бодрым холиварам, — вышел Python 3.4, а вместе с ним и своя внутренняя реализация event loop’а, которую окрестили asyncio. Идея была такая: чтобы не зависеть от внешних реализаций отлова неблокирующих событий на сокетах, надо встроить ее в сам язык! Давай посмотрим, что в итоге получилось.


Профилировщики для Python

Измеряем скорость выполнения наших приложений


Разборки в террариуме

Изучаем виды интерпретаторов Python

Сам по себе Python, несомненно, является языком программирования. Но многие ошибочно считают, что Python — это всегда та самая штука, которая идет в комплекте с большинством *nix-систем и запускается, если набрать python в консоли. А как же оно на самом деле?

Читайте также: