Хаки Мистера Робота: создаём выключатель «Смертника» на Python

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои поклонники «Мистера Робота»!
Как вы знаете, «Мистер Робот» — мой любимый сериал благодаря реалистичному изображению хакерских атак. Почти все взломы в сериале настоящие, хотя временные рамки могут быть сжаты (настоящие взломы — это не видео в TikTok).
Deadman.webp

В первом сезоне «девушку» Эллиота, Шейлу, похищает и держит в заложниках психопатка и наркоторговка Вера. Вера арестована и находится в тюрьме в ожидании суда. Вера настаивает, чтобы Эллиот вызволил его из тюрьмы с помощью хитроумного хака за 24 часа! Подробнее о тюремном хаке смотрите в моём обучающем видео здесь и видео Дэвида Бомбала на YouTube здесь .

Эллиот идёт в тюрьму, чтобы навестить Веру и объяснить, как сложно вызволить его из тюрьмы за 24 часа. Вера настаивает. Эллиот объясняет, что у него есть все улики с мобильного телефона брата Веры (он взломал его по локальной сети в своей квартире, вероятно, воспользовавшись уязвимостью к конвульсиям), чтобы навсегда изолировать Веру и брата. Когда Вера угрожает ему, он объясняет, что если с ним что-то случится, сработает аварийный выключатель, который передаст все улики правоохранительным органам, тем самым гарантируя его безопасность.
«Переключатель смерти» — не новая концепция. Он имеет долгую и богатую историю во множестве своих физических форм. «Переключатель смерти» — это просто предохранительный механизм, который срабатывает при ОТСУТСТВИИ действий пользователя. Это означает, что если владелец или держатель переключателя мёртв или иным образом недееспособен, запускается действие. Они давно используются в индустриальном обществе для остановки машин, если оператор «мёртв», например, в локомотивах, аттракционах и системах дозаправки самолётов, среди множества применений. Он также использовался для сохранения жизни оператора. Представьте себе человека в поясе смертника. Они часто держат в руках переключатель смерти, который активирует взрывное устройство в случае их гибели. Вы, вероятно, видели это во многих телешоу и фильмах.
Эллиот использует эту стратегию, чтобы спасти свою жизнь от убийц Веры, но здесь он создаёт цифровой переключатель мертвеца. Если он мёртв, программа активируется и уведомляет правоохранительные органы со всеми цифровыми уликами против Веры и его брата.
Давайте посмотрим, сможем ли мы создать подобную цифровую кнопку мертвеца на Python — любимом языке кибербезопасности и искусственного интеллекта.

Шаг № 1: Начало работы

«Контактный датчик» — это защитный механизм, который активирует действие, если пользователь не выполняет периодическую задачу (например, не нажимает клавишу или не отправляет сигнал) в течение определённого времени. В нашем скрипте мы будем ждать нажатия клавиши ENTER. Если пользователь не нажимает клавишу ENTER в течение определённого времени, мы считаем его мёртвым и выполняем действие, в данном случае — отправляем SMS-сообщение.
Для разработки нашего переключателя мертвеца нам понадобится:
  1. код или функция для отправки сообщения, когда пользователь мертв
  2. какой-то код или функция для отслеживания времени и определения исчерпанного времени
  3. основная функция, которая принимает пользовательский ввод по желаемому тайм-ауту и определяет, когда это время истекло, а затем запускает функцию действия
Начнем с импорта необходимых модулей:

импорт потоков

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

запросы на импорт

Модуль запросов в Python — это простая и мощная библиотека для выполнения HTTP-запросов. Он позволяет вашей программе взаимодействовать с веб-сайтами или API через Интернет.
import-requests-python.webp

Шаг № 2: Создайте функцию с именем «действие» для отправки SMS-сообщения, если пользователь мертв.

