Флешка "Паническая кнопка" когда пришли маскишоу

Регистрация
10.06.21
Сообщения
2
Реакции
2
Баллы
1
Дисклеймер: Автор не несёт ответственности, за любые последствия наступившие после и/или вовремя прочтения статьи, благодаря этой статье. Автор нуб, ламер, краб они ничего не знает и все можно сделать гораздно лучше и вообще автор должен сдавать ЕГЭ, но почему-то сидит на форуме и страдает ерундой.

Задача:
Приветствую всех!
Иногда может так случиться, что к нам в гости заглянут очень вежливые люди с добрыми намерениями. Они будут в масках и костюмах с надписью ФСБ (или МВД, FBI и т.д выберите на своё усмотрение). Если они нанесли вам везит то поздравляю у них явно на вас что-то есть ну как минимум они знают, что вы занемаетесь чем-то незаконным. Чтобы "забить последний гвоздь в крышку вашего гроба" им нужно собрать доказательства с вашего ПК и тогда уже не отвертеться. Но разве мы этого хотим? Нет конечно! Думаю не стоит говорить, что для начала нужно полностью зашифровать диск с ОС, например программой veracrypt. Далее не плохо бы создать зашифрованный контейнер для хранения виртуальной машины. Таким образом мы устанавливаем ВМ прямо в зашифрованный контейнер, если он размонтирован то и доступа ко всем файлам виртуалки не будет даже при получении доступа к разблокированому экрану компьютера. Всю работу делать нужно с виртуалки, а на хосте (наша основная ОС) хранить только необходимый софт: VPN, программа виртуализации, veracrypt, eraser для безопасного удаления файлов (рекомендую все файлы удалять только им) и еще пару программ, которые должны быть устанавленны на хост по тем или иным причинам. Впрочем это и так всем давно известно. Но как быстро свернуть деятельность в случаи если в дверь ломятся неизвестные в масках? Не плохо бы написать скрипт, который делал бы это за нас. А еще не плохо бы, привязать его к флешки, пока она в USB порту ни чего не происхоит, как только флешку вытащили в ту же секунду выполняется скрипт с нужными нам действиями. Например:убиваются процессы виртуалки, размонтируются все контейнеры veracrypt, запускается нужный нам батник, выполняются заданные горячие клавиши, выполняется выключение ПК, а быть может даже и перезаписывается данные в начале криптоконтейнера veracrypt, чтобы уничтожить ключи шифрования и тогда даже если пароль известен контейнер никогда не расшифруют. Все это мы будем реализовывать на python под систему windows. Я знаю, что многие работают именно из под windows, поэтому не стоит писать, что это небезопасно и т.д можно более менее нормально настроить любую ОС. Язык python по идеи не предназначен для компиляции, однако мы все же это сделаем с помощью pyinstaller. А готовый exe файл поместим в папку startup, чтобы программа всегда грузилась при старте windows. Поехали!

ШАГ 1.
Скачиваем python с официального сайта: Download Python
Устанавливаем его как любую другую программу в windows единственное не забудьте в процессе установки нажать галочку: "add python to path"
Вот инстукция по установке с github на всякий случай: pettarin/python-on-windows

ШАГ 2.
В поиске windows найдите недавно установленную программу IDLE это текстовый редактор для написания кода на python
Далее нажмите, file -> New file. Копируем в появившееся окно редактора кода, наш код и настраеваем его под себя. Т.е прописываем нужные пути и т.д, сейчас расскажу как это сделать.
Python:
import os
import time
from pyautogui import hotkey

#  запускаем бесконечный цикл проверки существования файла
while True:
 
    time.sleep(1) #  скрипт проверяет файл каждую секунду
 
    #  прописывем путь до файла на вашей флешке
    check_file = os.path.exists('D:\check.txt')


    #  если файла не существует выполним нужный нам код, иначе ничего не произойдет
    if not check_file:
      
        #  блокируем экран, чтобы никто не увидел что происходит и не смог помешать работе скрипта
        os.system('Rundll32.exe user32.dll,LockWorkStation')

        #  посылаем сигнал выключить ПК через 5 секунд
        os.system('"shutdown /s /f /t 5"')

        #  завершаем нужные нам процессы
        os.system('"TASKKILL /F /IM vmware.exe"')
        os.system('"TASKKILL /F /IM vmware-unity-helper.exe"')
        os.system('"TASKKILL /F /IM vmware-tray.exe"')
      
        #  запустим нужный нам bat файл или любой другой
        os.system('C:/Users/user_name/Desktop/test.bat')

        #  сэмулируем нажатие любых горячих клавиш
        hotkey('ctrl', 'shift', 'z')

        #  все команды выполнены, теперь break выйдет с бесконечного цикла
        #  и программа завершит работу
        break


