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
ats-esi-unix-recvport — Apache Traffic Server 10.2.0 - Alta - Remoto - SSRF - ESI unix recvport | Kitploit
Ferramentas/GitHubGitHub/abraxas/ats-esi-unix-recvport
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebLabs e Prática
GitHubabraxas/ats-esi-unix-recvport

ats-esi-unix-recvport

Apache Traffic Server 10.2.0 - Alta - Remoto - SSRF - ESI unix recvport

Ver Repositório
há 14 diasAinda 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

Abraxas Labs - ats-esi-unix-recvport

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-esi-unix-recvport

ats-esi-unix-recvport

Classe: SSRF Alcance: Remoto

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

O PluginVC FetchSM do ESI reporta a porta de destino 0. O remap trata a porta 0 como UDS e reescreve o esquema do include para http+unix, de modo que ele corresponda às regras map_with_recv_port http+unix:// destinadas apenas a listeners UDS. Um esi:include de aparência pública para http://www.example.com/secret então atinge a origem do unix-socket. O GET /secret via TCP permanece no mapa TCP. O CONTROL sem o mapa unix recv-port faz inline da origem TCP (sem testemunha). O esquema de include http+unix em si é BAD_SCHEME no validador de julho de 2026.

O típico esi.so mais um map não atinge isso. Requer ESI mais pelo menos uma linha map_with_recv_port http+unix://. Padrões remap_required: 1 e number_of_redirections: 0.

Isto não é o CVE-2026-58178 (literais privados, file://, comentários aninhados, limite de profundidade fechado).

IDainda sem CVE
ClasseSSRF
AlcanceRemoto (HTTP não autenticado para um vhost ESI)
CWECWE-918
CVSSAlto: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
ProdutoApache Traffic Server
Afetado10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) ESI mais map_with_recv_port http+unix
Autenticaçãonenhuma. Plugin ESI. Mapa unix recv-port.
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1:18750 / 18751. Imagem ats-10.2.0-lab:local.

Fixe a tag 10.2.0, commit b1df7334b39a878971c376da849e8da4984918b6. Imagem compilada a partir do código-fonte.

O que um atacante pode fazer

HTTP não autenticado para um vhost ESI cujo remap tenha map_with_recv_port http+unix://. Inclua um src que o atacante possa influenciar (origem comprometida, ESI armazenado ou $(HTTP_HEADER{...})).

MétodoSinkPrivilégio
GET /page não autenticado com ESI include http://www.example.com/secretA porta de destino 0 do FetchSM corresponde a map_with_recv_port http+unix://www.example.com/ (RemapProcessor.cc:87-114, PluginVC.h:274-278)Recon / SSRF (comprovado em lab): o corpo do cliente fez inline de ATS-ESI-UNIX-RECVPORT-WITNESS a partir da origem UDS.
O mesmoescrita de primeira ordem / shellIntegridade: nenhuma. Nenhuma escrita de primeira ordem. Nenhum shell.
CONTROL GET /page sem mapa unix recv-portinclude da origem TCPFechado (comprovado em lab): faz inline de TCP-ORIGIN-OK, sem testemunha.
Cliente TCP GET /secret no vhost pocmapa TCPFechado (comprovado em lab): TCP-ORIGIN-OK, sem testemunha.

Comprovado em lab vs inferido: controle sem testemunha, página poc com testemunha, /secret TCP poc sem testemunha: lab. Influenciar src via ESI armazenado ou expansão de cabeçalho é o modelo de confiança ESI documentado, não re-comprovado aqui. O include do lab é um http://www.example.com/secret estático em /page.

Requer: plugin ESI mais map_with_recv_port http+unix. Padrões remap_required: 1. number_of_redirections: 0.

Superfície adjacente que permanece fechada

SuperfícieLab
CONTROL sem mapa de recv-port unixcontrol-no-witness=yes, inline TCP-ORIGIN-OK
Cliente TCP GET /secretpoc-tcp-secret-no-witness=yes
Esquema de include http+unixvalidador BAD_SCHEME
file://, literais privados, comentários aninhados, limite de profundidadeCVE-2026-58178 fechado
Denylist de hostname sem DNSdocumentado; inoperante em remap_required: 1
Falha em remap_required: 1404
number_of_redirections: 0Seguimento de Location desativado

Como eu encontrei

PluginVCCore zera passive_addr_struct. PluginHttpConnectInternal define apenas active_addr (o cliente original). O HttpSM do FetchSM é executado no PluginVC passivo. attach_client_session copia netvc->get_local_addr() para client_info.dst_addr. O endereço local passivo é a struct zerada. host_order_port() é 0.

Consulta de remap (RemapProcessor.cc:87-114): porta 0 significa UDS. O esquema é reescrito de http para http+unix, de modo que map_with_recv_port http+unix:// corresponde. O teste unitário test_RemapRules.cc:237-240 documenta isso.

O validador de julho rejeita o esquema de include http+unix. Ele não rejeita um include http:// cujo salto de remap interno se tornou unix porque a porta de destino era 0.

Caminhos errados: tratar o típico esi.so + um map como este resíduo (o CONTROL prova que não é); registrar a denylist de hostname sem DNS (documentado, inoperante em remap_required=1); afirmar que file:// ainda funciona; esperar que o TCP /secret siga o mapa unix.

Teatro: um reverse shell. O oráculo é uma testemunha inline da origem UDS, com o TCP /secret ainda em TCP.

Lab

python3 ats-esi-unix-recvport-Abraxas-Labs.py

ou

cd lab
./run.sh

Loopback poc 127.0.0.1:18750, controle 127.0.0.1:18751. Projeto Compose ats-esi-unix-recvport. Imagem ats-10.2.0-lab:local. Testemunha ATS-ESI-UNIX-RECVPORT-WITNESS. Última linha:

SUCCESS ats-esi-unix-recvport control-no-witness=yes poc-page-witness=yes poc-tcp-secret-no-witness=yes ATS-ESI-UNIX-RECVPORT-WITNESS

A correção

Não trate a porta de destino 0 do FetchSM PluginVC como uma correspondência de porta de recepção UDS. Mantenha map_with_recv_port http+unix:// para listeners UDS reais. Inclusões ESI de http://host/ devem permanecer no mapa TCP mesmo quando existir uma regra de porta de recepção http+unix para esse host.

Referências

Baixar ferramenta