Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ats-esi-unix-recvport — Apache Traffic Server 10.2.0 - Alta - Remoto - SSRF - ESI unix recvport | Kitploit
Strumenti/GitHubGitHub/abraxas/ats-esi-unix-recvport
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebLab e Pratica
GitHubabraxas/ats-esi-unix-recvport

ats-esi-unix-recvport

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

Vedi Repository
14 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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 Portata: Remota

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

Il PluginVC FetchSM di ESI riporta la porta di destinazione 0. Il remap tratta la porta 0 come UDS e riscrive lo schema dell'include in http+unix, così che corrisponda alle regole map_with_recv_port http+unix:// pensate solo per i listener UDS. Un esi:include dall'aspetto pubblico di http://www.example.com/secret colpisce quindi l'origine unix-socket. Il GET /secret TCP resta sulla mappa TCP. Il CONTROL senza la mappa unix recv-port inlina l'origine TCP (nessuna prova). Lo schema di include http+unix stesso è BAD_SCHEME nel validatore di luglio 2026.

Il tipico esi.so più una sola map non attiva questo comportamento. Serve ESI più almeno una riga map_with_recv_port http+unix://. Valori predefiniti remap_required: 1 e number_of_redirections: 0.

Non è CVE-2026-58178 (letterali privati, file://, commenti annidati, limite di profondità chiuso).

IDnessun CVE al momento
ClasseSSRF
PortataRemota (HTTP non autenticato verso un 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
ProdottoApache Traffic Server
Affetto10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) ESI più map_with_recv_port http+unix
Authnessuna. Plugin ESI. Mappa unix recv-port.
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:18750 / 18751. Immagine ats-10.2.0-lab:local.

Ho fissato il tag 10.2.0, commit b1df7334b39a878971c376da849e8da4984918b6. Immagine compilata dai sorgenti.

Cosa può fare un attaccante

HTTP non autenticato verso un vhost ESI il cui remap ha map_with_recv_port http+unix://. Include src che l'attaccante può influenzare (origine compromessa, ESI memorizzato o $(HTTP_HEADER{...})).

MetodoSinkPrivilegio
GET /page non autenticato con include ESI http://www.example.com/secretLa porta di destinazione 0 di FetchSM corrisponde a map_with_recv_port http+unix://www.example.com/ (RemapProcessor.cc:87-114, PluginVC.h:274-278)Ricognizione / SSRF (dimostrato in lab): il corpo del client ha inlinato ATS-ESI-UNIX-RECVPORT-WITNESS dall'origine UDS.
Idemscrittura di primo ordine / shellIntegrità: nessuna. Nessuna scrittura di primo ordine. Nessuna shell.
CONTROL GET /page senza mappa unix recv-portInclude dell'origine TCPChiuso (dimostrato in lab): inlina TCP-ORIGIN-OK, nessuna prova.
Client TCP GET /secret sul vhost pocMappa TCPChiuso (dimostrato in lab): TCP-ORIGIN-OK, nessuna prova.

Dimostrato in lab vs dedotto: control senza prova, pagina poc con prova, /secret TCP poc senza prova: lab. Influenzare src tramite ESI memorizzato o espansione di header è il modello di fiducia ESI documentato, non ri-dimostrato qui. L'include del lab è un http://www.example.com/secret statico su /page.

Richiede: plugin ESI più map_with_recv_port http+unix. Predefiniti remap_required: 1. number_of_redirections: 0.

Superficie adiacente che resta chiusa

SuperficieLab
CONTROL senza mappa recv-port unixcontrol-no-witness=yes, inline TCP-ORIGIN-OK
Client TCP GET /secretpoc-tcp-secret-no-witness=yes
Includi schema http+unixvalidatore BAD_SCHEME
file://, letterali privati, commenti annidati, limite di profonditàCVE-2026-58178 chiusa
Denylist hostname senza DNSdocumentato; inattivo con remap_required: 1
Mancata corrispondenza remap_required: 1404
number_of_redirections: 0Segui Location disattivato

Come l'ho trovato

PluginVCCore azzera passive_addr_struct. PluginHttpConnectInternal imposta solo active_addr (il client originale). L'HttpSM di FetchSM viene eseguito sul PluginVC passivo. attach_client_session copia netvc->get_local_addr() in client_info.dst_addr. L'indirizzo locale passivo è la struct azzerata. host_order_port() è 0.

Ricerca remap (RemapProcessor.cc:87-114): la porta 0 indica UDS. Lo schema viene riscritto da http a http+unix così che map_with_recv_port http+unix:// corrisponda. Il test unitario test_RemapRules.cc:237-240 lo documenta.

Il validatore di luglio rifiuta lo schema di inclusione http+unix. Non rifiuta un'inclusione http:// il cui hop di remap interno è diventato unix perché la porta di destinazione era 0.

Vicoli ciechi: trattare il tipico esi.so + una map come questo residuo (il CONTROL dimostra che non lo è); segnalare la denylist hostname senza DNS (documentato, inattivo con remap_required=1); sostenere che file:// funzioni ancora; aspettarsi che il TCP /secret segua la mappa unix.

Teatro: una reverse shell. L'oracolo è un witness inline dall'origine UDS, con il TCP /secret che resta TCP.

Lab

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

o

cd lab
./run.sh

Loopback poc 127.0.0.1:18750, control 127.0.0.1:18751. Progetto Compose ats-esi-unix-recvport. Immagine ats-10.2.0-lab:local. Witness ATS-ESI-UNIX-RECVPORT-WITNESS. Ultima riga:

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

La correzione

Non trattare la porta di destinazione 0 di FetchSM PluginVC come una corrispondenza della porta di ricezione UDS. Mantieni map_with_recv_port http+unix:// per i veri listener UDS. Le inclusioni ESI di http://host/ devono rimanere sulla mappa TCP anche quando esiste una regola di porta di ricezione http+unix per quell'host.

Riferimenti

Scarica lo strumento