Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
detux — Кроссплатформенная Linux-песочница | Kitploit
Инструменты/GitHubGitHub/detuxsandbox/detux
Динамический анализ (песочница)Сетевая криминалистикаФорензикаАнализ вредоносных программ
GitHubdetuxsandbox/detux

detux

Кроссплатформенная Linux-песочница

Репозиторий
2665968 лет назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Detux: Мультиплатформенная песочница для Linux

Введение:

Detux — это песочница, разработанная для анализа сетевого трафика вредоносных программ Linux и сбора индикаторов компрометации (IOC). Для эмуляции Linux (Debian) под различные архитектуры ЦП используется гипервизор QEMU.

В настоящее время поддерживаются следующие ЦП:

  • x86
  • x86-64
  • ARM
  • MIPS
  • MIPSEL

Используйте живую версию сейчас: http://detux.org

Что в этом релизе?

Этот релиз Detux содержит скрипт для выполнения бинарного файла/скрипта Linux в указанной архитектуре ЦП. Не волнуйтесь, если вы не знаете платформу — в скрипте есть модуль Magic, который автоматически определяет архитектуру ЦП. x86 — версия ЦП по умолчанию; её можно изменить в конфигурационном файле.

Этот релиз предоставляет отчёт об анализе в формате DICT, который легко адаптировать для вставки в базы данных NoSQL.

Приведён пример скрипта, демонстрирующего использование библиотеки песочницы.

Что в отчёте?

root@kitploit:~
- Статический анализ
    -- Основные строки, извлечённые из бинарного файла
    -- Информация об ELF, полученная командами readelf
    -- Файл report.py можно изменить, добавив сторонние команды для анализа бинарного файла и включения результатов в DICT.

- Динамический анализ
    -- Захваченные pcap-файлы обрабатываются с помощью DPKT для извлечения IOC и читаемой информации из пакетов.

Требования

  • Системные пакеты

    • python 2.7
    • qemu
    • pcaputils
    • sudo
    • libcap2-bin
    • bridge-utils
  • Библиотеки Python (желательно использовать виртуальное окружение)

    • pexpect
    • paramiko
    • python-magic

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

Архитектура

  • Хост (сам хост может быть виртуальной машиной или физической машиной)
    • QEMU
    • dumpcap
    • Скрипты DETUX

Сетевая архитектура

root@kitploit:~
- NIC1 : Этот интерфейс предназначен для доступа к хосту
- NIC2 : Интерфейс, объединённый мостом с виртуальными машинами песочницы QEMU. Можно перенаправлять трафик с этого интерфейса на WHONIX, REMNUX или специальный шлюз для фильтрации/разрешения доступа в интернет для виртуальных машин песочницы.

Настройка ВМ:

Загрузка образов ВМ Linux

Особая благодарность Aurel, который загрузил предварительно собранные образы QEMU Debian VM для всех возможных архитектур ЦП. Образы ВМ находятся по адресу: https://people.debian.org/~aurel32/qemu/; по той же ссылке приведены примеры команд для запуска образов ВМ.

Вы можете использовать следующий скрипт для автоматической загрузки образов ВМ в папку "qemu" Detux.

root@kitploit:~
#x86
wget https://people.debian.org/~aurel32/qemu/i386/debian_wheezy_i386_standard.qcow2 -P qemu/x86/1/


#x86-64
wget https://people.debian.org/~aurel32/qemu/amd64/debian_wheezy_amd64_standard.qcow2 -P qemu/x86-64/1/

#arm
wget https://people.debian.org/~aurel32/qemu/armel/debian_wheezy_armel_standard.qcow2 -P qemu/arm/1/
wget https://people.debian.org/~aurel32/qemu/armel/initrd.img-3.2.0-4-versatile -P qemu/arm/1/
wget https://people.debian.org/~aurel32/qemu/armel/vmlinuz-3.2.0-4-versatile -P qemu/arm/1/

#mips
wget https://people.debian.org/~aurel32/qemu/mips/vmlinux-3.2.0-4-4kc-malta -P qemu/mips/1/
wget https://people.debian.org/~aurel32/qemu/mips/debian_wheezy_mips_standard.qcow2 -P qemu/mips/1/

#mipsel
wget https://people.debian.org/~aurel32/qemu/mipsel/vmlinux-3.2.0-4-4kc-malta -P qemu/mipsel/1/
wget https://people.debian.org/~aurel32/qemu/mipsel/debian_wheezy_mipsel_standard.qcow2 -P qemu/mipsel/1/
Настройка sudoers для выполнения qemu

Detux использует SSH для связи с ВМ, поэтому для работы сети на ВМ требуется следующая настройка. Если перечисленные бинарные файлы находятся в тех же путях, вы можете добавить следующие строки в /etc/sudoers (только если вы не root):

root@kitploit:~
Cmnd_Alias  QEMU_CMD    =   /usr/bin/qemu-*, /sbin/ip, /sbin/ifconfig, /sbin/brctl
<ваше имя пользователя Detux> ALL = (ALL) NOPASSWD: QEMU_CMD

Измените пути к бинарным файлам, если они отличаются.

Настройка сети

Добавьте следующую конфигурацию в /etc/qemu-ifup (предварительно сделайте резервную копию, если уже есть):

root@kitploit:~
#! /bin/sh
# Script to bring a network (tap) device for qemu up.
# The idea is to add the tap device to the same bridge
# as we have default routing to.

# in order to be able to find brctl
PATH=$PATH:/sbin:/usr/sbin
ip=$(which ip)
ifconfig=$(which ifconfig)

echo "Starting"  $1
if [ -n "$ip" ]; then
   ip link set "$1" up