ШАГ 3.
Установка библиотеки PyAutoGUI, для эмулиции горячих клавиш. Если вы не будете эмулировать горячие клавиши, можно не устанавливать эту библиотеку, тогда из кода удалите строчку №3 и блок кода "# сэмулируем нажатие любых горячих клавиш".
Открываем cmd и пишем: pip install PyAutoGUI жмем enter, библиотека установится и теперь можно настроить скрипт.

ШАГ 4:
Настройка скрипта.
Screenshot
Блок 1:
time.sleep(1) в скобках указываем, каждые сколько секунд скрипт будет проверять существование файла на флэшке (рекомендую оставить как есть).
Блок 2:
check_file = os.path.exists('D:\check.txt') меняем путь на ваш (указываем путь до любого файла на вашей флешке, указываем в такм формате как в коде, со слэшем \).
Блок 3:
os.system('"shutdown /s /f /t 5"') сигнал выключить ПК через 5 секунд. Можно изменить цифру с 5 на другую например 10, в это время будут выполняться дальнейшие команды скрипта, а потом комп выключится по истечению указанных секунд. Можно переместить эту команду при желании в самый конец файла, перед инструкцией break, а в качестве секунд указать 0, тогда комп выключится мгновенно, сразу после выполнения всего скрипта.
Блок 4: указываем какие процессы мы хотим принудительно убить, можно добавлять любое количество процессов, в примере мы убиваем лишь 3 процесса нашей виртуалки. Узнать названия запущенных процессов можно командой tasklist в командной строке.
Блок 5:
Указываем пути до файлов, программ или скриптов, которые мы хотим запустить, это может быть любое количество, нужно лишь добавить по аналогии.
Блок 6:
Указываем любое количество комбинаций горячих клавиш. В примере выполнится лишь 1 комбинация: ctrl + shift + z. Делаем по аналогии как в примере.
Например в прогамме veracrypt вы можете настроить комбинацию горячих клавиш на очистку кэша + размонтирования контейнеров + выхода из программы и все это по нажатии горячих клавиш, остается только прописать эту комбинацию в наш скрипт.
После настройки скрипта сохраняем его в удобное место с любыи именем.

ШАГ 5.
Установка компилятора. Теперь нужно превратить скрипт в исполняемый файл, для этого установим pyinstaller.
В командной строке введем: pip install pyinstaller и enter.
Итак отлично! Теперь нужно скомпилировать.

ШАГ 6.
Компиляция.
Для удобства скрипт я назвал script.py вы должны поменять название скрипта во всех командах на ваше название, а все остальное неизменно.
1) Перейдем в папку где хранится наш скрипт:
cd путь_к_скрипту и enter. И так мы зашли через командную строку в папку где хранится скрипт.
2)
Выполним команду компиляции в один exe файл, программа будет работать без диалоговых окон, что удобно и беспалевно.
pyinstaller --onefile --noconsole script.py
Подождем не много и в папке скрипта, появится несколько файлов и папок. В папке dist будет файл script.exe (имя_вашего_скрипта.exe)

ШАГ 7.
Автозагрузка.
Очень удобно если наша "паническая кнопка" будет стартовать вместе с windows.
1) Жмем win + R
2) В появившеюся строку вводим: shell:startup
3) Теперь открылась папка автозагрузки, кидаем туда наш exe файл.


Итак, теперь у нас есть программа которая запускается вместе с windows и всегда наготове выполнить нужные нам действия, чтобы в случаи физического доступа к ПК никто не смог получить доступ к нашим данным, нужно лишь вытащить флешку при опасности. Друзья я постарался сильно не затягивать, если у кого-то возникнут вопросы я с удовольствием отвечу.
Если будет спрос, то я напишу функцию уничтожения криптоконтейнера раз и на всегда без возможности воссановления даже при знании правтльного пароля. А так же функию отправки сообщения в телеграм, другу что сработала тревожная кнопка.
[automerge]1624209266[/automerge]
Добавил в начало команду на блокировку экрана, чтобы скрипт мог спокойно и бепалева выполнятся и чтобы ему никто не помешал.
os.system('Rundll32.exe user32.dll,LockWorkStation')
В первом посте в коде так же внес правку
 
Последнее редактирование:
это было интересно
 
прочитал, теперь жду функцию удаления без возможности восстановления
 
Назад
Верх Низ