Теперь, когда у нас есть все необходимые модули, давайте создадим функцию с именем action . В этой функции мы будем использовать команду requests.post для отправки SMS-сообщения через textbelt.com (мы уже использовали этот сервис для отправки поддельного SMS-сообщения здесь ). Эта функция выполняется, если действие, указывающее на жизнь (нажатие клавиши ENTER), не будет выполнено в течение указанного пользователем времени в основной функции ниже. Таким образом, для упрощения, пользователь задаёт промежуток времени, и если в течение этого времени не происходит никаких действий, срабатывает переключатель.
Здесь мы используем модуль запросов для создания полезной нагрузки, которая будет отправлена на URL-адрес https://textbelt.com/text.
textbelt-1024x119.webp

def action():

# Создать полезную нагрузку для отправки поставщику SMS

payload = { 'phone': 'xxxxxxxxxxx', # введите номер телефона получателя смс

«сообщение»: «Привет, OTW. Я умер. Извините, в этом деле вы сами по себе. Отправьте улики против Веры в полицию».

# введите сообщение, которое вы хотите получить, когда вас не будет

'key': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # введите здесь ключ API textbelt

}

ответ = запросы.post('https://textbelt.com/text', данные=полезная нагрузка)

печать(ответ.json())

Deadman-triggered.webp

Шаг 3: Дождитесь ввода

В этой функции, которую мы назвали wait_for_inpu t, мы используем модуль потоковой передачи для создания таймера.
Wait-for-Input.webp

def wait_for_input(тайм-аут):
“””
Ожидает ввода данных пользователем в течение определенного времени.
Возвращает True, если входные данные получены, False, если истекло время ожидания.
“””
таймер = threading.Timer(timeout, deadman_action)
таймер.старт()
пытаться:
input(f"Нажмите Enter в течение {timeout} секунд, чтобы сбросить переключатель мертвеца: ")
таймер.отмена()
вернуть True
кроме Исключение:
таймер.отмена()
вернуть Ложь

Шаг 4: Создайте основную функцию

Здесь мы создаём нашу основную функцию. В этой функции мы запрашиваем у пользователя количество секунд ожидания и преобразуем его в целое число, затем выводим время ожидания, которое пользователь видит, и ещё один оператор печати, просто сообщающий пользователю, что переключатель активирован и для его сохранения необходимо нажать Enter.
Create-Main-Function.webp

def main():
timeout = int(input(“Введите длительность тайм-аута в секундах: “)) # секунд
print(«Переключатель мертвеца активирован. Регулярно нажимайте Enter, чтобы он оставался активным.»)
пока True:
если нет, wait_for_input(timeout):
break # Сработал переключатель Deadman, выйдите из цикла или выполните другое действие

Шаг № 5

В этом разделе мы используем соглашение Python, которое гарантирует, что некоторый код запускается только при непосредственном запуске файла, а не при его импорте как модуля в другой скрипт.
Как вы уже знаете;
  • name — это специальная встроенная переменная в Python.
  • При прямом запуске файла name == «__main__» имеет значение True.
  • При импорте файла имя задается равным имени модуля, а не «__main__».
if-name-is-main-python.webp

Теперь нам нужно только предоставить себе разрешения на выполнение;
Кали > sudo chmod 755 Deadmans_script.py
Теперь, если головорезы Веры убьют Эллиота, сработает кнопка мертвеца, и правоохранительные органы получат уведомление со всеми доказательствами на телефоне брата Веры!

Как это работает

  • Программа ждет, пока пользователь нажмет Enter в течение отведенного времени.
  • Если пользователь вовремя нажимает Enter, таймер отменяется, и цикл продолжается.
  • Если пользователь не нажмет Enter до истечения времени таймера, будет вызвана функция action().
  • Вы можете настроить action() для выполнения любой важной задачи (например, отправка электронной почты, оповещение, завершение работы, шифрование файлов и т. д.).

Краткое содержание

«Мистер Робот» — увлекательное телешоу, демонстрирующее множество реалистичных хаков, которые мы все используем, но в сжатые сроки. В этом уроке мы показали, как использовать любимый язык программирования хакеров — Python — для создания «переключателя смерти», который сработает только в том случае, если пользователь не выполнит требуемое действие в отведённое время.
 
Назад
Сверху Снизу