• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Программирование для ИБ

Статья Кейлоггер-лайт или записываем нажатия клавиш в текстовый файл на Python

  • 748
  • 8
Данная заметка не претендует на оригинальность, потому как описываемый в ней кейлоггер не является чем-то уникальным. Я нахожусь в процессе обучения. И наверное, все или большее количество тех, кто так или иначе учиться программировать проходит через эти стадии. Но, я решил поделиться скажем так, своим видением данного кода.

keylogger_logo.png

Дисклеймер: статья написана в целях ознакомления и не призывает к действию!
На самом деле, специально я данную тему не искал. Кейлоггеры уже почти вышли из «моды». Да и не требуется мне такой функционал. Но, раз наткнулся, решил, что будет полезно изучить данный вопрос. Так был написан код, который располагается ниже. Для начала поделюсь тем, что такие кейлоггеры вычисляются антивирусами на раз-два. Правда на разных этапах по разному. Вот к примеру результат проверки кода на VirusTotal.

[SPOILER="Результат проверки кода на...

Сканирование портов с помощью Scapy. Трехстороннее рукопожатие в Python

  • 5 501
  • 5
Сканирование сети, это всегда полезная и нужная задача, которую нужно выполнить в первую очередь на любой тестируемой системе. Делать это можно по-разному. Иногда достаточно вывода команды «arp –n» и соответственно просмотра ip и mac адресов, но желательно получить как можно больше информации об открытых портах на удаленном компьютере. Также хотелось бы знать, какие службы могут быть запущены на этих портах без помощи заглядывания в справочники, пусть и в интернете. Это может упростить понимание того, какая операционная система используется. Хотя и не в полной мере, тем не менее, общую картину сети это даст. И тут уже нужно использовать специализированые инструменты. А что, если эти инструменты мы создадим сами, используя Python? Ну, или хотя бы, попытаемся.

000.jpg

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

Обнаружение атаки ARP-spoofing с помощью Scapy в Python

  • 3 891
  • 0
Как можно защититься от атаки MITM ARP-spoofing? С одной стороны, если ваши маршрутизаторы не имеют защиты от данного вида атак, то практически никак. Потому, что даже обнаружение данного вида атаки довольно сложно с той точки зрения, что атакованная машина, а равно как и ее пользователь не будут даже подозревать о том, что что-то происходит. Но, обнаружить данную атаку вполне возможно. И в этом нам снова поможет Python и библиотека scapy.

0102.jpg

Что понадобится?

Данный скрипт должен работать как в Windows, так и в Linux. Для установки необходимых библиотек для Linux, а в данном случае нужна библиотека scapy, воспользуемся командой:

pip install --pre scapy[basic]

Для Windows понадобиться выполнить немного больше установок. Для начала установим scapy, точно такой же командой как и в Linux. Затем, для отображения всплывающего уведомления нужно будет установить библиотеку...

Создание и чтение QR-кода с Python

  • 5 293
  • 1
Еще недавно QR-коды были актуальны как никогда. Но, тьфу-тьфу, надеюсь, что все осталось позади. Тем не менее, эти коды быстрого доступа довольно удобны и используются повсеместно. Поэтому нелишним будет создать приложение, которое их создает. Ну и добавить туда чуть-чуть функционала. Никакого открытия Америки, все довольно просто и банально.

000.jpg

Что понадобиться?

Понадобиться, несмотря на простоту кода довольно много библиотек. Библиотека qrcode, для создания кода, библиотека path для работы с путями. opencv-python для распознавания картинки с кодом. pyzbar для считывания кодов. И еще нужен будет небольшой модуль, который я нашел и который делает создание кода довольно забавным делом. Об этом будет подробнее ниже. А сейчас, устанавливаем библиотеки:

pip install opencv-python qrcode[pil] pyzbar path

После чего импортируем в модуль:

Python:
import...

Шифрование файлов директории с помощью гибридного алгоритма в Python

  • 6 630
  • 4
Когда нужно скрыть приватные данные от чужих глаз мы, чаще всего, вспоминаем о шифровании. Ведь даже если зашифрованный файл попадет в руки человека, для которого он не предназначен, тот не сможет прочесть или увидеть его содержимое без расшифровки. А пароль или ключ для расшифровки есть только у того, кто его зашифровал, либо у того, кому и предназначался зашифрованный файл. Шифрование осуществляется с помощью специальных алгоритмов, которые основаны на различных технологиях, но делают одно общее дело – а именно скрывают данные от чужих глаз. Давайте разберемся, какие есть алгоритмы и попытаемся реализовать шифрование данных на Python.

000.jpg

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

Симметричное и...

Сканер локальной сети для получения списка IP и MAC адресов на Python

  • 21 006
  • 53
На данный момент в различных операционных системах существует довольно много самых разнообразных сканеров сети, которые не только составят вам ее карту, но, также покажут, какие сетевые ресурсы доступны на каждой из найденных машин, их сетевые имена. Но, почему бы не сделать свой сканер на Python, который будет составлять карту сети, хоть и без сетевых ресурсов на данном этапе, но, тем не менее, работать он будет довольно быстро и в качестве практики очень даже полезно.

000.jpg

Что понадобится?

Для того, чтобы создать быстрый сканер сети, с возможностью его дальнейшего расширения, нам понадобиться установить scapy. Это многофункциональная библиотека, которая позволяет отправлять, анализировать и подделывать сетевые пакеты, а также сканировать или атаковать сети. Установка ее достаточно простая. Нужно написать в терминале команду:

pip install --pre scapy[basic]

Однако, это не...

Простой «шпионский» HTTP-сервер на Python

  • 5 243
  • 9
Создать свой собственный HTTP сервер на питоне достаточно просто. Буквально несколько строк кода. И это может быть как файловый сервер, так и сервер, который просто отдает нам странички по запросу. Возьмем для примера сервер, который устанавливается вместе с программой calibre. При должной настройке данный сервер можно использовать как полноценный сайт библиотеки. Но calibre тут только для примера. А суть вот в чем. Когда вы скачиваете себе какой-либо медиасервер и устанавливаете его себе в систему, есть ли у вас уверенность в том, что у данного сервера только лишь тот функционал, который описан в документации? Ведь на самом деле, здесь открывается довольно большое поле для творчества. И давайте посмотрим, какое именно.

000.jpg

- в конце статьи небольшое видео с демо работы

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

Шифрование-дешифровка документа PDF с помощью Python

  • 3 145
  • 0
Наверное многие сталкивались с паролями, которые устанавливаются на фалы PDF. Некоторые из файлов защищены таким образом от редактирования, а на некоторых пароль устанавливается на открытие. Конечно же, если вы используете специализированную программу для создания документов данного формата, то установка пароля там уже будет доступна. Но, бывают случаи, когда просто делаешь документ в Word или Libre Office, сохраняешь как PDF. В этом случае, вместо использования программ, можно установить пароль с помощью Python.

000.jpg

Что понадобиться?

Для работы с PDF понадобиться установка библиотеки PyPDF2. Для ее установки набираем в терминале команду:

pip install PyPDF2

Так же понадобиться библиотека os, а точнее ее модуль path, который в данном случае используется для проверки правильности ввода пути к файлу. После того, как библиотека установлена, импортируем из...

«Горшочек меда» для коллеги. Создаем «ловушку» на Python

  • 5 026
  • 15
Не знаю, как вы, но мне иногда на работе хотелось узнать, копается ли кто-нибудь в моем рабочем компьютере, когда меня нет на рабочем месте. И не там, где лежат общедоступные или рабочие файлы, а проверяет комп на наличие в нем личных фото или документов, которые не особо предназначены для чужих глаз.

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

000.jpg

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

Проверка никнейма на доступность для регистрации с помощью Python

  • 7 086
  • 4
В последнее время много сообщений о всяческих чекерах, сканерах и прочих программах, которые проверяют… ну, допустим доступность никнейма для регистрации на сервисе. Ведь если на сервисе никнейм не доступен, это значит, что нужно будет постараться и придумать другой. Я нашел три таких веб-сервиса, где можно в ручном режиме проверить доступность ника. Количество сервисов у них разное, сервисы опять же разные, а потому проверять лучше на всех трех.

000.jpg

Ну я и подумал, а почему бы мне не сделать скриптик, который сам бы запрашивал данные у сервисов и возвращал бы мне уже готовый результат. Чтобы не было необходимости открывать сервисы, ждать пока все прогрузиться. Автоматизировать данный процесс. То есть парсить сервисы, чтобы получить их данные парсинга сервисов. Такое вот масло масляное. )) В общем, подумал и начал посмотреть, как это можно сделать. Здесь у нас есть два путя, как в...