Commix

Описание Commix

Commix (это сокращение от [comm]and [i]njection e[x]ploiter) имеет простую среду и может использоваться веб-разработчиками, тестерами на проникновение и даже исследователями безопасности для тестирования веб-приложений в поисках багов, ошибок или уязвимостей, связанных с атаками инъекцией команд. С использованием этого инструмента очень легко находить и эксплуатировать уязвимости инъекции команд в конкретном уязвимом параметре или строке. Commix написан на языке программирования Python.

Домашняя страница: https://github.com/stasinopoulos/commix

Автор: Anastasios Stasinopoulos

Лицензия: GPLv3

Справка по Commix

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

python commix.py [опции]

Опции:

  -h, --help            Показать справку и выйти.

  Общие:
    Эти параметры являются общими при различном использовании.

    --verbose           Включить вербальный режим.
    --version           Показать номер версии и выйти.
    --output-dir=OUT..  Установить пользовательский путь директории вывода.
    -s SESSION_FILE     Загрузить сессию из сохранённого (.sqlite) файла.
    --flush-session     Очистить файлы сессии для текущей цели.
    --ignore-session    Игнорировать результаты, сохранённые в файле сессии.

  Цель:
    Эти опции участвуют в определении URL цели.

    -u URL, --url=URL   Целевой URL.
    --url-reload        Перезагрузить целевой URL после выполнения команды.
    -l LOGFILE          Парсить цель и данные из лог файла HTTP proxy.

  Запрос:
    Эти опции могут использовать для определения, как подключаться к целевому URL.

    --data=DATA         Строка данных для отправки через POST.
    --host=HOST         Заголовок HTTP Host.
    --referer=REFERER   Заголовок HTTP Referer.
    --user-agent=AGENT  Заголовок HTTP User-Agent.
    --random-agent      Использовать случайно выбранный заголовок HTTP User-Agent.
    --param-del=PDEL    Установить символ для разделения значений параметра.
    --cookie=COOKIE     Заголовок HTTP Cookie.
    --cookie-del=CDEL   Установить символ для разделения значений cookie.
    --headers=HEADERS   Дополнительные заголовки (к примеру, 'Header1:Value1\nHeader2:Value2').
    --proxy=PROXY       Использовать HTTP прокси (к примеру, '127.0.0.1:8080').
    --tor               Использовать сеть Tor.
    --tor-port=TOR_P..  Установить порт прокси Tor (по умолчанию: 8118).
    --auth-url=AUTH_..  URL панели входа.
    --auth-data=AUTH..  Параметры входа и данные.
    --auth-type=AUTH..  Тип HTTP аутентификации (к примеру, 'basic').
    --auth-cred=AUTH..  Учётные данные HTTP аутентификации (к примеру, 'admin:admin').
    --ignore-401        Игнорировать HTTP ошибку 401 (Unauthorized).
    --force-ssl         Принудительное использование SSL/HTTPS.

  Перечень:
    Эти опции могут использоваться для перечисления свойств целевого хоста.

    --all               Получить всё.
    --current-user      Получить текущее имя пользователя.
    --hostname          Получить текущее имя хоста.
    --is-root           Проверить, имеет ли текущий пользователь привилегии рута.
    --is-admin          Проверить, имеет ли текущий пользователь привилегии админа.
    --sys-info          Получить информацию о системе.
    --users             Получить системных пользователей.
    --passwords         Получить хеши паролей системных пользователей.
    --privileges        Получить системные пользовательские привилегии.
    --ps-version        Получить номер версии PowerShell.

  Доступ к файлам:
    Эти опции могут использоваться для доступа к файлам на целевом хосте.

    --file-read=FILE..  Прочитать файл с целевого хоста.
    --file-write=FIL..  Записать файл на целевой хост.
    --file-upload=FI..  Выгрузить файл на целевой хост.
    --file-dest=FILE..  Абсолютный путь на хосте для записи и/или выгрузки.

  Модули:
    Эти опции могут использоваться для увеличения возможностей
    выявления и/или инъекции.

    --icmp-exfil=IP_..  Техника инъекции 'icmp exfiltration'
                        (к примеру 'ip_src=192.168.178.1,ip_dst=192.168.178.3').
    --dns-server=DNS..  Модуль инъекции 'DNS exfiltration'.
                        (Доменное имя, используемое для атаки DNS exfiltration).
    --shellshock        Техника инъекции 'shellshock'.

  Инъекция:
    Эти опции могут использоваться для указания, какие параметры вставлять для
    инжекта и передачи пользовательских запросов инъекции.

    -p TEST_PARAMETER   Тестируемый параметр(ы).
    --suffix=SUFFIX     Суффиксная строка запроса для инъекции.
    --prefix=PREFIX     Префиксная строка запроса для инъекции.
    --technique=TECH    Указать технику(и) для инъекции.
    --maxlen=MAXLEN     Установить максимальную длину вывода для основанной
                        на времени технике инъекции (По умолчанию: 10000 символов).
    --delay=DELAY       Установить время задержки для основанных на времени
                        техник инъекции (По умолчанию: 1 секунда).
    --tmp-path=TMP_P..  Установить абсолютный путь временной директории веб-сервера.
    --root-dir=SRV_R..  Установить абсолютный путь рут директории веб-сервера.
    --alter-shell=AL..  Использовать альтернативный шелл ОС (к примеру, Python).
    --os-cmd=OS_CMD     Выполнить отдельную команду операционной системы.
    --os=OS             Force back-end operating system to this value.
    --tamper=TAMPER     Использовать данный скрипт(ы) для всовывания данных инъекции.

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

    --level=LEVEL       Уровень выполняемого тестирования (1-3, По умолчанию: 1).

  Разное:
    --dependencies      Проверка на сторонние (не ключевые) зависимости.
    --skip-waf          Пропустить эврестическое обнаружение защиты WAF/IPS/IDS.

Руководство по Commix

Страница man отсутствует.

Примеры запуска Commix

Тестирование передаваемого пользователем параметра pingme страницы по адресу http://localhost/pingme/ (-u http://localhost/pingme/?pingme=hackware.ru):

sudo commix -u http://localhost/pingme/?pingme=hackware.ru

Тестирование передаваемого методом POST параметра name (--data='name=-s') страницы http://localhost/dvws/vulnerabilities/cmdi/client.php (-u http://localhost/dvws/vulnerabilities/cmdi/client.php):

sudo commix -u http://localhost/dvws/vulnerabilities/cmdi/client.php --data='name=-s'

Примеры использования на различных уязвимых средах вы можете посмотреть по ссылке: https://github.com/stasinopoulos/commix/wiki/Usage-Examples

Установка Commix

Программа предустановлена в Kali Linux.

Установка в BlackArch

Программа предустановлена в BlackArch.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Commix

Это утилита командной строки.

Инструкции по Commix

Близкие программы: