Как подчинить белку. Учимся эксплуатировать новую уязвимость в почтовике SquirrelMail - «Новости»
В «Параметры» Windows 11 перенесли некоторые новые функции из «Панели управления» - «Новости мира Интернет»
В «Параметры» Windows 11 перенесли некоторые новые функции из «Панели управления» - «Новости мира Интернет»
Samsung решила возродить сверхбыстрые SSD с памятью Z-NAND / ServerNews - «Новости сети»
Samsung решила возродить сверхбыстрые SSD с памятью Z-NAND / ServerNews - «Новости сети»
В сентябре оператор связи AOL прекратит предоставлять коммутируемый доступ в интернет - «Новости сети»
В сентябре оператор связи AOL прекратит предоставлять коммутируемый доступ в интернет - «Новости сети»
Предложение, от которого можно отказаться: критики вынесли вердикт Mafia: The Old Country - «Новости сети»
Предложение, от которого можно отказаться: критики вынесли вердикт Mafia: The Old Country - «Новости сети»
OpenAI представила GPT-5 — лучшую ИИ-модель в мире, и она доступна бесплатно - «Новости сети»
OpenAI представила GPT-5 — лучшую ИИ-модель в мире, и она доступна бесплатно - «Новости сети»
Пользователи Windows 11 пожаловались на навязчивую неотключаемую рекламу OneDrive в «Пуске» - «Новости сети»
Пользователи Windows 11 пожаловались на навязчивую неотключаемую рекламу OneDrive в «Пуске» - «Новости сети»
Microsoft внедрила GPT-5 в Copilot и запустила «умный режим» для всех пользователей - «Новости сети»
Microsoft внедрила GPT-5 в Copilot и запустила «умный режим» для всех пользователей - «Новости сети»
Sony не откажется от смартфонов Xperia — они «очень важны» - «Новости сети»
Sony не откажется от смартфонов Xperia — они «очень важны» - «Новости сети»
«Надеемся, вам нравится боль»: разработчики Baldur’s Gate 3 рассказали о необычных достижениях игроков за два года с релиза - «Новости сети»
«Надеемся, вам нравится боль»: разработчики Baldur’s Gate 3 рассказали о необычных достижениях игроков за два года с релиза - «Новости сети»
Стартап Bolt Graphics объявил о разгроме GeForce RTX 5090 в трассировке лучей, но есть нюансы - «Новости сети»
Стартап Bolt Graphics объявил о разгроме GeForce RTX 5090 в трассировке лучей, но есть нюансы - «Новости сети»
Новости мира Интернет » Новости » Как подчинить белку. Учимся эксплуатировать новую уязвимость в почтовике SquirrelMail - «Новости»

Содержание статьи

  • Детали
  • Чтение произвольных файлов
  • Выводы
В почтовом?сервере SquirrelMail найдена очередная уязвимость, и, хоть баг довольно прост, импакт от него крайне неприятный: любой пользователь может читать или удалять произвольные файлы в системе. Но досаднее всего для владельцев SquirrelMail, что прошел год с момента находки уязвимости, а разработчики так ее и не запатчили. Давай посмотрим, откуда она берется и как ее эксплуатировать.

Почти год назад я писал о другой уязвимости SquirrelMail — тогда речь шла об RCE, а проблема?была в некорректной фильтрации параметров, которые отправляются бинарнику sendmail. Через месяц после этого, в мае 2017 года, исследователь из TROOPERS18 Флориан Груноу (Florian Grunow) обнаружил еще одну критическую уязвимость в этом же продукте. На сей раз проблема закралась в функцию прикрепления?файлов к сообщению, а успешная эксплуатация позволяет атакующему читать файлы на целевой системе.


Груноу целый год не публиковал информацию о найденной уязвимости, ожидая, пока ее закроют. Однако разработчики за все это время?не удосужились ему ответить. Терпение у исследователя кончилось, и он выложил информацию в публичный доступ.


Как тестировать уязвимость


Перво-наперво поднимем стенд. Почтовые сервисы — это такой тип приложений, развертывание которых дает тебе как минимум +3 к навыкам администрирования. Тут много подводных камней, и?без погружения в конфиги не обойтись. Хорошо хоть старый добрый Docker может выручить. Если не хочешь возиться с настройкой, то качай готовый контейнер из моего репозитория и переходи к следующему абзацу.


Запускаем докер и устанавливаем необходимый?набор сервисов.


docker run -ti -p80:80 --rm --name=squirrel --hostname=squirrel debian /bin/bash
apt-get update && apt-get install -y sendmail wget nano apache2 dovecot-core dovecot-imapd php
[/code]

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


install -d /usr/local/src/downloads
cd /usr/local/src/downloads
wget http://prdownloads.sourceforge.net/squirrelmail/squirrelmail-webmail-1.4.22.tar.gz
mkdir /usr/local/squirrelmail
cd /usr/local/squirrelmail
mkdir data temp attach
chown www-dаta:www-data data temp attach
tar xvzf /usr/local/src/downloads/squirrelmail-webmail-1.4.22.tar.gz
mv squirrelmail-webmail-1.4.22 www
[/code]

Теперь нужно создать конфигурационный файл для Squirrell. Для этих целей существует конфигуратор.


www/configure
[/code]

Или по старинке?можешь вручную отредактировать дефолтный конфигурационный файл www/config/config_default.php.


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