else
   brctl=$(which brctl)
   if [ ! "$ip" -o ! "$brctl" ]; then
     echo "W: $0: not doing any bridge processing: neither ip nor brctl utility not found" >&2
     exit 0
   fi
   ifconfig "$1" 0.0.0.0 up
fi

switch=$(ip route ls | \
    awk '/^default / {
          for(i=0;i<NF;i++) { if ($i == "dev") { print $(i+1); next; } }
         }'
        )
    if [ -d /sys/class/net/br0/bridge/. ]; then
        if [ -n "$ip" ]; then
          ip link set "$1" master br0
        else
          brctl addif br0 "$1"
        fi
        exit    # exit with status of the previous command
    fi

echo "W: $0: no bridge for guest interface found" >&2

Если eth0 — интерфейс, с которым вы хотите объединить мостом ваши ВМ, вы можете удалить конфигурации для eth0 и использовать следующие настройки в /etc/network/interfaces:

root@kitploit:~
auto br0
iface br0 inet dhcp
  bridge_ports eth0
  bridge_maxwait 0

Вы также можете указать статический адрес, который использовался для eth0.

Настройка ваших ВМ

Перейдите в папку, в которой находятся образы ВМ для каждого образа QEMU, например для ARM:

root@kitploit:~
<ваша папка detux>/qemu/arm/1/

Для каждого образа следуйте инструкциям по загрузке ВМ, приведённым на "https://people.debian.org/~aurel32/", чтобы запустить ВМ. Однако, если вы не root, вам придётся использовать sudo.

Команды для загрузки ВМ (замените на желаемый MAC):

root@kitploit:~
#x86
sudo qemu-system-i386 -hda qemu/x86/1/debian_wheezy_i386_standard.qcow2 -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio


#x86-64
sudo qemu-system-x86_64 -hda qemu/x86-64/1/debian_wheezy_amd64_standard.qcow2 -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#arm
sudo qemu-system-arm -M versatilepb -kernel qemu/arm/1/vmlinuz-3.2.0-4-versatile -initrd qemu/arm/1/initrd.img-3.2.0-4-versatile -hda qemu/arm/1/debian_wheezy_armel_standard.qcow2 -append "root=/dev/sda1" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#mips
sudo qemu-system-mips -M malta -kernel qemu/mips/1/vmlinux-3.2.0-4-4kc-malta -hda qemu/mips/1/debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

#mipsel
sudo qemu-system-mipsel -M malta -kernel qemu/mipsel/1/vmlinux-3.2.0-4-4kc-malta -hda qemu/mipsel/1/debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -vnc 127.0.0.1:5901 -net nic,macaddr=<MACADDR> -net tap -monitor stdio

Detux требует предварительно настроенный снимок ВМ с IP-адресами и настроенным SSH.

Шаги для настройки снимка:
  • Выберите ненастроенный образ ВМ и запустите его с помощью указанной выше команды в терминале.
  • Подключитесь к монитору ВМ. Подключитесь к VNC-клиенту по адресу 127.0.0.1:5901 и дождитесь полной загрузки ВМ.
  • Войдите с учётными данными root по умолчанию (root/root).
  • Настройте сетевой интерфейс ВМ так, чтобы он был доступен хосту.
  • Установите SSH-сервер на ВМ и любые другие необходимые настройки.
  • После настройки загрузите ВМ в рабочее состояние, принимающее сетевые подключения.
  • Переключитесь обратно в терминал с включённой консолью qemu, которая должна выглядеть так:
root@kitploit:~
(qemu)
  • Сохраните состояние ВМ, введя следующие команды qemu в консоли qemu:
root@kitploit:~
(qemu) savevm init
  • Выйдите из консоли QEMU:
root@kitploit:~
(qemu) q

-- Повторите шаги 1 для всех ВМ.

Настройка прав захвата

Чтобы непривилегированный пользователь мог захватывать пакеты, Dumpcap нужны права захвата (https://wiki.wireshark.org/CaptureSetup/CapturePrivileges).

Следующая команда может это обеспечить:

root@kitploit:~
sudo groupadd -g wireshark
sudo usermod -a -G wireshark <ваше имя пользователя>
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

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

Конфигурация Detux

Файл detux.cfg в главной директории необходимо настроить. Каждый раздел ВМ должен быть настроен с правильными сетевыми параметрами и учётными данными SSH. Вы можете выбрать root-пользователя или обычного пользователя в зависимости от потребности.

Запуск Detux

Библиотека Detux, расположенная в каталоге "core", может использоваться для ваших нужд анализа. Репозиторий содержит файл "detux.py", который анализирует заданный бинарный файл, сохраняет pcap в папку pcap и записывает вывод JSON в указанный путь.

Использование

root@kitploit:~
usage: detux.py [-h] --sample SAMPLE [--cpu {x86,x86-64,arm,mips,mipsel}]
                [--int {python,perl,sh,bash}] --report REPORT

optional arguments:
  -h, --help            show this help message and exit
  --sample SAMPLE       Sample path (default: None)
  --cpu {x86,x86-64,arm,mips,mipsel}
                        CPU type (default: auto)
  --int {python,perl,sh,bash}
                        Architecture type (default: None)
  --report REPORT       JSON report output path (default: None)

Пример:

root@kitploit:~
python detux.py --sample test_script/example_binary1 --report reports/example_report1.json

Участники:

  • Vikas Iyengar — мозг ( dudeintheshell , email: [email protected] )
  • Muslim Koser — техническая мысль ([email protected])
  • Rahul Binjve — помощь в разборе pcap (@c0dist, twitter)
  • Amey Gat — помощь в разборе pcap (ameygat, [email protected] )

Благодарности

Спасибо Aurélien Jarno (@aurel32) (https://www.aurel32.net/) за предварительно собранные образы ВМ.

Скачать инструмент