Data Directory: /var/local/squirrelmail/data/.
Attachment Directory: /var/local/squirrelmail/attach/.

Меняем их в?соответствии с реальным положением вещей.


sed "s/domain = 'example.com'/domain = 'visualhack'/; s#/var/local/squirrelmail/#/usr/local/squirrelmail/#g" /usr/local/squirrelmail/www/config/config_default.php > /usr/local/squirrelmail/www/config/config.php
[/code]

Приближаемся к финишной прямой — настройке почтовых сервисов. Указываем, какие протоколы будем использовать.


echo "protocols = imap" > /etc/dovecot/dovecot.conf
[/code]

Разрешаем авторизацию по файлу паролей.


echo !include auth-passwdfile.conf.ext > /etc/dovecot/conf.d/10-auth.conf
[/code]

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


useradd -G mail attacker
install -d -g attacker -o attacker /home/attacker
cat /etc/passwd|grep attacker|sed 's/x/{PLAINpassw/; s/.$//' > /etc/dovecot/users
[/code]

Не забываем прописать в конфиге Apache алиас для доступа к дистрибутиву SquirrelMail и доступ на чтение папки, в которой он находится.


cat /etc/apache2/apache2.conf EOL
Alias /squirrelmail /usr/local/squirrelmail/www

Options Indexes FollowSymLinks
AllowOverride None
Require all granted

EOL
[/code]

Вот вроде бы и все приготовления. Теперь запускаем требуемые сервисы и переходим?непосредственно к изучению уязвимости.


service dovecot start && service apache2 start && service sendmail start
[/code]

Форма авторизации SquirrelMail

Детали


Проблема кроется в функции создания нового письма, так что с этого и начнем. Авторизуемся и откроем скрипт compose.php.



Страница создания нового письма в SquirrelMail

Приложение SquirrelMail написано на PHP, поэтому никаких проблем с чтением исходников не возникает. За вывод всей формы отвечает метод showInputForm.


Источник новостиgoogle.com
Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

Содержание статьи Детали Чтение произвольных файлов Выводы В почтовом?сервере SquirrelMail найдена очередная уязвимость, и, хоть баг довольно прост, импакт от него крайне неприятный: любой пользователь может читать или удалять произвольные файлы в системе. Но досаднее всего для владельцев SquirrelMail, что прошел год с момента находки уязвимости, а разработчики так ее и не запатчили. Давай посмотрим, откуда она берется и как ее эксплуатировать. Почти год назад я писал о другой уязвимости SquirrelMail — тогда речь шла об RCE, а проблема?была в некорректной фильтрации параметров, которые отправляются бинарнику sendmail. Через месяц после этого, в мае 2017 года, исследователь из TROOPERS18 Флориан Груноу (Florian Grunow) обнаружил еще одну критическую уязвимость в этом же продукте. На сей раз проблема закралась в функцию прикрепления?файлов к сообщению, а успешная эксплуатация позволяет атакующему читать файлы на целевой системе. Груноу целый год не публиковал информацию о найденной уязвимости, ожидая, пока ее закроют. Однако разработчики за все это время?не удосужились ему ответить. Терпение у исследователя кончилось, и он выложил информацию в публичный доступ. Как тестировать уязвимость Перво-наперво поднимем стенд. Почтовые сервисы — это такой тип приложений, развертывание которых дает тебе как минимум 3 к навыкам администрирования. Тут много подводных камней, и?без погружения в конфиги не обойтись. Хорошо хоть старый добрый Docker может выручить. Если не хочешь возиться с настройкой, то качай готовый контейнер из моего репозитория и переходи к следующему абзацу. Запускаем докер и устанавливаем необходимый?набор сервисов. Скачиваем один из последних дистрибутивов SquirrelMail. Ссылка легко может быть недействительной, так как разработчики постоянно обновляют сборки, удаляя при этом старые архивы. Теперь нужно создать конфигурационный файл для Squirrell. Для этих целей существует конфигуратор. Или по старинке?можешь вручную отредактировать дефолтный конфигурационный файл www/config/config_default.php. Для нас главное, что в нем нужно указать, — это пути, по которым будут располагаться временные файлы, в том числе прикрепляемые к письмам. По умолчанию пути такие: Data Directory: /var/local/squirrelmail/data/. Attachment Directory: /var/local/squirrelmail/attach/. Меняем их в?соответствии с реальным положением вещей. Приближаемся к финишной прямой — настройке почтовых сервисов. Указываем, какие протоколы будем использовать. Разрешаем авторизацию по файлу паролей. Теперь добавим юзера в dovecot, так как для успешной эксплуатации уязвимости нужно быть авторизованным?в системе. Не забываем прописать в конфиге Apache алиас для доступа к дистрибутиву SquirrelMail и доступ на чтение папки, в которой он находится. Вот вроде бы и все приготовления. Теперь запускаем требуемые сервисы и переходим?непосредственно к изучению уязвимости. Форма авторизации SquirrelMail Детали Проблема кроется в функции создания нового письма, так что с этого и начнем. Авторизуемся и откроем скрипт compose.php. Страница создания нового письма в SquirrelMail Приложение SquirrelMail написано на PHP, поэтому никаких проблем с чтением исходников не возникает. За вывод всей формы отвечает метод showInputForm. Источник новости - google.com

Смотрите также

А что там на главной? )))



Комментарии )))